Phần này mình sẽ giới thiệu về kỹ thuật ARP poisoning, thường được hacker sử dụng để ngụy trang thông tin trên mạng mục tiêu. Bằng cách sử dụng phương pháp này, kẻ tấn công có thể đánh cắp thông tin nhạy cảm, ngăn chặn truy cập mạng và trang web, và thực hiện các cuộc tấn công DoS và MITM bằng cách ngụy trang thông tin.
Tìm hiểu giao thức ARP
ARP là một giao thức TCP/IP phi trạng thái, được sử dụng để ánh xạ địa chỉ mạng IP thành địa chỉ MAC (địa chỉ phần cứng) được sử dụng bởi một giao thức tầng liên kết dữ liệu. Sử dụng giao thức này, người dùng có thể dễ dàng lấy được địa chỉ MAC của bất kỳ thiết bị nào trên mạng. Ngoài switch, các server cũng sử dụng giao thức ARP để lấy địa chỉ MAC.
ARP được sử dụng bởi server khi nó muốn gửi một gói tin đến một thiết bị khác, và gói tin gửi đi phải có địa chỉ MAC đích. Do đó, để viết địa chỉ MAC đích vào gói tin, server phải biết địa chỉ MAC của máy đích. Bản thân hệ điều hành cũng lưu trữ một bảng ARP, được tạo ra từ các phản hồi nhận được từ các yêu cầu ARP. Bảng này ánh xạ địa chỉ IP thành địa chỉ MAC tương ứng.
Quá trình lấy địa chỉ MAC bằng giao thức ARP diễn ra như sau:
- Máy gửi tạo ra một gói tin yêu cầu ARP chứa địa chỉ MAC nguồn, địa chỉ IP nguồn và địa chỉ IP đích sau đó gửi gói tin đó đến switch.
- Khi nhận được gói tin, switch đọc địa chỉ MAC nguồn và tìm kiếm địa chỉ này trong bảng CAM của nó.
- Switch cập nhật tất cả các entries mới trong bảng CAM. Nếu entries không được tìm thấy, switch thêm địa chỉ MAC và cổng đầu vào tương ứng vào bảng CAM của nó và broadcast gói tin ARP request vào mạng.
- Mỗi thiết bị trong mạng nhận gói tin ARP request và phát sóng và so sánh địa chỉ IP đích trong gói tin với địa chỉ IP của nó.
- Chỉ có máy nào có địa chỉ IP khớp với địa chỉ IP đích mới trả lời bằng một gói tin trả lời ARP.
- Thông điệp phản hồi ARP sau đó được đọc bởi switch, switch thêm entries vào bảng MAC của nó và chuyển tiếp thông điệp đến máy đích, tức là máy đã gửi yêu cầu ARP. Máy này cập nhật các entries địa chỉ IP và MAC của máy đích vào bảng ARP của nó.
![[CEH] Module 8 – Phần 4: Kỹ thuật ARP Poisoning 2 [CEH] Module 8 – Phần 4: Kỹ thuật ARP Poisoning 1](https://sinhviencntt.net/wp-content/uploads/2023/07/image-45.png)
Xét hai máy tính kết nối trong mạng, hostname, địa chỉ IP và địa chỉ MAC tương ứng của chúng như hình bên dưới:
![[CEH] Module 8 – Phần 4: Kỹ thuật ARP Poisoning 4 [CEH] Module 8 – Phần 4: Kỹ thuật ARP Poisoning 3](https://sinhviencntt.net/wp-content/uploads/2023/07/image-46.png)
Trước khi giao tiếp với máy B, máy A trước tiên kiểm tra xem có thông tin về địa chỉ MAC của máy B trong bộ nhớ cache ARP không. Nếu máy A tìm thấy thông tin này, nó sẽ giao tiếp trực tiếp với máy B. Trường hợp không tìm thấy, máy A sẽ sử dụng giao thức ARP để truy xuất địa chỉ MAC của máy B.
Máy A gửi một yêu cầu truy vấn (ARP request) tới tất cả các máy trên mạng LAN. Yêu cầu này giống như: “Xin chào, ai là địa chỉ IP 192.54.67.15? Đây là địa chỉ IP của tôi: 194.54.67.10. Địa chỉ MAC của tôi là 00:lb:48:64:42:e4. Tôi cần địa chỉ MAC của bạn.“
Máy A gửi gói tin yêu cầu ARP (ARP request) broadcast tới máy B. Khi nhận được gói tin yêu cầu ARP, máy B cập nhật bảng cache ARP của mình với địa chỉ IP và MAC của máy A, sau đó gửi một gói tin trả lời ARP (ARP reply) cho máy A. Gói tin ARP phản hồi này có thể được diễn đạt bằng ngôn ngữ tự nhiên như sau: “Xin chào, đây là địa chỉ IP 192.54.67.15; địa chỉ MAC của tôi là 00-14-20-01-23-47.“
Sau khi nhận được gói tin trả lời ARP, máy A cập nhật bảng cache ARP của mình với địa chỉ IP và MAC của máy B. Kể từ đó, hai máy này đã thiết lập kết nối và có thể giao tiếp với nhau.
![[CEH] Module 8 – Phần 4: Kỹ thuật ARP Poisoning 6 [CEH] Module 8 – Phần 4: Kỹ thuật ARP Poisoning 5](https://sinhviencntt.net/wp-content/uploads/2023/07/image-47.png)
ARP Spoofing
ARP phân giải địa chỉ IP thành địa chỉ MAC của interface để gửi dữ liệu. Gói tin ARP có thể được làm giả để gửi dữ liệu tới máy tính của hacker. ARP spoofing liên quan đến việc tạo ra một số lượng lớn các gói tin ARP request và reply giả mạo để làm quá tải một switch. Giao thức ARP không có cơ chế xác minh tính xác thực của thiết bị phản hồi. Ngay cả các hệ thống chưa gửi yêu cầu ARP nào cũng có thể chấp nhận các phản hồi ARP đến từ các thiết bị khác. Hacker tận dụng điểm yếu này trong ARP để tạo ra các phản hồi ARP sai cấu trúc, chứa địa chỉ IP và MAC giả mạo. Lúc này, máy tính nạn nhân sẽ chấp nhận entries ARP này vào bảng ARP mà không kiểm tra tính xác thực.
Khi bảng ARP được lấp đầy bằng các entries giả mạo, switch được đặt trong chế độ forwarding và hacker chặn lại tất cả dữ liệu đi từ máy của nạn nhân. Hành động lấp đầy bộ nhớ cache ARP bằng các entries giả mạo được gọi là poisoning. ARP spoofing là một bước trung gian để thực hiện các kiểu tấn công như DoS, MITM và session hijacking.
![[CEH] Module 8 – Phần 4: Kỹ thuật ARP Poisoning 7 ARP Poisoning](https://sinhviencntt.net/wp-content/uploads/2023/07/image-48.png)
Mối đe dọa của ARP Poisoning
Hacker có thể sử dụng các thông điệp ARP giả mạo để chuyển hướng toàn bộ giao tiếp giữa hai máy tính sao cho tất cả các lưu lượng bị đổi hướng thông qua máy tính của hacker.
Các mối đe dọa của ARP poisoning bao gồm:
- Packet Sniffing: Nghe trộm lưu lượng dữ liệu trên mạng hoặc một phần của mạng.
- Session Hijacking: Đánh cắp thông tin phiên làm việc và sử dụng để truy cập trái phép vào ứng dụng.
- VoIP Call Tapping: Sử dụng port mirroring, cho phép theo dõi toàn bộ lưu lượng mạng và chỉ lấy lưu lượng VoIP để ghi lại theo địa chỉ MAC.
- Manipulating Data: ARP spoofing cho phép hacker bắt và sửa đổi dữ liệu hoặc ngừng luồng lưu lượng.
- Man-in-the-Middle: Hacker đứng giữa nạn nhân và server.
- Data Interception: Chặn IP, MAC và VLAN kết nối với switch trong mạng.
- Connection Resetting: Thông tin định tuyến sai có thể được truyền do lỗi phần cứng / phần mềm. Trong các trường hợp như vậy, nếu máy tính không thể khởi tạo một kết nối, máy tính đó thông báo cho module Address Resolution xóa thông tin của nó. Việc nhận dữ liệu từ máy tính đó sẽ đặt lại thời gian chờ kết nối trong mục ARP được sử dụng để truyền dữ liệu đến máy đó.
arpspoof là một công cụ giả mạo các phản hồi ARP để chuyển hướng các gói tin từ một máy mục tiêu (hoặc tất cả các máy) trên mạng LAN, gửi đến một máy tính khác trên mạng LAN. Đây là một cách vô cùng hiệu quả để nghe trộm lưu lượng trên một switch.
Cú pháp:
arpspoof -i [Interface] -t [Target]
Như hình dưới, hacker sử dụng công cụ arpspoof để lấy bộ nhớ cache ARP; sau đó, địa chỉ MAC được thay thế bằng địa chỉ của hhacker. Do đó, bất kỳ lưu lượng dữ liệu nào đi từ nạn nhân sẽ được chuyển hướng đến máy của hacker. Hơn nữa, một hacker có thể sử dụng cùng một lệnh theo chiều ngược lại vì họ đứng ở giữa và có thể gửi các phản hồi ARP theo cả hai hướng.
![[CEH] Module 8 – Phần 4: Kỹ thuật ARP Poisoning 9 [CEH] Module 8 – Phần 4: Kỹ thuật ARP Poisoning 8](https://sinhviencntt.net/wp-content/uploads/2023/07/image-49.png)
Biện pháp phòng tránh ARP Poisoning
Triển khai Dynamic ARP Inspection (DAI) là một biện pháp ngăn chặn tấn công ARP poisoning. DAI là một tính năng bảo mật giúp xác thực các gói tin ARP trong mạng. Khi DAI được kích hoạt trên một VLAN, tất cả các cổng trong VLAN đó mặc định được coi là không tin cậy. DAI sử dụng bảng liên kết DHCP snooping để xác thực các gói tin ARP. Bảng liên kết DHCP snooping bao gồm địa chỉ MAC, địa chỉ IP và các interface VLAN được thu thập bằng cách lắng nghe sự trao đổi thông điệp DHCP. Do đó, trước khi kích hoạt DAI, ta phải bật chức năng DHCP snooping. Nếu không việc thiết lập kết nối giữa các thiết bị trên VLAN dựa trên ARP sẽ không thể thực hiện được và còn có thể dẫn đến tình trạng tự gây ra tấn công từ chối dịch vụ trên bất kỳ thiết bị nào trong VLAN đó.
Để xác thực gói tin ARP, DAI sẽ kiểm tra liên kết giữa IP và MAC được lưu trữ trong cơ sở dữ liệu DHCP snooping trước khi chuyển tiếp gói tin đến đích. Nếu có bất kỳ liên kết nào giữa một địa chỉ IP không hợp lệ và một địa chỉ MAC, DAI sẽ loại bỏ gói tin ARP đó.
![[CEH] Module 8 – Phần 4: Kỹ thuật ARP Poisoning 11 [CEH] Module 8 – Phần 4: Kỹ thuật ARP Poisoning 10](https://sinhviencntt.net/wp-content/uploads/2023/07/image-50-1024x428.png)
Việc triển khai các giao thức mã hóa như HTTP Secure (HTTPS), Secure Shell (SSH), Transport Layer Security (TLS) và các giao thức mã hóa mạng khác ngăn chặn tấn công ARP spoofing bằng cách mã hóa dữ liệu trước khi truyền và xác thực nó sau khi nhận được.
Cấu hình DHCP Snooping và Dynamic ARP Inspection trên Cisco Switches
Như mình đã đề cập bên trên, trước khi kích hoạt DAI, ta phải bật chức năng DHCP snooping. DHCP snooping là một tính năng bảo mật giúp xây dựng và duy trì một bảng liên kết DHCP snooping binding table và lọc các thông điệp DHCP không tin cậy. Switch Cisco đã kích hoạt DHCP snooping có thể kiểm tra luồng dữ liệu DHCP ở mức độ segment layer 2 và theo dõi ánh xạ giữa địa chỉ IP và cổng switch.
Để cấu hình DHCP snooping trên một switch Cisco, đảm bảo rằng DHCP snooping được kích hoạt cả ở cấp toàn cục và cấp VLAN truy cập (access VLAN).
Cấu hình như sau:
Switch(config)# ip dhcp snooping
Để cấu hình cho một VLAN cụ thể:
Switch(config)# ip dhcp snooping vlan 10
Switch(config)# ip dhcp snooping vlan 20
Switch(config)# ip dhcp snooping vlan 30
Để kiểm tra kết quả:
Switch# show ip dhcp snooping
Switch DHCP Snooping is enabled
DHCP Snooping is configured on VLANs:
VLAN 10
VLAN 20
VLAN 30
DHCP Snooping is operational on the following interfaces:
Interface Trusted Rate Limit ACL Logging Dhcp Trusted
---------------- ---------- -------------- ---------------- --------------
Gi0/1 yes - - no
Gi0/2 yes - - no
Gi0/3 yes - - no
Gi0/4 no - - no
DHCP Snooping statistics:
Total DHCP Snooping Bindings: 50
Snooped DHCP Packets: 1000
Option 82 Insertion: enabled
Option 82 Verification: enabled
Nếu switch chỉ hoạt động ở mức độ layer 2, gõ lệnh ip dhcp snooping trust cho các interface layer 2 để xác định các interface uplink là các interface tin cậy. Điều này thông báo cho switch biết rằng các phản hồi DHCP có thể đến trên những interface đó.
Bảng DHCP snooping binding chứa thông tin về các client DHCP tin cậy và địa chỉ IP tương ứng của chúng. Để xem bảng DHCP snooping binding, ta thực thi lệnh sau:
Switch(config)# show ip dhcp snooping binding
Dưới đây là một ví dụ về bảng DHCP snooping binding:
Switch# show ip dhcp snooping binding
MacAddress IpAddress Lease(sec) Type VLAN Interface
------------------ ---------------- ----------- -------------- -------------- ------------
00:11:22:33:44:55 192.168.1.10 86400 dhcp-snooping 10 Gi0/1
00:AA:BB:CC:DD:EE 192.168.1.20 3600 dhcp-snooping 10 Gi0/2
00:FF:11:22:33:44 192.168.2.50 7200 dhcp-snooping 20 Gi0/3
Trong ví dụ trên, DHCP snooping binding table hiển thị 3 liên kết với địa chỉ MAC, địa chỉ IP, thời gian thuê (lease), loại và interface VLAN tương ứng.
Để kích hoạt Dynamic ARP Inspection (DAI) cho nhiều VLAN và chỉ định một dải VLAN, ta có thể sử dụng các lệnh sau trên switch Cisco:
Switch(config)# ip dhcp snooping vlan <start-vlan> - <end-vlan>
Switch(config)# ip arp inspection vlan <start-vlan> - <end-vlan>
Switch(config)# interface range <interface-range>
Switch(config-if-range)# ip arp inspection trust
Dưới đây là một ví dụ về VLAN từ 10 đến 20 và đánh dấu các interface trong phạm vi đó là tin cậy:
Switch(config)# ip dhcp snooping vlan 10 - 20
Switch(config)# ip arp inspection vlan 10 - 20
Switch(config)# interface range GigabitEthernet0/1 - 10
Switch(config-if-range)# ip arp inspection trust
Trong ví dụ trên, DAI được kích hoạt cho các VLAN từ 10 đến 20 bằng cách sử dụng các lệnh ip dhcp snooping vlan và ip arp inspection vlan. Lệnh interface range được sử dụng để chỉ định phạm vi interface cần cấu hình, trong trường hợp này là GigabitEthernet 0/1 đến 10. Sau đó, lệnh ip arp inspection trust được áp dụng cho các interface đó nhằm đánh dấu chúng là tin cậy, cho phép lưu lượng ARP truyền qua mà không cần kiểm tra.
Công cụ Capsa Portable Network Analyzer
Capsa Portable Network Analyzer là một công cụ phân tích và chẩn đoán hiệu suất mạng di động. Với giao diện dễ sử dụng, nó cung cấp khả năng bắt gói tin và phân tích, giúp người dùng bảo vệ và giám sát mạng trong môi trường quan trọng. Đặc biệt, nó hỗ trợ các chuyên gia bảo mật trong việc phát hiện nhanh các cuộc tấn công ARP poisoning và ARP flooding, đồng thời giúp xác định nguồn tấn công một cách chính xác.
![[CEH] Module 8 – Phần 4: Kỹ thuật ARP Poisoning 13 [CEH] Module 8 – Phần 4: Kỹ thuật ARP Poisoning 12](https://sinhviencntt.net/wp-content/uploads/2023/07/image-51-1024x689.png)
Comments 1