Các bro cho mình hỏi làm cách nào để viết một rule phát hiện có tấn công shellcode trên snort vậy ? Mình thấy rule có sẵn của snort phát hiện shellcode qua từ khoá content ( nội dung ) trong đó chứa những kí tự đặc biệt của loại shellcode hay của cuộc tấn công đó. Vậy cho em hỏi là cái content đó lấy ở đâu ra ? làm cách nào để phân tích được nó . Và phân tích nó như thế nào . anh em nào biết cách hoặc co tài liệu liên quan đến vấn đề này hoặc ví dụ càng tốt thì cho mình thỉnh giáo với nhá ! tks mọi người
Hello bạn
Để có thể nắm được về các Rule, bạn cần biết cấu trúc của Rule. Tài liệu hướng dẫn tạo Rule ở
link này (trang 182). Như trong tài liệu, một rule bao gồm các thành phần:
- Action: có thể là Alert, Log, Pass, Activate, Dynamic, Drop, Reject, Sdrop.
- Protocol: TCP, UDP, ICMP, IP, ARP, IGRP, GRE, OSPF, RIP, IPX.
- IP: địa chỉ IP nguồn và đích của lưu lượng cần giám sát.
- Port: cổng của dịch vụ tương ứng.
- Direction: chiều lưu lượng cần giám sát
- Activate/Dynamic: một activate rule có thể kích hoạt một dynamic rule, khi một điều kiện nào đó xảy ra.
Trong một rule sẽ có phần Option. Phần này rất quan trọng và đóng vai trò như trái tim của một rule trong việc phát hiện xâm nhập. Có 4 loại Option chính:
- General
- Payload
- Non-payload
- Post detection
Trong General option có tùy chọn ClassType với giá trị là
shellcode-detect để phát hiện mã thực thi, hoặc
trojan-activity để phát hiện Trojan.
Theo mình biết thì các rule của Snort thường được cập nhật ở trang
http://blog.snort.org/. Bạn có thể lấy ở trang này.