Tấn công trên DHCP | 2 kịch bản và cách phòng chống

Tấn công DHCP là một tấn công mạng mà kẻ tấn công sẽ tác động vào các lỗ hổng trong giao thức DHCP. Mục tiêu của các tấn công này thường là chiếm đoạt các địa chỉ IP, gây ra sự cố trong mạng. Sau đây hãy cùng mình tìm hiểu các dạng tấn công trên DHCP phổ biến và cách phòng chống nhé.

Xem thêm:

hướng dẫn cài đặt Wireshark

cách cài đặt FTP Server trên Windows Server 2022

I. DHCP là gì?

DHCP (Dynamic Host Configuration Protocol) giao thức cấu hình động máy chủ. Giao thứ tự động cung cấp, gán địa chỉ IP, cổng mặc định và các thông số mạng khác cho các thiết bị client.

DHCP giúp tránh xảy ra trường hợp hai máy tính khác nhau lại có cùng địa chỉ IP.

II. Các thuật ngữ DHCP

  • DHCP server: Có chức năng trả về các thông tin cần thiết cho máy client khi có yêu cầu.
  • DHCP Client: Là một thiết bị nối vào mạng và sử dụng DHCP để lấy các thông tin cấu hình như là địa chỉ mạng, địa chỉ máy chủ DNS.
  • Binding (kết nối): Là tập hợp các thông tin cấu hình trong đó có ít nhất một địa chỉ IP, được sử dụng bởi một DHCP Client và các kết nối được quản lý bởi DHCP.
  • BOOTP relay agents (Thiết bị chuyển tiếp BOOTP): Là một máy trạm hoặc router có khả năng chuyển các thông điệp DHCP giữa DHCP server và DHCP Client.
  • DHCP Lease: Là khoảng thời gian giữ nguyên địa chỉ IP trước khi nó thay đổi. Mỗi địa chỉ IP sẽ có một vòng đời nhất định và khi hết thời hạn nó sẽ được cấp một địa chỉ IP mới.

III. Các thông điệp giao tiếp DHCP Client và DHCP Server

  • DHCP Discover: Là một gói tin được gửi đến DHCP server của một client.
  • DHCP Offer: Được máy chủ DHCP gửi phản hồi cho Client sau khi nhận DHCP Discover. Đây là gói chứa địa chỉ IP, cấu hình TCP/IP bổ sung.
  • DHCP Request: Gói tin của Client phản hồi với Server về sự chấp nhận địa chỉ IP sau khi nhận DHCP Offer.
  • DHCP Acknowleadge: Đây là gói tin mà máy chủ DHCP phản hồi lại với Client. Mục đích là để xác minh đã chấp nhận địa chỉ IP DHCP Request.
  • DHCP Nak: Nếu Client không còn sử dụng địa chỉ IP do nó đã hết hạn hoặc đã chuyển sang một người dung mới. Thì lúc này DHCP sẽ gửi một gói tin DHCP Nak. Và nó chính là gói tin được gửi từ DHCP server đến Client khi nó nhận được yêu cầu từ một địa chỉ IP không có giá trị theo các Scope mà nó được định cấu hình.
  • DHCP Decline: Trường hợp DHCP Client quyết định tham số thông tin được đề nghị nào không có giá trị nó sẽ gửi một gói DHCP Decline đến các server và client phải bắt đầu quá trình thuê bao lại.
  • DHCP Release: Đây là một gói tin được DHCP Client gửi đến một server để giải phóng địa chỉ IP và có thể xóa bất kỳ IP đang còn tồn tại.

IV. Cách thức hoạt động của DHCP

  1. Khi một thiết bị cần được kết nối vào hệ thống mạng, nó gửi yêu cầu tới DHCP Server.
  2. DHCP Server gán cho thiết bị một địa chỉ IP chưa được sử dụng trong hệ thống.
  3. Thiết bị xác nhận địa chỉ IP vừa nhận được.
  4. DHCP Server ghi lại thông tin về địa chỉ IP và thiết bị đã sử dụng nó trong bảng quản lý.
  5. Thiết bị sử dụng địa chỉ IP để truy cập Internet hoặc mạng cục bộ.

V. Ưu và nhược điểm của DHCP

– Ưu điểm của DHCP:

  • Cấu hình tự động giúp kết nối mạng nhanh chóng.
  • Tránh bị trùng lặp IP.
  • Quản lý thiết bị địa chỉ IP và các tham số của TCP/IP trên một giao diện giúp cho việc quản lý và theo dõi dễ dàng.
  • Thay đổi cấu hình và thông số nhanh chóng.

– Nhược điểm của DHCP:

  • Nếu DHCP Server gặp sự cố hoặc bị lỗi, toàn bộ thiết bị trong mạng sẽ không thể kết nối đến mạng.
  • Các thông tin về địa chỉ IP và thiết bị đang sử dụng được lưu trữ trên DHCP Server. Nếu DHCP Server bị tấn công hoặc xâm nhập, thông tin này có thể bị lộ và gây nguy cơ cho an toàn thông tin.
  • Không phù hợp với các thiết bị cố định như máy in, server file.

VI. Các dạng tấn công trên DHCP

1. DHCP Spoofing

1.1. Giới thiệu về DHCP Spoofing

DHCP spoofing là kỹ thuật giả mạo DHCP Server trong mạng LAN. Kẻ tấn công có thể cài đặt một phần mềm DHCP trên máy tính của hacker và cấp phát địa chỉ IP cho máy nạn nhân với các thông số giả mạo như default gateway, DNS. Từ đó, máy tính nạn nhân sẽ bị chuyển hướng truy cập theo ý đồ của kẻ tấn công.

Máy nạn nhân sau khi nhận thông tin về địa chỉ IP từ DHCP Server giả tạo. Khi truy cập một website, ví dụ của ngân hàng, facebook,…. có thể sẽ bị chuyển hướng truy cập tới Server do kẻ tấn công kiểm soát. Trên Server này, kẻ tấn công có thể tạo những website thật, nhằm đánh lừa nạn nhân nhập tài khoản, mật khẩu, từ đó đánh cắp những thông tin này.

1.2. Kịch bản tấn công

Bước 1: Máy tính của kẻ tấn công sẽ vét cạn toàn bộ Pool IP của máy DHCP Server bằng cách liên tục gửi các yêu cầu xin cấp phát IP (DHCP Discover) tới máy DHCP Server. Mỗi yêu cầu DHCP Discover này đều chứa địa chỉ MAC giả mạo nhằm đánh lừa DHCP Server rằng đó là lời yêu cầu từ các máy tính khác nhau. Vì Pool IP cấp phát trên DHCP Server là hữu hạn nên sau khi đã cấp phát hết IP, DHCP Server không thể phục vụ các yêu cầu xin IP từ máy Client.

Bước 2: Kẻ tấn công cài đặt phần mềm DHCP Server trên máy của hacker và cấp phát thông số IP giả mạo, điều hướng truy cập nạn nhân đến các Server do hắn kiểm soát nhằm đánh lừa và đánh cắp thông tin.

2.3 Mô phỏng tấn cônG

Bước 1: Yêu cầu DHCP:

Kẻ tấn công sẽ tạo ra một DHCP Server giả và sẽ trả lời lại cho Client gói DHCP Offer trước DHCP Server thật. Với hành động này, hacker có thể lấy được các thông tin và định hướng đường đi cho các thông tin đó. Sau đó, hacker sẽ chuyển thông tin đến đích mà Client muốn hoặc đích mà hacker muốn, mà Client không biết rằng thông tin liên lạc của mình là luôn luôn đi qua Attacker PC và bị nghe lén.

Bước 2: Cấu hình địa chỉ IP của Client:

Thiết bị giả mạo DHCP (kẻ tấn công) nằm trong mạng LAN. Hacker có khả năng trả lời các yêu cầu của gói DHCP Discover của Client trước khi yêu cầu của họ có thể tiếp cận với DHCP Server thực. Server hợp pháp cũng có thể trả lời, nhưng nếu thiết bị giả mạo nằm trên cùng một phân đoạn với Client, câu trả lời của Hacker sẽ đến trước. DHCP Offer của hacker sẽ cung cấp địa chỉ IP, default gateway và DNS server.

Bước 3: Tất cả dữ liệu sẽ đi qua PC của hacker đến đích

Trong trường hợp này, PC của hacker đóng vai trò là một gateway. Các thông tin từ Client được chuyển đi sẽ đi qua PC của hacker trước khi đến với đích mà nó mong muốn. Việc này được gọi là một cuộc tấn công trung gian, và nó có thể hoàn toàn không bị phát hiện khi hacker chặn luồng dữ liệu qua mạng nhưng không ngăn chặn lưu lượng mạng.

2. DHCP Flooding

2.1. Giới thiệu về DHCP Flooding

DHCP Flooding là kỹ thuật tấn công nhằm khiến DHCP Server quá tải. Từ đó, máy chủ không còn khả năng đáp ứng yêu cầu từ máy người dùng. Tại đây, kẻ tấn công có thể lựa chọn việc chiếm toàn bộ dải IP hay chỉ đưa ra số lượng gói tin yêu cầu cấp phát IP đủ nhiều để server trở nên chậm chạp hơn server giả.

Sau khi thực hiện thành công quá trình Flooding. Hacker sẽ chuyển hướng nạn nhân đến kết nối máy chủ giả mà hacker tạo ra.

2.2 Giới thiệu về Yersinia kali linux

Yersinia là công cụ Network được sử dụng để khai thác các lỗ hổng trên hệ điều hành Linux. Nó lợi dụng 1 số điểm yếu trong các giao thức mạng khác nhau để tấn công và khai thác các lỗ hổng của các giao thức Layer 2. Yersinia thường được sử dụng để tấn công vào các thiết bị lớp 2 như Switch, DHCP server, Spanning Tree…

Hiện tại Yersinia hỗ trợ các tấn công vào các giao thức layer 2 sau:

  • Dynamic Host Configuration Protocol (DHCP)
  • Spanning Tree Protocol (STP)
  • Cisco Discovery Protocol (CDP)
  • Dynamic Trunking Protocol (DTP)
  • Hot Standby Router Protocol (HSRP)
  • IEEE 802.1Q
  • IEEE 802.1X
  • Inter-Switch Link Protocol (ISL)
  • VLAN Trunking Protocol (VTP)

2.2 Mô phỏng tấn công

  • Máy ảo Kali Linux
  • Window Server 2012R2 thuộc subnet 10.123.10.0/24
  • Máy Client
  • Kẻ tấn công tham gia vào hệ thống mạng_cùng VLAN với DHCP Server.
  • Kẻ tấn công liên tục gửi tới DHCP Server các gói tin yêu cầu xin cấp địa chỉ IP với các địa chỉ MAC nguồn không có thực (gói Discover).
  • Khi dải IP có sẵn trên DHCP Server cạn kiệt vì bị nó thuê hết, dẫn tới việc DHCP Server không còn địa chỉ IP nào để cấp cho các DHCP Client hợp pháp thuê. Từ đó, khiến dịch vụ bị ngưng trệ, các máy trạm khác không thể truy nhập vào hệ thống mạng.

Trường hợp tấn công này chỉ làm cho các máy tính không thể sử dụng dịch vụ DHCP, dẫn đến không vào được hệ thống mạng. Còn các máy trạm khác đã đăng nhập trước đó vẫn hoạt động bình thường.

Đây là kiểu tấn công từ chối dịch vụ DHCP dễ dàng nhất mà kẻ tấn công có thể thực hiện. Kẻ tấn công chỉ cần rất ít thời gian và băng thông là có thể thực hiện được cuộc tấn công này.

VII. Cách phòng chống tấn công trên DHCP

– Với kiểu tấn công DHCP Client bất hợp pháp:

Giải pháp bảo mật cho kiểu tấn công này có thể dùng Switch vì nó có khả năng bảo mật cao. Vì nó có thể giúp hạn chế số lượng địa chỉ MAC được dùng trên một cổng. Cách này giúp hạn chế việc trong cùng một khoảng thời gian và cùng một cổng có quá nhiều địa chỉ MAC được sử dụng.

– Với kiểu tấn công Man-in-the-middle:

Sử dụng các Switch có tính năng bảo mật DHCP Snooping cao. Với cách này sẽ hạn chế kết nối DHCP đến các cổng không đáng tin. Chỉ các cổng được cho phép thì mới được DHCP reponse hoạt động.

– Một số giải pháp khác để bảo mật DHCP server:

  • Bằng cách sử dụng hệ thống các file NTFS để lưu trữ dữ liệu.
  • Liên tục cập nhật các phần mềm trên hệ điều hành.
  • Quét virus thường xuyên.
  • Xóa và tắt các ứng dụng, phần mềm không đáng tin cậy.
  • Sử dụng firewall cho máy chủ DHCP.

Bài viết liên quan:

stored xss? Cách kiểm tra lỗ hổng và phòng tránh

dom-based xss? Xảy ra khi nào và ví dụ tấn công

cross site scripting là gì? Các dạng tấn công và phòng chống lỗi XSS

reflected xss? Kịch bản, tác hại và ví dụ

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em