Suricata Signature Spiegazione

0

Sto cercando di capire alcune firme in Suricata (o Snort), in particolare, cosa significano, cosa impediscono e hanno alcuni problemi sui significati delle parole chiave. Non scriverò parti irrilevanti. Ad esempio:

 ...flow:established,to_server;  content:"/advert/get"; nocase; http_uri; pcre:"/\/advert\/get(?:ads|kws)(?:\.cgi)?\?(?:d|[ex]_dp_)id=/Ui";  classtype:trojan-activity; sid:2013983; rev:6;)

"Produce alarm if payload contains /advert/get path and matches with pcre expression"

Quale parte dovrebbe esattamente accoppiarsi con quell'espressione regolare? URI stesso ( advert/get ) o dopo /advert/get/..... ?

Secondo,

flow:established,to_server; content:"POST"; nocase; http_method; content:"/check.php?tcpc="; http_uri; content:!"User-Agent|3a|"; http_header; ...

"Produce alarm if http request method is post and payload contains /check.php?tcpc=" .

Che cosa cattura il secondo contenuto? Ho interpretato come "produce allarme se l'agente utente non è vuoto nell'intestazione http" È vero?

E come ultimo, supponi di avere più contenuti come

 content:"&AFFILIATE="; http_uri; content:"&ID="; http_uri; content:"&ERROR=0 

Devo interpretare come "e" o "o".

"Produce alarm if content contains &AFFILIATE AND &ID AND &ERROR" Is it sensible?

Sono molto confuso e la sua documentazione non aiuta, quindi qualsiasi risposta o risorsa che spiega il contenuto più dettagliato sarebbe fantastico.

    
posta sarah 13.07.2016 - 21:16
fonte

1 risposta

0

Hai interpretato correttamente il primo.

Il secondo:

flow:established,to_server; content:"POST"; nocase; http_method; \
content:"/check.php?tcpc="; http_uri;                            \
content:!"User-Agent|3a|"; http_header; ...

Questo avvisa se: il metodo è POST, l'URI contiene /check.php?tcpc= e NON ha un User-Agent. Il ! di fronte alla stringa del contenuto significa che si tratta di una corrispondenza negata. Quindi corrisponde se è assente dal traffico controllato.

Terzo:

content:"&AFFILIATE="; http_uri; content:"&ID="; http_uri; content:"&ERROR=0 

Corrisponde se tutti dei contenuti sono presenti. Questo è generalmente vero per le regole Suricata. Tutte le condizioni devono corrispondere per una regola per generare un avviso.

La documentazione della lingua delle regole Suricata è disponibile qui: link

    
risposta data 14.07.2016 - 08:33
fonte

Leggi altre domande sui tag