Chào mừng bạn đến với phần 2 của hành trình Triển khai hệ thống phát hiện xâm nhập mạng với Snort trên Linux! Trong phần trước, chúng ta đã tìm hiểu về Snort là gì và tại sao nó là một công cụ quan trọng trong việc bảo vệ mạng kỹ thuật số của chúng ta. Bây giờ, chúng ta sẽ tiếp tục khám phá sâu hơn về cách triển khai Snort và tận dụng các tính năng mạnh mẽ của nó để giám sát, phát hiện và ngăn chặn các mối đe dọa trong mạng. chúng ta sẽ tập trung vào việc thực hành các khía cạnh cụ thể của Snort, bao gồm cách thiết lập và cấu hình, cách tạo và tùy chỉnh các rule, cũng như cách phân tích và ứng phó với các sự kiện phát hiện ping, nmap, dos, ..vv

Chuẩn bị:

  • 01 máy ảo Kali Linux  (192.168.224.134)
  • 01 máy ảo Ubuntu (192.168.224.133)
  • Cả hai máy cùng sử dụng VMnet8 hoặc cùng chung đường mạng.

Kiểm tra IPv4 của máy Ubuntu

Kiểm tra IPv4 của máy Kali Linux

Tiến hành ping 2 máy với nhau

Cài đặt và cấu hình snort trên máy Ubuntu

Tiến hành cài đặt snort thông qua lệnh:

sudo apt install -y snort

Tiếp đó giao diện như hình xuất hiện và yêu cầu chúng ta nhập Addres range for the local net work. Như ở bài viết Linux Netwoking, các bạn cũng đã hiểu về cơ chế cấp phát IP Address của Vmware. Ở đây VMnet8 của tôi đang dùng dải IP Address của hầu hết class C 192.168.224.2/24.

Như vậy việc cài đặt đã cơ bản thành công. Chúng ta kiểm tra version của snort.

Sau đó chạy thử file cấu hình của snort

sudo snort -c /etc/snort/snort.conf -T

Sau khi test, việc hoạt động của snort khá là ổn định.

Rule là một phần quan trọng và không thể thiếu trong Snort. Thực hiện các rule đúng cách là chìa khóa để Snort có thể phát hiện và ngăn chặn các hoạt động xâm nhập trong mạng. Hiển thị các file .rules sử dụng lệnh

sudo ls /etc/snort/rules

Dễ dễ hình dung cho các rules cho từng cách phát hiện thì tôi sẽ dùng file local.rules để thêm, sửa và xóa cho từng phần dưới

Phát hiện xâm nhập mạng ping

Thêm rules phát hiện tấn công bằng lệnh ping

sudo nano /etc/snort/rules/local.rules

Trong file local.rules các bạn hãy cho file sau để phát hiện khi attacker thực hiện ping đến máy chủ.

alert icmp any any -> any any (msg:"PING has been detected"; sid:10000001; rev:1;)

Rule đã được thêm.

Trên máy Ubuntu, chúng ta thực thi snort

sudo snort -c /etc/snort/rules/local.rules -i ens33 -A console

Lúc này công cụ snort đang hoạt động

Trên máy attacker thực hiện lệnh ping đến máy Ubuntu snort

Khi đó trên máy Ubuntu snort đã phát hiện lệnh ping từ ip 192.168.224.134(attacker) -> 192.168.224.133 (ubuntu snort)

Máy Ubuntu snort xuất hiện cảnh báo về lệnh ping, trong thư mục /var/log/snort đã ghi lại log các sự kiện diễn ra

Chúng ta tiến hành tìm file khớp thời gian với lúc attack thực hiện và đọc thông qua lệnh:

sudo snort -r snort.log.1713554268

Phát hiện xâm nhập mạng quét cổng nmap

Tương tự như mục trên, các bạn hãy xóa và thêm rule nmap vào file local.rules

alert tcp any any -> any any (msg:"SCAN nmap XMAS, NMAP has been detected"; flow:stateless; flags:FPU,12; reference:arachnids,30; sid:1228; rev:7;)

Trên máy Ubuntu, chúng ta thực thi snort

sudo snort -c /etc/snort/rules/local.rules -i ens33 -A console

Trên máy attacker thực hiện quét cổng nmap đến Ubuntu snort

sudo nmap -sX -T2 192.168.224.133

Khi đó trên máy Ubuntu snort đã phát hiện quét port nmap từ ip 192.168.224.134(attacker) -> 192.168.224.133 (ubuntu snort)

Máy Ubuntu snort xuất hiện cảnh báo về lệnh quét port nmap từ attacker, trong thư mục /var/log/snort đã ghi lại log các sự kiện diễn ra

Chúng ta tiến hành tìm file khớp thời gian với lúc attack thực hiện và đọc thông qua lệnh:

sudo snort -r snort.log.1713555860

Phát hiện tấn công Ping of Death

Để thực hiện, bên máy attacker tôi sẽ sử dụng một công cụ hping3 (hping3 là một công cụ tạo gói TCP/IP  và thực hiện cuộc tấn công DoS)

Để cài đặt các bạn sử dụng lệnh sau:

sudo apt install hping3

Trước khi cuộc tấn công diễn ra chúng ta sẽ sang máy Ubuntu và bật snort lên và sử dụng tất cả rule của snort ở /etc/snort/snort.conf.

sudo snort -c /etc/snort/snort.conf -i ens33 -A console

Về phía máy attacker chúng ta bắt đầu tấn công Ping of Death bằng hping3

sudo hping3 -S 192.168.224.134 -a 192.168.224.133 --flood

Khi đó hàng loại gói tin sẽ được gửi vào máy Ubuntu snort

Khi đó chúng ta sẽ tìm được một số rule để phát hiện ra PoD

alert tcp $EXTERNAL_NET any <> $HOME_NET 0 (msg:"BAD-TRAFFIC tcp port 0 traffic"; flow:stateless; classtype:misc-activity; sid:524; rev:8;)
alert tcp $EXTERNAL_NET any -> $HOME_NET 162 (msg:"SNMP trap tcp"; flow:stateless; reference:bugtraq,4088; reference:bugtraq,4089; reference:bugtraq,4132; reference:cve,2002-0012; reference:cve,2002-0013; classtype:attempted-recon; sid:1420; rev:11;)
alert tcp $EXTERNAL_NET any -> $HOME_NET 705 (msg:"SNMP AgentX/tcp request"; flow:stateless; reference:bugtraq,4088; reference:bugtraq,4089; reference:bugtraq,4132; reference:cve,2002-0012; reference:cve,2002-0013; classtype:attempted-recon; sid:1421; rev:11;)

Ở phần này, do là tấn công PoD nên chắc hẳn các gói tin sẽ được gửi liên tục, các bạn có thể không nhìn thấy được những thông báo như trên nhưng chúng ta có thể vào thư mục /var/log/snort để đọc lại các log đã được ghi lại cho cuộc tấn công này.

Cảm ơn bạn đã đọc bài viết này. Nếu bạn có bất kỳ câu hỏi hoặc ý kiến đóng góp, đừng ngần ngại để lại bình luận bên dưới. Chúng ta hãy tiếp tục chia sẻ kiến thức và học hỏi từ nhau.

Danh sách bài viết:

Triển khai hệ thống phát hiện xâm nhập Snort trên Linux (phần 1)

Triển khai hệ thống phát hiện xâm nhập Snort trên Linux (phần 2) < here

vanluong