Giới Thiệu Về ARP và Tấn Công ARP Spoofing
Dành cho kỹ sư mạng CCNA/CCNP - Kết hợp lý thuyết và thực hành 1. ARP Là Gì?
ARP (Address Resolution Protocol) là một giao thức lớp mạng hoạt động ở tầng 2/3, dùng để ánh xạ địa chỉ IP sang địa chỉ MAC trong cùng một mạng LAN.
Khi một thiết bị nguồn cần gửi gói tin IP đến một thiết bị đích trong cùng subnet, nó cần biết địa chỉ MAC của đích đó. Thiết bị sẽ gửi gói ARP Request (broadcast) với IP đích, yêu cầu thiết bị đích trả lời bằng ARP Reply (unicast) chứa địa chỉ MAC tương ứng.
Ví dụ:
Sau khi học được MAC, thiết bị A có thể đóng gói Ethernet và truyền đi.
2. Lỗ Hổng Thiết Kế Của ARP
ARP được thiết kế dựa trên niềm tin (trust-based):
Hệ quả: Giao thức dễ bị khai thác bởi các công cụ giả mạo địa chỉ (spoofing), đặc biệt trong môi trường mạng switch.
3. Tấn Công ARP Spoofing (Hoặc ARP Poisoning)
Kẻ tấn công (attacker) trong cùng mạng LAN có thể gửi gói ARP giả mạo để "đánh lừa" các thiết bị khác. Cơ chế:
Tình huống thực tế:
4. Vì Sao CCNA Cần Hiểu ARP Spoofing?
1. An ninh mạng: Hiểu rõ để triển khai các cơ chế phòng chống như:
2. Khắc phục sự cố: Khi có dấu hiệu mất kết nối mạng hoặc định tuyến sai, ARP là điểm cần kiểm tra đầu tiên.
3. Thiết kế mạng: Biết giới hạn của ARP giúp thiết kế mạng an toàn và tin cậy hơn.
4. Phòng vệ chủ động: Có thể dùng Wireshark hoặc công cụ giám sát để phát hiện dấu hiệu tấn công (ex: nhiều ARP Reply bất thường).
5. Hướng Dẫn Thực Hành Tấn Công ARP Spoofing
Mô hình lab:
text
Copy
Edit
host1 ----| | [SWITCH] ------ [Gateway (Router, DHCP)] mitm -----| | [Server (Telnet/HTTP)]
Cài đặt công cụ trên máy tấn công (mitm-alpine)
# Cập nhật hệ thống
sudo apk update
sudo apk upgrade # Cài Ettercap để thực hiện ARP Spoofing
sudo apk add ettercap
# Cài VNC Server để điều khiển GUI từ xa (nếu cần)
sudo apk add tigervnc
sudo chmod a+w /etc/tigervnc/vncserver-config-mandatory echo "securitytypes=none" | sudo tee -a /etc/tigervnc/vncserver-config-mandatory echo "geometry=2000x1200" | sudo tee -a /etc/tigervnc/vncserver-config-mandatory sudo rc-service vncserver restart
Cấu hình địa chỉ IP thủ công nếu cần (trên Cisco Modeling Labs)
Bước 1: Cấu hình IP và route trên eth1
sudo ip addr add 10.156.3.66/24 dev eth1 sudo ip route add default via 10.156.3.254
Bước 2: Kiểm tra eth0 có IP từ DHCP
ip addr | grep 172.16
Nếu thấy có nhiều IP, hãy xóa địa chỉ dư thừa:
sudo ip addr del 172.16.1.14/24 dev eth0
6. Các Ghi Chú Khi Làm Lab
7. Hướng Phát Triển Tiếp Theo
Trong phần kế tiếp, chúng ta sẽ thực hiện tấn công ARP spoofing thật sự bằng công cụ ettercap, thu thập username/password từ các kết nối Telnet hoặc HTTP, phân tích gói tin bằng Wireshark, và sau đó áp dụng các biện pháp phòng thủ như DAI, IP-MAC binding, ACL chặn ARP hoặc VLAN segmentation.
Dành cho kỹ sư mạng CCNA/CCNP - Kết hợp lý thuyết và thực hành 1. ARP Là Gì?
ARP (Address Resolution Protocol) là một giao thức lớp mạng hoạt động ở tầng 2/3, dùng để ánh xạ địa chỉ IP sang địa chỉ MAC trong cùng một mạng LAN.
Khi một thiết bị nguồn cần gửi gói tin IP đến một thiết bị đích trong cùng subnet, nó cần biết địa chỉ MAC của đích đó. Thiết bị sẽ gửi gói ARP Request (broadcast) với IP đích, yêu cầu thiết bị đích trả lời bằng ARP Reply (unicast) chứa địa chỉ MAC tương ứng.
Ví dụ:
- Thiết bị A: IP 192.168.1.10 → muốn gửi gói đến 192.168.1.1
- A gửi ARP Request: "Ai là 192.168.1.1, cho tôi biết MAC của bạn!"
- Gateway trả lời: "Tôi là 192.168.1.1, MAC tôi là 00:11:22:33:44:55"
Sau khi học được MAC, thiết bị A có thể đóng gói Ethernet và truyền đi.
2. Lỗ Hổng Thiết Kế Của ARP
ARP được thiết kế dựa trên niềm tin (trust-based):
- Không có cơ chế xác thực gói ARP
- Tự động cập nhật thông tin vào ARP cache khi nhận được gói ARP
- Cho phép Gratuitous ARP – một thiết bị có thể gửi thông báo ARP không cần yêu cầu, các thiết bị khác vẫn chấp nhận
Hệ quả: Giao thức dễ bị khai thác bởi các công cụ giả mạo địa chỉ (spoofing), đặc biệt trong môi trường mạng switch.
3. Tấn Công ARP Spoofing (Hoặc ARP Poisoning)
Kẻ tấn công (attacker) trong cùng mạng LAN có thể gửi gói ARP giả mạo để "đánh lừa" các thiết bị khác. Cơ chế:
- Giả mạo rằng MAC của mình là MAC của gateway
- Lừa client gửi gói tin đến attacker thay vì gateway thực sự
- Attacker nhận, đọc hoặc chỉnh sửa, sau đó gửi tiếp gói tin đến gateway (Man-in-the-Middle - MiTM)
Tình huống thực tế:
- Host gửi HTTP hoặc Telnet → attacker chặn và thu thập thông tin (password, session cookie…)
- Mạng không mã hóa dễ bị tấn công hơn (ex: telnet, http)
4. Vì Sao CCNA Cần Hiểu ARP Spoofing?
1. An ninh mạng: Hiểu rõ để triển khai các cơ chế phòng chống như:
- Dynamic ARP Inspection (DAI)
- Port Security
- Static ARP
2. Khắc phục sự cố: Khi có dấu hiệu mất kết nối mạng hoặc định tuyến sai, ARP là điểm cần kiểm tra đầu tiên.
3. Thiết kế mạng: Biết giới hạn của ARP giúp thiết kế mạng an toàn và tin cậy hơn.
4. Phòng vệ chủ động: Có thể dùng Wireshark hoặc công cụ giám sát để phát hiện dấu hiệu tấn công (ex: nhiều ARP Reply bất thường).
5. Hướng Dẫn Thực Hành Tấn Công ARP Spoofing
Mô hình lab:
text
Copy
Edit
host1 ----| | [SWITCH] ------ [Gateway (Router, DHCP)] mitm -----| | [Server (Telnet/HTTP)]
- host1: Alpine Linux, DHCP
- mitm-alpine: Alpine Linux (dùng để thực hiện tấn công MiTM)
- gateway: Router cấp DHCP và route ra Internet
- server: Router đóng vai trò Telnet/HTTP server
Cài đặt công cụ trên máy tấn công (mitm-alpine)
# Cập nhật hệ thống
sudo apk update
sudo apk upgrade # Cài Ettercap để thực hiện ARP Spoofing
sudo apk add ettercap
# Cài VNC Server để điều khiển GUI từ xa (nếu cần)
sudo apk add tigervnc
sudo chmod a+w /etc/tigervnc/vncserver-config-mandatory echo "securitytypes=none" | sudo tee -a /etc/tigervnc/vncserver-config-mandatory echo "geometry=2000x1200" | sudo tee -a /etc/tigervnc/vncserver-config-mandatory sudo rc-service vncserver restart
Máy mitm-alpine cũng đã được cài sẵn Wireshark để bạn có thể capture và phân tích lưu lượng mạng.
Cấu hình địa chỉ IP thủ công nếu cần (trên Cisco Modeling Labs)
Bước 1: Cấu hình IP và route trên eth1
sudo ip addr add 10.156.3.66/24 dev eth1 sudo ip route add default via 10.156.3.254
Bước 2: Kiểm tra eth0 có IP từ DHCP
ip addr | grep 172.16
Nếu thấy có nhiều IP, hãy xóa địa chỉ dư thừa:
sudo ip addr del 172.16.1.14/24 dev eth0
6. Các Ghi Chú Khi Làm Lab
- Một số interface trong lab được gán MAC cố định để giúp bạn dễ theo dõi quá trình spoofing.
- Không bắt buộc phải giữ MAC cố định – bạn có thể thay đổi linh hoạt.
7. Hướng Phát Triển Tiếp Theo
Trong phần kế tiếp, chúng ta sẽ thực hiện tấn công ARP spoofing thật sự bằng công cụ ettercap, thu thập username/password từ các kết nối Telnet hoặc HTTP, phân tích gói tin bằng Wireshark, và sau đó áp dụng các biện pháp phòng thủ như DAI, IP-MAC binding, ACL chặn ARP hoặc VLAN segmentation.