Hôm nay chúng ta sẽ thảo luận về các kỹ thuật quét mạng bằng phần mềm Nmap, qua đó thực hiện viết luật để kiểm tra, phát hiện sử dụng Snort IDS, điều này sẽ giúp cho các nhà phân tích bảo mật mạng cài đặt các luật (rules) trong Snort một cách tốt nhất nhằm đưa ra các cảnh báo sớm xâm nhập mạng.
Yêu cầu hệ thống:
Máy tấn công: Kali Linux (Nmap Scan, 192.168.142.128/24)
Máy mục tiêu: Ubuntu (Snort IDS, 192.168.142.131/24)
Ngoài ra, chúng ta có thể sử dụng phần mềm Wireshark để phát hiện rõ hơn các gói tin được gởi đi ở trong mạng.
1, Kỹ thuật quét Ping Sweep
Như chúng ta biết, tin tặc thường bắt đầu tấn công bằng việc xác định máy nạn nhân có đang hoạt động bằng cách gởi các gói tin ICMP qua kỹ thuật PING . Do đó chúng ta có thể thiết lập một luật trong Snort để phân tích xem có ai đó đang thực hiện việc PING hay không ?
alert icmp any any -> 192.168.142.131 any (msg: “Nmap PING sweep Scan”; dsize:0; sid:10000001; rev:1;)
Chạy snort IDS bằng cách thực hiện lệnh sau:
sudo snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0
Sau đó, thực hiện PING từ máy tính Kali xem máy tính mục tiêu có đang UP hay DOWN
nmap -sP 192.168.1.105 –disable-arp-ping
Sử dụng tham số --disable-arp-ping để tắt chức năng gởi các gói Arp đến các máy tính nạn nhân, kết quả như hình:
Quay về máy tính Snort, ta sẽ thấy snort sẽ bắt, phân tích phát hiện gói tin có kỹ thuật PING và đưa ra cảnh báo. Điều này cho thấy, chúng ta có thể thiết lập luật trong Snort để chặn IP của kẻ tấn công này.
2, Kỹ thuật quét TCP
Để thực hiện kết nối với máy tính mục tiêu, tin tặc có thể liệt kê mạng sử dụng giao thức TCP hoặc UDP. Trong trường hợp tin tặc sử dụng giao thức TCP, chúng ta có thể áp dụng một luật trong Snort như sau:
alert tcp any any -> 192.168.142.131 22 (msg: “NMAP TCP Scan”; sid:10000005; rev:2; )
Trong luật trên, chúng ta sử dụng cổng 22 để thử nghiệm, thực tế chúng ta có thể thay giá trị công khác hoặc sử dụng any
Tiếp theo thực hiện quét từ máy tính tấn công như hình:
Và kết quả cho ở máy tính Ubuntu như sau:
3, Kỹ thuật quét Xmas
Trước khi trao đổi dữ liệu, các máy tính thực hiện cơ chế bắt tay 3 bước (SYN, SYN+ACK, ACK) để thiết lập kết nối giữa hai máy tính. Tuy nhiên, thay vì sử dụng cơ chế trên, tin tặc sử dụng kỹ thuật quét XMAS để xác định các máy tính đang hoạt động hay không bằng cách bật lên các cờ (Flag) FIN, URG hay PSH.
Trong trường hợp này, chúng ta có thể viết một luật để phát hiện kỹ thuật này như sau:
alert tcp any any -> 192.168.142.131 22 (msg:”Nmap XMAS Tree Scan”; flags:FPU; sid:1000006; rev:1;)
Ở đây, chú ý phần Flags: FPU, đây là phần quan trọng của luật trong Snort để nó thực hiện bắt và phân tích gói tin. Kết quả như sau:
Từ máy tính tấn công, thực hiện:
Từ máy tính mục tiêu:
4, Kỹ thuật quét FIN
Ngoài ra, tin tặc còn thiết lập kết nối với máy tính mục tiêu sử dụng kỹ thuật quét FIN, bằng cách gởi các gói tin TCP bật cờ FIN.
Trong trường hợp, chúng ta có thể thiết lập luật như sau:
alert tcp any any -> 192.168.142.131 22 (msg:”Nmap FIN Scan”; flags:F; sid:1000008; rev:1;)
Kết quả như sau:
5, Kỹ thuật quét NULL
Kỹ thuật quét này, tin tặc sẽ gởi các gói tin mà không bật một cờ nào, để xác định cổng (port) nào đó có đang mở hay không ?
Trong trường hợp này, chúng ta có thể thiết lập luật như sau:
alert tcp any any -> 192.168.142.131 22 (msg:”Nmap NULL Scan”; flags:0; sid:1000009; rev:1;)
Kết quả như sau:
6, Kỹ thuật quét UDP
Trường hợp cuối cùng, tin tặc có thể sử dụng giao thức UDP để xác định cổng và các dịch vụ UDP đang mở hay không. Trong trường hợp này, chúng ta xây dựng luật trong Snort như sau:
alert UDP any any -> 192.168.142.131 any(msg:”Nmap UDPScan”; sid:1000010; rev:1;)
Và kết quả sau khi thử nghiệm như sau:
Kết luận, chúng ta vừa tìm hiểu các kỹ thuật quét cơ bản của tin tặc nhằm xác định một máy tính trên mạng có đang hoạt động hay không để tin tặc thực hiện các bước tiếp theo. Ở đây, chúng ta cũng đã thử nghiệm viết các luật trên Snort cho phép phân tích và phát hiện ra chúng. Điều này, giúp chúng ta có những giải pháp cơ bản và tốt nhất để ngăn chặn xâm nhập mạng.
NQL