Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Làm sao để viết được snort rule

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Làm sao để viết được snort rule

    Em đang tìm hiểu về snort. Trong snort cái phần quan trọng nhất là làm sao để có thể viết được rule và tạo signature, nhưng em lại gà mờ phần này quá :(
    Ví dụ một rule nó như thế này:

    Code:
    alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"DDOS Stacheldraht client check gag"; icmp_id:668; itype:0; content:"gesundheit!"; metadata:policy balanced-ips drop, policy security-ips drop; reference:arachnids,194; reference:cve,2000-0138; classtype:attempted-dos; sid:236; rev:9;)
    Em chỉ hiểu đượccấu trúc của nó như sau:
    alert: Rule action
    icmp: Protocol
    msg: message thông báo
    sid: cái signature trong thư mục signatures của snort

    Còn những thành phần khác: icmp_id, itype, content, reference,.....em không làm sao hiểu được nó ở đâu ra và có ý nghĩa như thế nào. Khi viết rule liệu có nhất thiết phải có đủ những thành phần này không.
    Nhất là phần content, theo em cái phần content là content của packet mà snort capture được, nhưng làm sao để biết được content của một packet để viết rule bây giờ.
    Về phần sid, làm sao để có thể tạo signature của kiểu tấn công trên nhỉ.
    Hic, rắc rối quá. Làm sao để có thể tạo được một rule đơn giản bây giờ?
    Ai giúp em những thắc mắc này với.
    Ví dụ như em muốn alert khi có một người dùng trong mạng của mình download quá 100MB từ 1h-2h liệu có được không nhỉ

  • #2
    Hic, các pro đâu hết roài :(

    Comment


    • #3
      "alert icmp $EXTERNAL_NET any -> $HOME_NET any"
      - Đây là alert khi có 1gói icmp đi từ vùng $EXTERNAL_NET (vùng ngoài) tới $HOME_NET (vùng trong), vùng ngoài và trong bạn xem trong file snort.conf (thường là các lớp IP mạng trong vào mạng ngoài).
      Thông điệp alert là:
      msg:"DDOS Stacheldraht client check gag"; icmp_id:668; itype:0; content:"gesundheit!"; metadata:policy balanced-ips drop, policy security-ips drop; reference:arachnids,194; reference:cve,2000-0138; classtype:attempted-dos; sid:236; rev:9;
      --> thường phải tool phân tích (ví dụ: BASE) để xem.
      - Nếu bạn mới tìm hiểu thì nên ứng dụng lại tập rule có sẵn: bản free cũng khá đầy đủ.
      - Sau khi ứng dụng thành thạo thì viết rule rất đơn giản.
      Một số links tham khảo:
      1. www.snort.org
      2. Centos: http://www.google.com.vn/search?hl=v...1%BA%BFm&meta=
      3. Windows: http://www.google.com.vn/search?hl=v...1%BA%BFm&meta=
      Trung tâm tin học VnPro
      Cisco Authorised Training
      149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
      Tel: (08) 5124257-5125314
      Fax: (08) 5124314
      http://vnpro.vn
      support forum: http://vnpro.org

      Comment


      • #4
        Originally posted by coolie.it View Post
        Em đang tìm hiểu về snort. Trong snort cái phần quan trọng nhất là làm sao để có thể viết được rule và tạo signature, nhưng em lại gà mờ phần này quá :(
        Ví dụ một rule nó như thế này:

        Code:
        alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"DDOS Stacheldraht client check gag"; icmp_id:668; itype:0; content:"gesundheit!"; metadata:policy balanced-ips drop, policy security-ips drop; reference:arachnids,194; reference:cve,2000-0138; classtype:attempted-dos; sid:236; rev:9;)
        Em chỉ hiểu đượccấu trúc của nó như sau:
        alert: Rule action
        icmp: Protocol
        msg: message thông báo
        sid: cái signature trong thư mục signatures của snort

        Còn những thành phần khác: icmp_id, itype, content, reference,.....em không làm sao hiểu được nó ở đâu ra và có ý nghĩa như thế nào. Khi viết rule liệu có nhất thiết phải có đủ những thành phần này không.
        Nhất là phần content, theo em cái phần content là content của packet mà snort capture được, nhưng làm sao để biết được content của một packet để viết rule bây giờ.
        Về phần sid, làm sao để có thể tạo signature của kiểu tấn công trên nhỉ.
        Hic, rắc rối quá. Làm sao để có thể tạo được một rule đơn giản bây giờ?
        Ai giúp em những thắc mắc này với.
        Ví dụ như em muốn alert khi có một người dùng trong mạng của mình download quá 100MB từ 1h-2h liệu có được không nhỉ
        Hi,
        Một số ý để bạn tham khảo:
        - Các options như icmp_id, itype, content, reference,... bạn có thể xem 1 số tài liệu như bạn ở trên đưa để hiểu thêm và khi tạo rule không nhất thiết phải có đủ tất cả các thành phần này trong rule.
        - content là phần khá quan trọng, chính xác nó là phần mà snort sẽ dùng để so sánh với packet capture được về mặt content, nếu match với content của packet thì nó sẽ alert/ block, ...
        - Để biết được signature có nhiều cách:
        + với những loại tấn công thực sự: bạn có thể lên google và search để tìm signature của nó là gì :)
        + với mục đích test: chẳng hạn capture 1 packet có content: "abc def", và bạn muốn tạo rule để alert với những packet loại này thì signature là gì? vậy thì signature (dấu hiệu) ở đây có thể là : a hay ab hay b hay ..... Khi đó rule bạn tạo rule phần content có thể để content = "a" hay "ab"(có thể dùng ASCII hoặc Hexa) và khi có bất kỳ packet nào có nội dung chứa "a" sẽ bị alert.
        Trên đây chỉ là 1 ví dụ, signature có thể là content, protocol, các fields của packet, ...
        Hi vọng các giải thích trên có thể giúp bạn hiểu hơn để tiếp tục ngâm cứu :)

        Comment

        Working...
        X