spiegazione delle regole di snort

-1

Sono abbastanza nuovo per Snort, Qualcuno potrebbe spiegare queste due regole? In particolare, perché contengono più di un campo "contenuto"?

alert tcp $EXTERNAL_NET any -> $HOME_NET any (
msg:"ET TROJAN Reply Sinkhole - irc-sinkhole.cert.pl"; 
flow:established,from_server; 
content:"|3a|irc|2d|sinkhole|2e|cert|2e|pl"; 
nocase; 
fast_pattern:only; 
content:"|3a|End of MOTD command|2e|"; 
classtype:trojan-activity; 
sid:2019354; 
rev:1;)

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (
msg:"ET MALWARE Adware.iBryte.B Install"; 
flow:to_server,established; 
content:"/impression.do/?"; 
http_uri; 
fast_pattern:only; 
content:"user_id="; 
http_uri; 
content:"event="; 
http_uri; 
content:"source="; 
http_uri; 
reference:md5,1497c33eede2a81627c097aad762817f; 
classtype:trojan-activity; 
sid:2018194; 
rev:4;)
    
posta CDominik 07.10.2015 - 21:31
fonte

1 risposta

1

Specifically, why do they contain more than one "content" field ?

Se disponi di più campi content , snort prova a far corrispondere il primo campo contenuto seguito dal campo secondi, ecc. in modo ricorsivo. Ho preso un esempio modificato da qui :

alert ip any any -> any any (content:"a"; content:"b";)

Questa regola cercherebbe a , una volta trovata la corrispondenza, cerca b . Se abbinato correttamente, attiva l'avviso.

fast_pattern: solo

Come specificato nello snort manuale , è un modificatore di regola content . Il che significa che si applica alla precedente content parola chiave. Una volta snort trovi una corrispondenza per il content che segue con fast_pattern , quindi inizia a valutare le regole (ad esempio, corrisponde ad altre parole chiave content ). Per dirla semplicemente, l'idea di fast_pattern è di accelerare l'elaborazione senza cercare di trovare tutti i campi content nella regola.

|3a|irc|2d|sinkhole|2e|cert|2e|pl nella tua prima regola viene utilizzata per la corrispondenza rapida dei pattern, una volta che la corrispondenza ha avuto successo, snort cerca |3a|End of MOTD command|2e| . Se la corrispondenza del modello veloce non riesce, snort salta la regola.

/impression.do/? nella tua seconda regola viene utilizzata per la corrispondenza rapida dei pattern, una volta che la corrispondenza ha avuto successo, snort cerca user_id= , seguito immediatamente da event= e immediatamente seguito da source= . Se la corrispondenza rapida del modello fallisce, snort salta la regola.

    
risposta data 07.10.2015 - 23:59
fonte

Leggi altre domande sui tag