Sau khi đã xác định được cổng nào đang mở trên Server, bước tiếp theo để tấn công 1 hệ thống là sẽ tiến hành chặn bắt cũng như nghe lén trên server bằng kỹ thuật Sniffer thông qua ARP Poisoning.
Giới thiệu về Sniffer
Packet Sniffer hay Protocol Analyzer là những công cụ được sử dụng để chuẩn đoán và phát hiện lỗi hệ thống mạng và các vấn đề liên quan. Packet Sniffers được các Hacker sử dụng với mục đích như theo dõi bí mật Network Traffic và thu thập thông tin mật khẩu người dùng.
Một số Packet Sniffer được các kỹ thuật viên sử dụng với mục đích chuyên dụng giải quyết phần cứng trong khi những Packet Sniffer khác là những phần mềm ứng dụng chạy trên máy tính người dùng được cấp tiêu chuẩn, sử dụng các phần cứng mạng được cung cấp trên các máy chủ để thực hiện chặn gói dữ liệu và đưa dữ liệu vào.
Giới thiệu về ARP Poisoning
ARP spoofing, ARP cache poisoning, hoặc ARP poison routing, là một kỹ thuật mà một kẻ tấn công gửi những ARP (giả mạo) vào mạng LAN. Mục đích là để gán các địa chỉ MAC của kẻ tấn công với các địa chỉ IP của máy chủ khác, chẳng hạn như các default GW để nghe lén thông tin (nghĩa là cho rằng địa chỉ IP trong mạng sẽ được gửi thông tin cho kẻ tấn công thay vì máy chủ thật).
Công cụ Ettercap
Ettercap là một công cụ khai thác và tấn công trên mạng LAN. Nó có khả năng dò tìm tất cả các máy và tiến hành nghe lén, thực hiện các cuộc tấn công Man-in-the-middle (MIMT). Ettercap được thiết kế để hoạt động trên hệ điều hành nhân Linux, hiện tại có 2 phiên bản là CLI và GUI. Ở dòng lệnh dưới đây, mình sẽ sử dụng trên môi trường CLI.
$ ettercap -T -q -i vboxnet2 -w sniffer.pcap -M ARP /192.168.58.102// /192.168.58.1//
ettercap 0.8.2 copyright 2001-2015 Ettercap Development Team
Listening on:
vboxnet2 -> 0A:00:27:00:00:02
192.168.58.101/255.255.255.0
fe80::800:27ff:fe00:2/64
SSL dissection needs a valid 'redir_command_on' script in the etter.conf file
Privileges dropped to EUID 65534 EGID 65534...
33 plugins
42 protocol dissectors
57 ports monitored
20388 mac vendor fingerprint
1766 tcp OS fingerprint
2182 known services
Scanning for merged targets (2 hosts)...
* |==================================================>| 100.00 %
2 hosts added to the hosts list...
ARP poisoning victims:
GROUP 1 : 192.168.58.102 08:00:27:10:4C:91
GROUP 2 : 192.168.58.1 08:00:27:38:7E:5E
Starting Unified sniffing...
Text only Interface activated...
Hit 'h' for inline help
HTTP : 192.168.58.1:80 -> USER: ID000001 PASS: INFO: http://at10e.org/index.php
CONTENT: uname=ID000001&psw=traioi
SEND L3 ERROR: 2723 byte packet (0800:06) destined to 192.168.58.102 was not forwarded
(libnet_write_raw_ipv4(): -1 bytes written (Message too long))
-T -q: là option sử dụng Ettercap bằng CLI.
-i vboxnet2: sử dụng card mạng vboxnet2 để nghe lén.
-w sniffer.pcap: lưu các capture với tên sniffer.pcap
-M ARP: Sử dụng kỹ thuật ARP Poisoning để sniffing.
/192.168.58.102//: Địa chỉ IP của đối tượng.
/192.168.58.1//: Địa chỉ IP của default GW.
Command 2.1: Sử dụng Ettercap để Sniffing.
Có thể thấy được là Ettercap đã chặn và bắt được gói tin từ phía máy nạn nhân có nội dung bên trong gồm tên đăng nhập và mật khẩu khi nạn nhân đăng nhập vào trang web at10e.org.
Công cụ Cain & Abel
Cain & Abel là công cụ được phát triển cho hệ điều hành Windows, rất mạnh mẽ trong việc theo dõi các kết nối trong mạng LAN hay thực hiện các cuộc tấn công MITM.
Công cụ Cain & Abel:
- Bước 1: Chọn tab Configure để chọn card mạng.
- Bước 2: Chọn biểu tượng Sniffer
để tiến hành Sniffing.
- Bước 3: Chọn tab Sniffer
.
- Bước 4: Chọn File->Add to list trong tab
để Cain & Abel quét các địa chỉ
IP trong mạng.
- Bước 5: Chọn File->Add to list trong tab
để liệt kê các địa chỉ IP của
nạn nhân cần Sniffing.
- Bước 6: Chọn biểu tượng
để thực hiện ARP Poisoning.
Hình 3.1: Cain & Abel bắt được gói tin chứa tên đăng nhập và mật khẩu.
Phân tích gói tin
Sử dụng Wireshark để phân tích gói tin sniffer.pcap đã được capture lại ở mục 3 bằng công cụ Ettercap.
Hình 4.1: Thiết lập bảng ARP.
Có thể thấy được rằng Ettercap đang gửi các gói tin ARP trên toàn bộ mạng thông qua Broadcast để thiết lập bảng ARP. 2 địa chỉ IP (trong ví dụ này là 192.168.58.102 của máy nạn nhân và 192.168.58.1 của default GW) trả lời lại địa chỉ MAC cho máy của hacker như thường lệ. Như vậy, bảng ARP ban đầu sẽ bao gồm:
Địa chỉ IP |
Địa chỉ MAC |
Chú thích |
|
0a:00:27:00:00:02 |
Máy của Hacker |
192.168.58.1 |
08:00:27:38:7e:5e |
Default GW |
192.168.58.102 |
08:00:27:10:4c:91 |
Máy của nạn nhân |
Bảng 4.1: Bảng ARP ban đầu.
Sau đó, máy của Hacker sẽ cố gắng đầu độc bảng ARP bằng cách giả mạo địa chỉ MAC dựa trên IP của 2 máy đối phương như Hình 4.2 và Hình 4.3.
Hình 4.2: Địa chỉ MAC của 192.168.58.102 đã bị thay đổi
Hình 4.3: Địa chỉ MAC của 192.168.58.1 đã bị thay đổi
Có thể thấy, máy của Hacker với địa chỉ IP giả đang gửi đồng thời 2 gói tin ping đến cả 2 máy đối phương để xác nhận lại các kết nối và thiết lập lại bảng ARP. Ngoài ra, có 1 đặc điểm nữa là máy của Hacker sẽ cố gắng ẩn IP của mình trên Broadcast để tránh bị trùng địa chỉ 2 địa chỉ MAC trong bảng ARP.
Hình 4.4: Thiết lập bảng ARP giả.
Bảng ARP sẽ được chia làm 2 để gửi cho 2 bên tương ứng với địa chỉ MAC thật trên IP thật.
Địa chỉ IP |
Địa chỉ MAC |
Chú thích |
192.168.58.1 |
0a:00:27:00:00:02 |
Máy của Hacker với địa chỉ IP của default GW |
192.168.58.102 |
08:00:27:10:4c:91 |
Máy của nạn nhân |
Bảng 4.2: Bảng ARP gửi cho máy nạn nhân.
Địa chỉ IP |
Địa chỉ MAC |
Chú thích |
192.168.58.102 |
0a:00:27:00:00:02 |
Máy của Hacker với địa chỉ IP là máy nạn nhân |
192.168.58.1 |
08:00:27:38:7e:5e |
Default GW |
Bảng 4.3: Bảng ARP gửi cho default GW.
Như vậy, máy của Hacker như 1 kẻ đứng giữa, nghe lén thông tin và chuyển tiếp các kết nối giữa máy nạn nhân và default GW.
Hình 4.5: Chặn bắt thông tin giữa 2 máy.