You are on page 1of 83

Snort

Cấn Thị Phượng


Cấn Thị Phượng 1
Đặt vấn đề
• Snort là gì?
• Snort đặt ở đâu?
• Sniffer snort mode như thế nào?
• Packet log snort mode như thế nào?
• NIDS snort mode như thế nào?

Cấn Thị Phượng 2


Nội dung
• Giới thiệu
• Cài đặt
• Snort hoạt động như thế nào
• Thiết lập luật như thế nào
• Test luật như thế nào?

Cấn Thị Phượng 3


Giới thiệu
• Snort là IDS (cũng có thể là IPS)
• Tại sao cần có IDS, IPS
• Firewall có thể làm lọt gói tin độc hại vào mạng nội
bộ
• Các gói tin độc hại đến từ mạng nội bộ bên trong
• Thế nào là IDS, IPS?

Cấn Thị Phượng 4


IDS
• Snort là một IDS nổi tiếng

Cấn Thị Phượng 5


IPS

Cấn Thị Phượng 6


Giống nhau
• IDS và IPS tự động cảnh báo cho tường lửa lưu lượng
khác thường
• Logic và học tốt hơn tường lửa
• Có thể network based hoặc host based

Cấn Thị Phượng 7


Khác nhau giữa IDS và IPS

IDS IPS
• Đặt cạnh lưu lượng • Đặt ngay trên đường đi
mạng, lưu lượng mạng lưu lượng mạng
được switch copy qua • Tăng độ trễ cho mạng
IDS
• Ngay lập tức chặn gói tin
• Không tăng độ trễ độc hại
• Không thể ngay lập tức
chặn gói tin độc hại
Cấn Thị Phượng 8
Snort
• Chạy trên các nền tảng: Windows, MAC, Linux, Unix
• Có thể phân tích lưu lượng thời gian thực
• Logging packet
• Phân tích giao thức
• Tìm và khớp nội dung
• Phát hiện tấn công và thăm dò
• Buffer Overflows
• Port scan
• CGI attacks
• SMB probes
• OS Fingerprinting attempt
•…
Cấn Thị Phượng 9
Tốc độ của snort
• Phụ thuộc vào
• Số luật phải xử lý
• Tốc độ xử lý của máy tính cài snort
• Tốc độ của Internal Bus
• Tốc độ mạng

Cấn Thị Phượng 10


Cấn Thị Phượng 11
Các thành phần của Snort
Route
Modify r,
config firewa
ll

Wind
XML file, ows
SMB machi
message ne

Sending MySql
SNMP, Datab
trap, ase
logging

Sending SYSlog
message Sever

Cấn Thị Phượng 12


Chi tiết các thành phần
Thành phần Chức năng
Packet decoder Quyết định giao thức nào được
dùng trong frame, phát hiện lỗi
Preprocessor Sắp xếp và điều chỉnh gói tin
Detection engine Phân tích phát hiện xâm nhập
Logging and Alerting Tạo log và cảnh báo
system
Output modules Điều khiển kiểu logging và cảnh
báo tạo ra
Cấn Thị Phượng 13
Một ví dụ về decoder
• Nếu gói tin IP có kích thước <20 byte?

Cấn Thị Phượng 14


Một ví dụ về preprocessors
• Nếu link URL của HTTP có kí tự hexa?
• %55nion(%53elect) union%20distinct%20select
union%20%64istinctRO%57%20select union%2053elect
%23?%0auion%20?%23?%0aselect %23?zen?%0Aunion
all%23zen%0A%23Zen%0Aselect %55nion %53eLEct
u%6eion se%6cect unio%6e %73elect
unio%6e%20%64istinc%74%20%73elect uni%6fn
distinct%52OW s%65lect %75%6e%6f%69%6e
%61%6c%6c %73%65%6c%65%63%7
Cấn Thị Phượng 15
Tường lửa, IDS, IPS
• Thảo luận sự giống và khác nhau giữa:
• Tường lửa
• IDS
• IPS

Cấn Thị Phượng 16


Snort đặt ở đâu?
• SPAN port mirroring
• Kết nối vào một cổng của switch
• Internal traffic giữa các server
• Một số packet lỗi có thể không
đến được IDS do span port bị quá tải

• Kết nối bởi 1 network tab


• Lưu lượng vào và ra khỏi switch
• Đằng sau Firewall
• Tất cả lưu lượng đến được IDS
Cấn Thị Phượng 17
Snort

Cấn Thị Phượng 18


IDS vs IPS vs Firewall

Cấn Thị Phượng 19


Thiết lập IDS hay IPS

Cấn Thị Phượng 20


Thiết lập IDS hay IPS
• Inline
• Cho phép snort chạy với vai trò IPS cho phép vứt bỏ gói tin
• Thiết lập
• snort -Q
• config policy_mode:inline
• Passive
• Cho phép snort chạy với vai trò IDS chỉ giám sát
• Thiết lập
• config policy_mode:tap
• Inline-test
• Cho phép test kiểu inline nhưng không ảnh hưởng tới lưu lượng (không vứt lưu
lượng)
• Thiết lập
• snort --enable-inline-test
• config policy_mode:inline_test

Cấn Thị Phượng 21


Các chế độ cấu hình

Cấn Thị Phượng 22


3 mode của snort
• Có thể cấu hình snort theo 3 mode:
• Sniffer: Đọc gói
• Packet logger: Lưu gói
• NIDS (Network intrusion dectection system)

Cấn Thị Phượng 23


3 mode của snort (tt)
• NIDS (Network intrusion dectection system)
• Giám sát
• Phân tích theo luật
• Thực thi hành động nào đó căn cứ luật
• Lờ gói
• Log gói
• Đưa ra cảnh báo
• Thực hiện hành động sau cảnh báo
• Gửi thông điệp tới syslog
• Gửi SMNP trap
• Xuất log sang file XML
• Kết hợp nhiều hành động
• Vứt bỏ gói (Nếu Snort đóng vai trò IPS)

Cấn Thị Phượng 24


Câu hỏi 1
• SPAN ports có thể quá tải và vứt gói?
A. True
B. False

Cấn Thị Phượng 25


Câu hỏi 2
• Chỉ ra 3 chế độ cấu hình của Snort? Chọn 3
❑Network Intrusion Detection System
❑Network Intrusion Prevention System
❑Packet logger
❑Port analyzer
❑Port monitor
❑Sniffer
❑Switch

Cấn Thị Phượng 26


Rule

• Gồm hai phần (trước và sau dấu ngoặc


đơn)
• Rule header: who
• Rule option: what
Cấn Thị Phượng 27
• Có metadata dùng phân lớp
Luật mở rộng
• Cú pháp

Cấn Thị Phượng 28


Các thông tin của rule header
Trường thông tin Ý nghĩa Ví dụ
Action Hành động Alert
Log
Pass
Active
dynamic
Drop Dùng khi snort chế độ IPS (inline)
Reject
sdrop
Protocol Giao thức Ip
Tcp
Udp
Cấn Thị Phượng 29
ICMP
Trường thông Ý nghĩa Ví dụ
tin
S.IP Địa chỉ IP nguồn 192.168.1.0/24
S.Port Cổng nguồn 1024
Direction Hướng ->
<-
<>: Hai chiều
D.IP Ip đích 192.168.2.1
D.Port Cổng đích 22
Cấn Thị Phượng 30
Cú pháp luật - header

Cấn Thị Phượng 31


Rule option
• Một số option: msg, flags, logto, ack, ….
Xem thêm tài liệu [1], [2].
• Có thể có hoặc không có rule option. Nếu có
nhiều rule option thì các option cách nhau
dấu “;”.
• Các option ngăn cách giá trị của nó bởi dấu
“:”. Ví dụ:
Cấn Thị Phượng 32
Ví dụ
• log tcp !192.168.1.0/24 any -> 192.168.1.73 22 (msg:
“Cac truy cap SSH”;)
• Ghi log các gói sử dụng giao thức tcp từ bất cứ địa
chỉ nào ngoại trừ các địa chỉ từ 192.168.1.0 từ bất cứ
cổng nào tới địa chị 192.168.1.77 trên cổng 22. Đưa
ra thông báo là Các truy cập SSH.
• Pass udp 10.0.0.1 any -> 10.0.0.0/24 any
• Cho qua (pass) hoặc là snort lờ đi các gói tin quét lỗ
hổng
Cấn Thị Phượng 33
Bài tập
• Máy snort 191.1.1.1/24
• Kali 191.1.1.2/24
• Cảnh báo các lưu lượng tcp từ kali trên cổng 443 tới
máy snort trên cổng bất kì, với thông điệp “Có thể có
quét cổng”
• Phong làm:
• alert tcp ! 191.1.1.2 /24 443 -> 191.1.1.1/24 any (msg: ''
có thể có quét cổng";)
Cấn Thị Phượng 34
Yêu cầu
• Viết luật cho trường hợp sau:
• “Tạo cảnh báo với thông điệp “Quét cổng dạng NULL
scan khi có quét cổng dạng này tới máy địa chỉ
192.168.1.5 tại cổng bất kì với thông điệp “Quét cổng
dạng NULL scan”

Cấn Thị Phượng 35


Ví dụ luật chứa dải cổng
• Log udp any any -> 192.168.1.0/24 1:1024
• Log các lưu lượng udp bất kì tới mạng 192.168.1.0/24 theo dải
cổng từ 1 tới 1024
• Log tcp any any -> 192.168.1.0/24 :6000
• Log lưu lượng tcp bất kì tới mạng 192.168.1.0 trên các cổng
nhỏ hơn 6000
• Log tcp any :1024 -> 192.168.1.0/24 500:
• Log lưu lượng tcp từ mạng bất kì trên các cổng nhỏ hơn 1024
tới mạng 192.168.1.0/24 tại cổng lớn hơn 500
• Log tcp any any -> 192.168.1.0/24 !6000:6010
• Log lưu lượng bất kì tới mạng 192.168.1.0/24 trên các cổng
ngoại trừ dải cổng 6000 tới 6010

Cấn Thị Phượng 36


Các biến trong luật
• Luật của snort có thể dùng biến
• Biến được khai báo trong file cấu hình
• Ví dụ biến có sẵn
• $HOME_NET: Mạng nội bộ
• $EXTERNAL_NET: mạng bên ngoài
• $WEB-PORTS: Các cổng như HTTP, SSL, TSL
• Hoặc khai tự khao báo biến
• ipvar <ten bien> <gia tri>
• Ví dụ ipvar Mang_noibo 192.168.1.0/24
Cấn Thị Phượng 37
Khai báo biến
• ipvar: Dùng khai báo danh sách IP, dùng ngoặc vuông để khai báo giá trị
• Ví dụ:
• [1.1.1.1,2.2.2.0/24,![2.2.2.2,2.2.2.3]]
• Lưu ý: any được dùng nhưng !any không được dùng
• Portvar: Dùng khai báo danh sách cổng
• Ví dụ: [80:90,888:900]
• Lưu ý: any được dùng nhưng !any không
• Var: Có thể dùng khai báo cổng và ip nhưng không nên.
• Chỉ nên dùng khai báo các giá trị khác
• Nếu dùng để khai báo cổng, tên biến buộc phải có từ PORT trước hoặc sau biến
• Biến lồng biến
• portvar pvar1 80
• portvar pvar2 [$pvar1,90]

Cấn Thị Phượng 38


Tìm hiểu rule option

Cấn Thị Phượng 39


Luật snort - option
• Các option cơ bản
Option Ý nghĩa
Msg: Thông điệp đưa ra khi action là log hoặc alert
Giá trị thông điệp đặt trong ngoặc kép
Ví dụ: mgs: “Có quét cổng”
Reference: Tham chiếu tới tài nguyên khác (chi tiết slide sau)
thường là các mã tấn công
Sid: Id của luật
Rev: Chỉ ra phiên bản của luật
classtype Phân lớp theo lớp định nghĩa sẵn
Priority: Cấp độ ưu tiên của luật
Cấn Thị Phượng 40
Metadata Cho phép nhúng một số tin thêm vào luật
flags
• Các cờ
• F - FIN
• S - SYN
• R - RST
• P - PSH
• A - ACK
• U - URG
• Các kí tự đại diện:
• + Bất kì cờ nào trong 9 cờ
• * Bất kì cờ nào trong 6 cờ tiêu chuẩn
• ! Không có cờ nào
• Ví dụ
alert tcp any any -> 192.168.1.0/24 any (flags: SF; msg: "Possible SYN FIN scan";)

Cấn Thị Phượng 41


metadata
• Format
• metadata:key1 value1;
• metadata:key1 value1, key2 value2;
• Nếu key khác thì snort lờ đi
Key Description Value Format
engine Indicate a Shared Library
"shared"
Rule
soid Shared Library Rule
Generator and SID gid sid
service Target-Based Service
Cấn Thị Phượng "http" 42
Identifier
Về Sid

Cấn Thị Phượng 43


Về reference
ystem URL Prefix

bugtraq http://www.securityfocus.com/bid/

cve http://cve.mitre.org/cgi-bin/cvename.cgi?name=

nessus http://cgi.nessus.org/plugins/dump.php3?id=

arachnids (currently down) http://www.whitehats.com/info/IDS

mcafee http://vil.nai.com/vil/content/v_

osvdb http://osvdb.org/show/osvdb/

msb http://technet.microsoft.com/en-us/security/bulletin/

url http://

Cấn Thị Phượng 44


Ví dụ reference
• CVE -Common Vulnerabilities and Exposures
• Ví dụ CVE ID là ID của các malformed các lỗ hổng bảo
mật được định nghĩa trong web:
• https://cve.mitre.org/cgi-bin/cvename.cgi?name=
• Định dạng: CVE-YYYY-NNNN
• YYYY là năm
• NNNN là số (ít nhất phải có 4 số hoặc hơn)

Cấn Thị Phượng 45


Yêu cầu-hãy tìm hiểu một số lỗ hổng
• CVE-2018-20250
• CVE-2017-11317
• CVE-2018-11091
• CVE-2019-15107
• CVE-2019-18935

Cấn Thị Phượng 46


Định dạng viết reference
• reference:<id system>, <id>; [reference:<id system>, <id>;]
• Ví dụ
1. alert tcp any any -> any 7070 (msg:"IDS411/dos-realaudio";
flags:AP; content:"|fff4 fffd 06|"; reference:arachnids,IDS411;)
2. alert tcp any any -> any 21 (msg:"IDS287/ftp-wuftp260-venglin-
linux";
flags:AP; content:"|31c031db 31c9b046 cd80 31c031db|";
reference:arachnids,IDS287; reference:bugtraq,1387;
reference:cve,CAN-2000-1574;)

Cấn Thị Phượng 47


content
• Ví dụ
• Lỗi tràn bộ đệm:
• alert tcp any any -> 192.168.1.0/24 143 (content: "|90C8
C0FF FFFF|/bin/sh"; msg: "IMAP buffer overflow!";)
• Có phân biệt chữ hoa chữ thường trong content
• Do đó nếu không phần biệt thì thêm option nocase
• Ví dụ:
alert tcp any any -> any 25 (msg:"SMTP expn root"; flags:A+;
content:"expn root"; nocase; classtype:attempted-recon;)
Cấn Thị Phượng 48
Đọc luật (1)
1. alert tcp $HOME_NET 23 -> $EXTERNAL_NET any (msg:"TELNET login incorrect";
content:"Login incorrect"; flags: A+; reference:arachnids,127;)
2. alert udp $EXTERNAL_NET any -> $HOME_NET 53 (msg:"EXPLOIT BIND Tsig
Overflow Attempt"; content:"|80 00 07 00 00 00 00 00 01 3F 00 01 02|/bin/sh";)
3. alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"SCAN FIN"; flags: F;
reference:arachnids,27;)
4. alert tcp $EXTERNAL_NET any -> $HOME_NET 23 (msg:"MISC linux rootkit attempt
lrkr0x";flags: A+; content:"lrkr0x";)
5. alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS 80 (msg:"WEB-CGI view-source
access ";flags: A+; content:"/view-source?../../../../../../../etc/passwd";
nocase;reference:cve,CVE-1999-0174;)

Cấn Thị Phượng 49


content-list
• content-list: "<file_name>";
• Cho phép kiểm tra nhiều content
• Đưa các content vào file, mỗi content trong một dòng
• Ví dụ: file adult chứa các từ như bên dưới
• # adult sites
porn
adults
hard core
www.pornsite.com
# ...
Cấn Thị Phượng 50
offset
• Đi với option content. Nếu không có content nó không có ý
nghĩa
• Nếu không muốn kiểm tra từ đầu của payload ta có thể
nhảy tới vị trí cần kiểm tra
• Offset sẽ thiết lập vị trí bắt đầu kiểm tra
• Thường dùng phát hiện CGI scan
• Trong trường hợp CGI Scan khó có thể tìm thấy dấu hiệu
trong nội dung payload trong 4 byte đầu tiên, do đó có thể
nhảy qua 4 byte này
• Tuy nhiên trong các trường hợp khác, cần lưu ý có thể sẽ
bị bỏ qua dấu hiệu
Cấn Thị Phượng 51
depth
• Đi với option content. Nếu không có content nó không
có ý nghĩa
• Nếu ta không muốn kiểm tra hết payload, chỉ muốn
kiểm tra tới vị trí nào đó thôi thì dùng Depth
• Thường kết hợp với offset
• alert tcp any any -> 192.168.1.0/24 80 (content: "cgi-
bin/phf"; offset: 3; depth: 22; msg: "CGI-PHF access";)

Cấn Thị Phượng 52


ACK
• Kiểm tra số ACK number
• Thường dùng kiểm tra phát hiện NMAP TCP pings.
• Vì khi này ACK number là 0
• Ví dụ:
• alert any any -> 192.168.1.0/24 any (flags: A; ack: 0;
msg: "NMAP TCP ping";)

Cấn Thị Phượng 53


React
• Có một số website nội dung không phù hợp
• Có thể cảnh báo hoặc khóa các website này bằng luật snort
• Reack cho phép
• Block: khóa
• Warn: cảnh báo
• Có thêm thông điệp cảnh báo
• Msg
• react: <react_basic_modifier[, react_additional_modifier...]>;
• Ví dụ:
• alert tcp any any <> 192.168.1.0/24 80 (content-list: "adults"; msg: "Not for
children!"; react: block, msg;)
• alert tcp any any <> 192.168.1.0/24 any (content-list: "adults"; msg: "Adults list
access attempt"; react: block;)

Cấn Thị Phượng 54


Resp
• Cho phép snort chủ động đóng kết nối khi có vi phạm
• rst_snd – gửi TCP-RST packets đến socket gửi
• rst_rcv – gửi TCP-RST packets socket nhận
• rst_all – gửi TCP_RST packets cả hai hướng
• icmp_net – gửi ICMP_NET_UNREACH đến người gửi
• icmp_host – gửi ICMP_HOST_UNREACH đến người gửi
• icmp_port – gửi ICMP_PORT_UNREACH đến người gửi
• icmp_all – gửi tất cả các ICMP packets đến người gửi
• Ví dụ
• alert tcp any any -> 192.168.1.0/24 1524 (flags: S; resp: rst_all; msg: "Root shell
backdoor attempt";)
• alert udp any any -> 192.168.1.0/24 31 (resp: icmp_port,icmp_host; msg: "Hacker's
Paradise access attempt";)

Cấn Thị Phượng 55


classtype
• http://manual-snort-org.s3-website-us-east-
1.amazonaws.com/node31.html#SECTION0044600000
0000000000
• Định dạng
• classtype:<class name>;
• Ví dụ
• alert tcp any any -> any 25 (msg:"SMTP expn root";
flags:A+; content:"expn root"; nocase;
classtype:attempted-recon;)

Cấn Thị Phượng 56


Đọc luật (2)
6. alert icmp any any -> any any (msg:"ICMP Source Quench"; itype: 4; icode: 0;)
7. alert tcp $EXTERNAL_NET any -> $HOME_NET 53 (msg:"DNS EXPLOIT named
overflow";flags:
A+;content:"thisissometempspaceforthesockinaddrinyeahyeahiknowthisislamebutanyway
whocareshorizongotitworkingsoalliscool"; reference:cve,CVE-1999-0833;)
8. alert tcp $EXTERNAL_NET any -> $HOME_NET 139 (msg:"NETBIOS SMB
ADMIN$access"; flow:to_server,established; content:"\\ADMIN$|00 41 3a 00|";
reference:arachnids,340; classtype:attempted-admin; sid:532; rev:4;)
9. alert ip $EXTERNAL_NET $SHELLCODE_PORTS -> $HOME_NET any
(msg:"SHELLCODE sparc NOOP"; content:"|a61c c013 a61c c013 a61c c013 a61c
c013|"; reference:arachnids,355; classtype:shellcode-detect; sid:646; rev:4;)

Cấn Thị Phượng 57


Nên sắp xếp các option không?
• Có
• Để tăng tốc độ thực hiện luật
• Nên sắp xếp thứ tự content trước sau đó flags, …rồi
đến msg, sid, rev.
• Ví dụ
• alert tcp any any -> 192.168.1.0/24 80 (content: "cgi-
bin/phf"; flags: PA; msg: "CGI-PHF probe";)

Cấn Thị Phượng 58


Các luật trong snort

Cấn Thị Phượng 59


Lệnh thực hiện các chế độ

Cấn Thị Phượng 60


Lab#1-:snort sniffer
• Snort –h: xem các option
• Snort –v –i eth0
• -i là tham số chỉ interface nào
• Mở một cửa sổ khác thực hiện ping 8.8.8.8
• Quan sát
• Tại cửa sổ sổ snort, nhấn Ctrl + C xem kết quả phân tích
• Tiếp tục kịch bản khác với tham số -d xem tầng dữ liệu vẫn
tiếp tục ping
• Ctr + C xem kết quả
• Tiếp tục kịch bản khác với tham số -e xem tầng 2
• Ctrl + c xem kết quả
Cấn Thị Phượng 61
Snort –h|more
• Hãy đọc các tham số và cho biết ý nghĩa

Cấn Thị Phượng 62


Lab#1
• Sử dụng lệnh $snort –v –e –I eth0
• Mở một terminal khác
• Nhập lệnh $ping 8.8.8.8
• Xem kết quả lệnh $snort –v –e –I eth0
• Tương tự với lệnh $snort –v –ed –I eth0

Cấn Thị Phượng 63


Lab#1: Kết quả
Snort -vde
– eth0 snort –vd -i eth0

Cấn Thị Phượng 64


Lab#2: snort mode packet logger
• Ghi vào một thư mục nội dung các gói tin đã bắt, mở
bằng wireshark
• Dùng tham số -l
• Snort –vde –i eth0 –l /home/phuongh2t
• Trong lúc này mở trình duyệt vào một website
ntu.edu.vn
• Mở thử mục
• Mở file và kiểm tra
Cấn Thị Phượng 65
Kết quả lab#2

Cấn Thị Phượng 66


Snort NIDS mode

Cấn Thị Phượng 67


NIDS mode-ví dụ
• $ sudo snort -dev -l ./log -h 192.168.1.0/24 -c snort.conf
• Tham số -l sẽ chỉ ra file ghi lại kết quả của lệnh nếu
không chỉ ra mặc định sẽ lưu vào /var/log/snort
• Tham số -c sẽ chỉ ra file chứa luật
• Hiển thị header tất cả các tầng
• $ snort -d -h 192.168.1.0/24 -l ./log -c snort.conf
• Tham số -d chỉ hiển thị tầng ứng dụng

Cấn Thị Phượng 68


Một số cách hiển thị cảnh báo
Option Description
Fast alert mode. Writes the alert in a simple format with a
-A fast
timestamp, alert message, source and destination IPs/ports.
Full alert mode. This is the default alert mode and will be
-A full
used automatically if you do not specify a mode.
Sends alerts to a UNIX socket that another program can listen
-A unsock
on.
-A none Turns off alerting.
-A console Sends “fast-style” alerts to the console (screen).
-A cmg Generates “cmg style” alerts.
Cấn Thị Phượng 69
Thứ tự các luật trong file cấu hình
• Pass rules
• Drop rules
• Alert rules
• Log rules

Cấn Thị Phượng 70


Thay đổi thứ tự luật mặc định
• Sử dụng tham số:
• -alert-before-pass : đưa luật alert lên trước luật cảnh báo
• luật drop và reject và alert sẽ được log như
-treat-drop-as-alert:

luật alert. Điều này cho phép thực thi passive/IDS mode.
• -process-all-events thực hiện theo thứ tự các luật

Cấn Thị Phượng 71


Lab#3: snort NIDS mode #31
• Chạy luật sau
• alert tcp any any -> 192.168.1.0/24 4444 (msg: “Có thể tấn công kiểu
Metasplot”; sid:1;)
• Đưa luật vào file luat.conf
• Snort –i3 –l c:\snort\log –c c:\snort\etc\luat.conf
• Chạy kali linux
• Kali linux cùng mạng với máy snort
• Từ kali ping máy snort
• Máy snort địa chỉ 192.168.1.1
• Từ kali Vào trình duyệt nhập 192.168.1.1:4444
• Kiểm tra file trong thư mục c:\snort\log
• Alert: dùng lệnh less đọc
• Log: dùng wireshark đọc
Cấn Thị Phượng 72
Kết quả lab#31

Cấn Thị Phượng 73


Lab#3: snort NIDS mode #32
• Máy kali và máy snort cùng mạng
• Tạo file luat.conf chứa các lệnh (Cảnh báo về quét cổng)
• alert tcp any any -> any any (msg: “FIN Scan”; flags: F; sid:2;)
• alert tcp any any -> any any (msg: “Xmas Scan”; flags: FUP; sid:3;)
• alert tcp any any -> any any (msg: “Null Scan”; flags: 0; sid:4;)
• Snort –i3 –l c:\snort\log –c c:\snort\etc\luat.conf
• Mở kali thực hiện quét cổng
• Nmap –sF –p 80 192.168.1.4
• Nmap –sX –p 80 192.168.1.4
• Nmap –sN –p 80 192.168.1.4
• Mở file log, alert và kiểm tra

Cấn Thị Phượng 74


Kết quả lab#32

Cấn Thị Phượng 75


Thực hành
• Sinh viên tạo luật để cảnh báo:
• Có lưu lượng truy cập tới FTP
• Có lưu lượng chứa chữ “malware” trên web
• Có lưu lượng ping từ bên ngoài

Cấn Thị Phượng 76


Ngưỡng để phát hiện số lượng bất
thường
• http://manual-snort-org.s3-website-us-east-
1.amazonaws.com/node35.html
• https://stackoverflow.com/questions/47742405/using-
snort-suricata-i-want-to-generate-an-ssh-alert-for-every-
failed-login-to
• https://www.snort.org/rule_docs/1-492

Cấn Thị Phượng 77


Lab DoS
• hping3 -S -p 80 --flood --rand-source [target]
• Luật tương ứng
• alert tcp !$HOME_NET any -> $HOME_NET 80 (flags:
S; msg:"Possible TCP DoS"; flow: stateless; threshold:
type both, track by_src, count 70, seconds 10;
sid:10001;rev:1;)

Cấn Thị Phượng 78


Phát hiện DDos
• Dùng lệnh
• First of all check your CPU load is high and you have a
large number of HTTP process running, check the load
using command,
#w
Count the number of HTTP processes running by
following command,
# ps -aux|grep -i HTTP|wc -l

Cấn Thị Phượng 79


Phát hiện DDoS
• You can use the below netstat command to get number
connection from the IPs:
netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 |
sort | uniq -c | sort -n
if it is a minor attack, you can prevent this by using
mod_evasive or ddos Deflate. In the case of major
attacks, your software firewall might not help much. In
that case, keep your server under a h/w firewall.

Cấn Thị Phượng 80


Tài liệu tham khảo
• [1]. Snort.org
• [2].
https://paginas.fe.up.pt/~mgi98020/pgr/writing_snort_rules.htm#rul
e_actions
• https://www.snort.org/faq/readme-sfportscan
• http://manual-snort-org.s3-website-us-east-
1.amazonaws.com/node2.html
• https://courses.edx.org/courses/course-
v1:RITx+CYBER504x+1T2020/courseware/4785366d6ddb4b1b85
5307074dd8eac7/1df987809cd442718a2c0eef0acf86e3/?activate
_block_id=block-
v1%3ARITx%2BCYBER504x%2B1T2020%2Btype%40sequential
%2Bblock%401df987809cd442718a2c0eef0acf86e3
Cấn Thị Phượng 81
Tài liệu tham khảo (tt)
• B. Caswell, J. Beale, A. Baker, “Snort IDS and IPS
Toolkit”, Syngress, 2007
• J. Babbin, S. Biles, A.D. Orebaugh, “Snort Cookbook”,
O'Reilly, 2005
• M. Gregg, “The Network Security Test Lab: A Step-byStep
Guide”, Wiley, 2015
• TutorialPoints, “Network Security Tutorial”, 2017
• R. Bejtlich, “The Practice of Network Security
Monitoring: Understanding Incident Detection and
Response”, No Starch Press, 2013

Cấn Thị Phượng 82


Cấn Thị Phượng 83

You might also like