Sto iniziando a studiare le regole di Snort e l'insegnante ci dà i prossimi esercizi:
Un server su cui è installato Snort sta monitorando tutto il traffico sulla subnet 172.16.0.0 con la maschera 255.255.0.0. Da ora in poi ci riferiremo a questa sottorete come subnet_A. Lo studente deve scrivere le regole dello Snort che consentono la registrazione dei seguenti eventi:
-
Immettere una regola che tenta di cercare la parola "HTTP" tra i caratteri 4 e 40 della parte di dati di qualsiasi pacchetto TCP che ha origine in subnet_A e che va a un indirizzo che non fa parte di sub_A. Nel file di registro, il record deve contenere il messaggio "Rilevato HTTP".
-
Creare due regole per rilevare quando qualcuno sta tentando di accedere a una macchina situata in subnet_A il cui indirizzo IP è 172.16.1.3 sulla porta 137 e su entrambi i protocolli UDP e TCP. Quando viene rilevato il motivo indicato, la regola deve inviare un avviso con il messaggio "Tentativo di accedere alla porta 137 e al protocollo".
-
Configura una singola regola Snort che consente di catturare le password utilizzate (comando PASS) quando ci si connette ai servizi di trasferimento file (FTP) o posta (POP3) dalla macchina con indirizzo IP 172.16.1.3 ubicato in subnet_A. Quando viene rilevato il motivo indicato, la regola dovrebbe lanciare un avviso con il messaggio "Password rilevata".
Queste sono le mie risposte:
1.- alert tcp 172.16.0.0/16 any -> ![ 172.16.0.0/16] any \
(logto:logto_log.txt; content:"HTTP"; offset: 4; depth: 40; msg: "HTTP Detected";)
2.- alert tcp any any -> 172.16.1.3 137 \
(msg: "Attempt to access port 137 and protocol TCP";)
alert udp any any -> 172.16.1.3 137 \
(msg: "Attempt to access port 137 and protocol UDP";)
3.- alert tcp 172.16.1.3 any -> any 110,995,20:21 \
(msg:"Password Detected"; content:"PASS";)
Sei d'accordo con me?