Bí Quyết Bảo Vệ Mạng: Ngăn Chặn Tấn Công DoS Từ Máy Chủ DHCP
Bạn có thể làm cho máy chủ DHCP không thể cấp địa chỉ IP cho thiết bị khác bằng cách triển khai một kiểu tấn công DoS, được biết đến với tên "tấn công làm cạn kiệt DHCP". Mình sẽ giải thích cho bạn cách thực hiện cuộc tấn công này và các phương pháp để bảo vệ mạng của bạn khỏi mối đe dọa này.
Tấn công DoS vào máy chủ DHCP là một trong những phương pháp gây gián đoạn hoạt động mạng. DHCP là giao thức giúp tự động cấu hình thông số mạng cho các thiết bị như máy tính, điện thoại, hoặc máy in, bao gồm các thông tin như địa chỉ IP, subnet mask, default gateway, DNS,...
Vậy điều gì xảy ra nếu có ai đó làm gián đoạn quy trình này? Kết quả là các thiết bị sẽ không thể kết nối với mạng nội bộ hoặc internet. Đây chính là một loại tấn công từ chối dịch vụ (DoS) được gọi là "tấn công cạn kiệt DHCP".
Kiểu tấn công này dựa trên việc mỗi máy chủ DHCP chỉ có một lượng địa chỉ IP giới hạn để cấp phát cho các thiết bị trong mạng. Chẳng hạn, mạng con 192.168.0.0/24 có thể cung cấp tối đa 253 địa chỉ IP. Kẻ tấn công sẽ lợi dụng điều này bằng cách gửi yêu cầu sử dụng tất cả địa chỉ IP có sẵn, thông qua việc tạo ra nhiều địa chỉ MAC giả mạo. Khi máy chủ DHCP không còn địa chỉ IP nào để cấp phát, các thiết bị mới sẽ không thể kết nối mạng.
Không chỉ dừng lại ở đó, cuộc tấn công này còn mở ra cơ hội cho kẻ tấn công kiểm soát lưu lượng mạng. Sau khi "tắt" máy chủ DHCP, kẻ tấn công có thể triển khai máy chủ DHCP giả mạo của mình, cấp phát địa chỉ IP và các thông số mạng khác, như máy chủ DNS giả, để chuyển hướng hoặc theo dõi người dùng. Đây thực sự là một phương thức tấn công rất nguy hiểm và tinh vi.
Mô phỏng cuộc tấn công
Mình sẽ hướng dẫn bạn cách mô phỏng cuộc tấn công này và thấy rằng việc thực hiện nó không quá phức tạp. Để thử nghiệm, mình sẽ sử dụng một bộ định tuyến của Cisco cùng với một máy tính xách tay chạy bản phân phối KALI Linux. Công cụ mà mình sẽ dùng để thực hiện cuộc tấn công là Yersinia.
Cấu hình cơ bản của máy chủ DHCP trên bộ định tuyến CISCO
Sau khi kết nối thiết bị đầu tiên vào mạng, mình đã thấy máy chủ DHCP cấp phát một địa chỉ IP cho thiết bị đó. Điều này chứng tỏ máy chủ DHCP đang hoạt động bình thường và có khả năng cấp phát địa chỉ IP cho các thiết bị mới kết nối. Lệnh kiểm tra trên router Cisco:
Sau khi chạy lệnh này, bạn sẽ thấy thông tin về thiết bị đầu tiên đã được cấp phát địa chỉ IP, ví dụ:
Đây là dấu hiệu cho thấy DHCP hoạt động đúng, tuy nhiên, cuộc tấn công "tấn công đói DHCP" sẽ làm cho máy chủ không còn địa chỉ IP nào để cung cấp cho các thiết bị khác sau khi quá trình tấn công được thực hiện.
Khi kết nối thiết bị đầu tiên, ngoài việc thấy địa chỉ IP được chỉ định, mình cũng nhận thấy một số lượng nhỏ các yêu cầu DHCP gửi đến bộ định tuyến. Điều này là bình thường trong hoạt động của mạng, khi các thiết bị trong mạng tự động gửi yêu cầu để nhận cấu hình IP từ máy chủ DHCP.
Yêu cầu DHCP thông thường bao gồm các bước sau:
DHCP Discover: Thiết bị gửi gói tin broadcast để tìm kiếm máy chủ DHCP. DHCP Offer: Máy chủ DHCP phản hồi lại với một gói tin chứa địa chỉ IP khả dụng. DHCP Request: Thiết bị gửi yêu cầu chính thức đến máy chủ để lấy địa chỉ IP được cung cấp. DHCP Acknowledge: Máy chủ DHCP xác nhận và cấp phát địa chỉ IP cho thiết bị. Những yêu cầu này thường chỉ xuất hiện trong khoảng thời gian ngắn và không gây ra bất kỳ vấn đề gì cho hệ thống mạng. Tuy nhiên, trong trường hợp cuộc tấn công "tấn công đói DHCP", lượng yêu cầu sẽ tăng đột biến với rất nhiều địa chỉ MAC giả mạo, làm cạn kiệt tài nguyên của máy chủ DHCP, dẫn đến việc các thiết bị khác không nhận được địa chỉ IP.
Và chỉ một IP được chỉ định
Bắt đầu cuộc tấn công
Mình sẽ sử dụng công cụ Yersinia cho cuộc tấn công này. Mặc dù bạn có thể thực hiện qua giao diện dòng lệnh (CLI), nhưng cá nhân mình thấy sử dụng giao diện đồ họa (GUI) thuận tiện hơn trong trường hợp này. Bạn có thể mở giao diện đồ họa bằng cách sử dụng lệnh sau:
Hoặc bạn cũng có thể khởi động cuộc tấn công bằng vài cú click chuột thông qua giao diện đồ hoạ.
Bắt đầu: Khởi động cuộc tấn công -> gửi gói KHÁM PHÁ
Dừng: Liệt kê các cuộc tấn công -> Hủy cuộc tấn công
Sau một khoảng thời gian, máy chủ DHCP sẽ nhận được nhiều yêu cầu vượt quá khả năng xử lý của nó. Đây chính là biểu hiện của một cuộc tấn công DoS.
Như đã đề cập, phương pháp tấn công này khá đơn giản nhưng lại mang tính chất nguy hiểm cao. Tuy nhiên, có nhiều biện pháp để ngăn chặn nó, chẳng hạn như giới hạn số lượng địa chỉ MAC được phép qua mỗi cổng (bảo mật cổng). Ngoài ra, để ngăn chặn kẻ tấn công thiết lập máy chủ DHCP riêng, chúng ta có thể triển khai tính năng DHCP snooping.
All rights reserved