Cách chặn, phân tích lưu lượng mạng LAN với Packet Squirrel và Wireshark
Nếu bạn phát hiện ra một kết nối Ethernet không có giám sát và tự hỏi có thể làm gì với tất cả thông tin truyền qua kết nối đó, có một cách dễ dàng để tìm hiểu việc này.
Giả sử có một router mà bạn biết mật khẩu và có quyền truy cập vật lý vào kết nối Ethernet, nơi có thể gắn Packet Squirrel - một công cụ có kích thước bỏ túi xen vào giữa mạng. Nếu router không sử dụng HTTPS, bạn có thể ghi lại tất cả lưu lượng qua Ethernet. Sau khi ai đó truy cập vào router, bạn sẽ có quyền truy cập vào thông tin để đăng nhập và làm bất cứ điều gì mình muốn.
Packet Squirrel và Wireshark ghi lại tất cả lưu lượng qua Ethernet
Yêu cầu
Bạn sẽ cần một Packet Squirrel, được tạo ra bởi Hak5 từ trang web của nó, Amazon, hoặc có thể là một cửa hàng trực tuyến khác.
Thiết bị không đi kèm với power adapter (bộ nguồn), vì vậy bạn cũng sẽ cần cáp Micro-USB và nguồn điện. Bài viết sẽ cắm thiết bị này vào cổng USB của máy tính, nhưng nếu muốn triển khai nó trong thế giới thực, bạn sẽ cần bộ nguồn hoặc pin nhỏ để thay thế.
Packet Squirrel chỉ yêu cầu nguồn điện 5V, cường độ 150mA, vì vậy bạn có thể sử dụng một thứ đơn giản như một bộ sạc điện thoại thông minh. Nếu sử dụng trong thời gian ngắn, một bộ pin nhỏ có thể đủ dùng (bộ pin này thường đi kèm với cáp USB nhỏ riêng). Đối với phiên kéo dài, bạn sẽ cần một bộ pin lớn hơn với cáp Micro-USB.
Để ghi lại kết quả lưu lượng đang theo dõi, bạn cũng sẽ cần một USB. Bạn có thể chọn bất kỳ USB nào mà mình thích. USB sẽ cần được định dạng ở NTFS (vấn đề này sẽ được giải quyết sau).
Cuối cùng, bạn cần quyền truy cập vào kết nối Ethernet muốn theo dõi, cũng như Wireshark để làm sáng tỏ những bí ẩn của dữ liệu sẽ thu thập.
Bước 1: Chọn payload
Packet Squirrel đi kèm với ba loại payload: Chặn gói TCPdump, tấn công man-in-the-middle giả mạo DNS và OpenVPN tunnel vào hoặc ra. Vì bài viết không muốn làm bất cứ điều gì quá khó như thiết lập một máy chủ hoặc tạo các cấu hình phức tạp, nên ví dụ sẽ sử dụng một TCPdump đơn giản.
Bước 2: Bắt đầu với Packet Squirrel
Để bắt đầu, bạn sẽ cần đặt Packet Squirrel thành Arming Mode, có thể được thực hiện bằng cách sử dụng cùng một công tắc trên thiết bị, cho phép bạn lựa chọn giữa các payload. Để làm như vậy, hãy đẩy hết công tắc về phía cổng USB. Tiếp theo, cắm Packet Squirrel vào nguồn điện.
Tiếp theo, cắm cáp Ethernet từ máy tính vào cổng Ethernet In trên Packet Squirrel, ngay bên cạnh cổng nguồn. Nếu muốn truy cập Internet khi đang kiểm tra mọi thứ, bạn có thể kết nối nó qua một cáp Ethernet khác, với cổng Ethernet Out bên cạnh cổng USB. Sẽ không có bất cứ điều gì tệ hại xảy ra. Chỉ đơn giản là bạn sẽ có quyền truy cập vào thiết bị thông qua SSH.
Bước 3: Chuẩn bị cho Packet Squirrel
Bây giờ, hãy xem liệu bạn có thể truy cập thiết bị mà không gặp vấn đề gì không. Trong cửa sổ terminal, hãy dùng SSH để vào thiết bị bằng địa chỉ IP gốc của nó. Địa chỉ IP là 172.16.32.1 cho tất cả Packet Squirrel. Sau đó, nhập mật khẩu mặc định của hak5quirrel để đăng nhập.
~$ ssh root@172.16.32.1
root@172.16.32.1's password: hak5quirrel
BusyBox v1.23.2 (2017-06-28 18:58:08 PDT) built-in shell (ash)
__ (\\_ Packet Squirrel _//) __
(_ \( '.) by Hak5 (.' )/ _)
) \ _)) _ __ ((_ / (
(_ )_ (') Nuts for Networks ((') _( _)
root@squirrel:~#
Bây giờ, hãy liệt kê nhanh (ls) để xem bạn có những gì.
root@squirrel:~# ls
VERSION payloads
Payload là những gì bạn muốn, vì vậy hãy thay đổi vào thư mục đó, sau đó thực hiện một thao tác liệt kê nhanh khác để xem có gì ở đó.
root@squirrel:~# cd payloads
root@squirrel:~/payloads# ls
switch1 switch2 switch3
Nên có 3 switch ở đó, mỗi switch cho một payload mà Packet Squirrel được load. Nếu muốn, bạn có thể tùy chỉnh một hoặc hai cái trong số các switch này với payload của riêng mình, còn ví dụ sẽ chuyển sang switch1, dành cho payload TCPdump, công cụ mà bạn muốn sử dụng. Sau đó, hãy thực hiện thao tác liệt kê nhanh khác để xem những gì bên trong.
root@squirrel:~/payloads# cd switch1
root@squirrel:~/payloads/switch1# ls
payload.sh
Hãy xem cách payload hoạt động hiện tại. Sử dụng cat để mở file.
root@squirrel:~/payloads/switch1# cat payload.sh
#!/bin/bash
# TCPDump payload v1.0
function monitor_space() {
while true
do
[[ $(df | grep /mnt | awk '{print $4}') -lt 10000 ]] && {
kill $1
LED G SUCCESS
sync
break
}
sleep 5
done
}
function finish() {
# Kill TCPDump and sync filesystem
kill $1
wait $1
sync
# Indicate successful shutdown
LED R SUCCESS
sleep 1
# Halt the system
LED OFF
halt
}
function run() {
# Create loot directory
mkdir -p /mnt/loot/tcpdump &> /dev/null
# Set networking to TRANSPARENT mode and wait five seconds
NETMODE TRANSPARENT
sleep 5
# Start tcpdump on the bridge interface
tcpdump -i br-lan -w /mnt/loot/tcpdump/dump_$(date +%Y-%m-%d-%H%M%S).pcap &>/dev/null &
tpid=$1
# Wait for button to be pressed (disable button LED)
NO_LED=true BUTTON
finish $tpid
}
# This payload will only run if we have USB storage
[[ ! -f /mnt/NO_MOUNT ]] && {
LED ATTACK
run &
monitor_space $! &
} || {
LED FAIL
}
Toàn bộ script có thể nhìn thấy ở trên. Về cơ bản, những gì nó làm là định tuyến lưu lượng, đồng thời kết xuất tất cả lưu lượng mà nó định tuyến, vào một file TCPdump. Như bạn có thể thấy ở gần cuối script, payload chỉ hoạt động nếu có thiết bị lưu trữ USB được gắn vào Packet Squirrel.
Bước 4: Định dạng USB
Bây giờ, hãy định dạng USB. Trong một terminal trong Kali Linux hoặc macOS, hãy sử dụng lệnh sau để định vị USB, để chắc chắn đã chọn đúng thiết bị.
~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 2.8G 0 2.8G 0% /dev
tmpfs 566M 1.1M 565M 1% /run
/dev/sda1 77G 47G 26G 65% /
tmpfs 2.8G 28K 2.8G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.8G 0 2.8G 0% /sys/fs/cgroup
VBoxSharedFolder 234G 227G 7.5G 97% /media
/dev/sdc1 124.4G 1.4G 123G 1% /media
Trong ví dụ, USB 128GB của tác giả bài viết nằm ở /dev/sdc1, đó là những gì đang được sử dụng. Vì USB này đã được mount, nên cần phải ngắt kết nối nó trước khi định dạng bằng Windows NT Filesystem hoặc NTFS.
~$ sudo umount /dev/sdc1
Bây giờ, để định dạng nó bằng NTFS, hãy sử dụng:
~$ sudo mkfs.ntfs /dev/sdc1
Trên máy Mac, bạn cũng có thể sử dụng Disk Utility để định dạng ổ. Chỉ cần đảm bảo sử dụng Windows NT Filesystem khi bạn xóa nó.
Khi hoàn tất, hãy lấy USB ra, sau đó cắm nó vào Packet Squirrel.
Bước 5: Chọn payload switch phù hợp
Bây giờ, trên Packet Squirrel, bạn cần chuyển từ Arming Mode sang TCPdump payload. Vì vậy, hãy đẩy công tắc về phía cổng nguồn. Tiếp theo, khởi động lại Packet Squirrel bằng cách rút phích cắm khỏi nguồn điện, sau đó cắm lại.
Bước 6: Bắt đầu thu thập dữ liệu!
Bây giờ, Packet Squirrel đã sẵn sàng để bạn cắm vào mạng muốn theo dõi và bắt đầu nắm bắt hoạt động Internet của bất kỳ ai sử dụng Ethernet. Bạn có thể xem tất cả các loại nội dung thú vị, tùy thuộc vào loại trang web mà người đó đang truy cập và dịch vụ họ đang chạy. Sau khi nắm bắt đủ thông tin bằng cách sử dụng Packet Squirrel, bạn có thể lấy USB ra và cắm vào máy tính để kiểm tra những gì được tìm thấy.
Bước 7: Phân tích dữ liệu với Wireshark
Điều hướng đến thư mục /loot/tcpdump/ để tìm tất cả các file .pcap mà Packet Squirrel đã thu thập. Các file này có thể được xem bằng Wireshark, vì vậy hãy mở một trong số chúng lên. Sẽ có rất nhiều dữ liệu đã hoặc chưa mã hóa được ghi lại. Dữ liệu chưa được mã hóa chủ yếu là các yêu cầu HTTP và DNS. Bằng cách xem thông tin không được mã hóa đó, bạn có thể tìm ra mục tiêu mong muốn.
Trong thanh tìm kiếm Wireshark, hãy nhập dns để xem tất cả các yêu cầu DNS được gửi đi. Nhấp vào bất kỳ thứ gì trong số chúng, bạn có thể mở Domain Name System (response) > Queries và xem đó là truy vấn tự động hay do người dùng gửi đi. Tiếp theo, duyệt qua phần còn lại, xem mục Queries của mỗi phần, để biết chúng xuất phát ở đâu.
Trong thanh tìm kiếm Wireshark, nhập http để xem tất cả các yêu cầu HTTP đã gửi đi. Nhấp chuột trái vào bất kỳ mục nào đã ghi, chọn Follow > HTTP Stream. Điều đó sẽ mở ra một cửa sổ mới, theo dõi những gì đã xảy ra, có thể hiển thị cả hai phía của cuộc trò chuyện giữa máy tính và máy chủ (gửi và nhận). Bạn có thể thấy những thứ như thông tin được trao đổi, user agent (phần mềm hoạt động thay mặt cho người dùng), referrer (thông tin được gửi bởi trình duyệt của người dùng khi họ di chuyển từ trang này sang trang khác), v.v...
Bạn cũng có thể tìm kiếm một cái gì đó như http contains "vistamiddle" để xem tất cả các yêu cầu HTTP tương tác với vistamiddle.org. Nhấp đúp vào một yêu cầu để xem thông tin chi tiết. Đây là một cách để dò tìm mật khẩu của router hoặc thứ gì đó cá nhân hơn.
Một số hạn chế
Mặc dù Hak5 Packet Squirrel là một công cụ tuyệt vời để tận dụng mọi kết nối Ethernet không có giám sát, nhưng có một vài hạn chế mà bạn cần lưu ý.
Thứ nhất, bạn sẽ cần quay lại chỗ đặt USB nếu muốn lấy dữ liệu. Vì vậy, nếu bạn chỉ có quyền tiếp cận một lần, thì đây có thể không phải là công cụ tốt nhất để sử dụng.
Thứ hai, công cụ này sẽ không thể nắm bắt bất kỳ lưu lượng nào được gửi bằng VPN hoặc qua SSL, vì vậy sẽ có một số thứ bạn sẽ không thể thấy. Tuy nhiên, các yêu cầu HTTP và yêu cầu DNS đều sẵn sàng để bạn có thể lấy.
Bạn nên đọc
-
Có thể sử dụng 2 router trên cùng một mạng gia đình không?
-
Check IP website, kiểm tra IP của một domain bất kỳ
-
Mạng LAN được sử dụng để làm gì?
-
Cách dùng VPN Gate fake IP ổn định Internet
-
Nên chọn mạng LAN có dây hay mạng LAN không dây?
-
Làm thế nào để chia sẻ dữ liệu giữa 2 máy tính qua mạng LAN?
-
Cách sửa lỗi “Ethernet doesn’t have a valid IP configuration”
-
Cách thay đổi loại NAT trên Windows 11/10
-
6 thành phần cần thiết của mạng LAN
Cũ vẫn chất
-
Cách sửa file MP4 bị hỏng với thủ thuật đơn giản
Hôm qua -
Khắc phục lỗi mạng WiFi không hiển thị trên Windows 10
Hôm qua -
200+biệt danh cho người yêu hay và hài hước
Hôm qua 5 -
Cách khởi động và dừng các dịch vụ trong MS SQL Server
Hôm qua -
Cách viết số mũ trong Excel, viết chỉ số trên, chỉ số dưới trong Excel
Hôm qua -
Đấu Trường Chân Lý Mobile (TFT Mobile)
-
30 lời chúc sinh nhật chồng yêu ý nghĩa và ngọt ngào
Hôm qua 1 -
Black Friday là gì? Black Friday 2023 vào ngày nào?
Hôm qua -
5 cách tắt Update Windows 11, ngừng cập nhật Win 11
Hôm qua 14 -
Cách ẩn tin nhắn Telegram không cần xóa
Hôm qua