Snort , lo sniffer.

snort_org_03.jpg


*** Snort (in basso noterete il maialino raffigurato in caratteri:)) , e’ un programma open-source per l’individuazione di intrusioni nella rete…uno sniffing , e tra i migliori in circolazione , incluso nella nostra backtrack2.

Snort supporta controlli della rete basati sull’analisi di firme, protocolli e anomalie. Questo tool e’ in grado di effettuare un’analisi real-time del traffico di rete e di individuare potenziali intrusioni basandosi su un set di regole prestabilite. Snort puo’ inoltre essere utilizzato per rilevare una gamma di attivita’ sospette, inclusi attacchi virus, scan di porte, ‘fingerprinting’ e tentativi di blocco messaggi server (SMB). Le funzionalita’ di Snort possono essere utilizzate attraverso una serie di opzioni da riga di comando che potrebbero confondere un utente alle prime armi. Comunque, e’ presente un’ottima documentazione, e ci sono diversi modi tramite i quali un nuovo utente puo’ imparare ad utlizzare nei suoi vari aspetti. Non dimentichiamo che digitando il nome del programma, in questo caso snort , da terminale seguito dall’ opzione -h , (-help) , ci verranno mostrate tutte le opzioni , le variabili richieste , ed i metodi di input , è cos’ del resto per il 90% dei tool inseriti in backtrack2

br1g4nt3@bt ~ # snort

, ,__ -*> Snort! <*-
o” )~ Version 2.6.1.2 (Build 34)
” ” By Martin Roesch & The Snort Team: http://www.snort.org/team.html
(C) Copyright 1998-2006 Sourcefire Inc., et al

Snort puo’ essere configurato per l’esecuzione in tre modalita’ differenti:

* Sniffer Mode – Questa modalita’ fa si che Snort legga i pacchetti trasmessi sulla rete e ne stampi i contenuti su standard output (lo shcermo).

* Packet Logger Mode – Modalita’ simile alla precedente, la differenza sostanziale e’ che in questa modalita’ i pacchetti sono salvati su disco.

*Network Intrusion Detection System (NIDS) Mode – Visti i propositi di questo tutorial, questa modalita’ e’ una fra le piu’ interessanti. La modalita’ NIDS e’ la piu’ complessa e configurabile fra le tre messe a disposizione da Snort. In questa modalita’, Snort analizza il traffico di rete concordemente con delle regole definite dall’utente, e le esegue di conseguenza

Per configurare snort , ci si serve del file Snort.conf che e’ il file di configurazione di Snort. snort.conf , contiene tutte le impostazioni necessarie all’esecuzione di Snort. Usate un editor di testo per aprire questo file di configurazione , stando naturalmente molto attenti a ciò che vi dice lo stesso file all’ interno delle help’s word , (ovvero quelle stringhe di aiuto che ci dicono come e quali dati dobbiamo inserire ) , perchè e’ una parte essenziale della modalita’ NIDS di Snort. Da questa parte che noi inseriamo manualmente , snort riesce a capire che cosa deve fare e quali device deve monitorare , sono pursempre delle stringhe , e come tali vanno trattate

Per configurare snort.conf apriamo il file in modalità testuale , e usando questo comando:

vi /etc/snort/snort.conf

(oppure come faccio sempre io , mettendo kate al posto di vi , per aprirlo in stile blocco note)

Una volta aperto il file di configurazione di snort , sostituiamo le variabili di default con le variabili riguardanti la nostra rete , ad esempio , IP pubblico , IP privato , device come può essere ath0 , eccetera…

io ad esempio ho inserito nel file di kate:

IP_82.52.xxx.xx/24 e per il dev eth0_192.168.100.1

var HOME_NET [82.52.119.96/24,192.168.100.1/24]

Tutta questa configurazione di rete va eseguita nel caso in cui vogliamo un sniffing in modalità live , che è ben supportata dal nostro snorf , altrimnti se vogliamo lasciarlo lavorare , pur sapendo di ritrovarci alla fina dello sniffing una marea di pacchetti da guardarci a vista , possiamo configurare le variabili di snort in modalità generic sniffing , che poi è solo una delle tante funzioni e si esegue inserendo nel file .conf di snort la variabile any e quindi:

IP_82.52.xxx.xx/24 e per il dev eth0_any

var HOME_NET any
var EXTERNAL_NET any

usando poi i DNS della Telecomitalia ho inserito:

var DNS_SERVERS $HOME_NET 212.216.112.112

Se stessimo lavorando da webserver potremo configurare altre opzioni , perhé è tutto previsto in snort , sia configurazione per prorocolli http , telnet , SMTP , SQL e altri…compreso il protocollo AIM

Per usare nel nostro caso lo snort e farci poi tornare la lista dei pacchetti catturati o i dati di un eventuale intrusione , aggiungiamo l’ opzione -l , che restituirà un file di log con i dati appena citati. Quindi daremo da terminale il comando:

snort -A fast -K ascii -l /var/log/snort -i eth0

dove “-A“esegue snort nella modalità live e quindi rapida , fast e con suono di alert ; “-K ascii -l” indica a snort la modalità del file log

e ” /var/log/snort -i eth0” è la directory in cui il log verrà salvato , seguito dal device “eth0″ che usiamo per lo sniffing.

Ora dopo aver lanciato da terminale il comando sopracitato , snort incomincerà a lavorare , e a catturare pacchetti dieventuali intrusioni , se abbiamo la possibilità , andiamo su di un’ altra macchina , e proviamo d immettere nell’ IP che snort sta monitorando dei pacchetti ICMP*

*piccola nota: I pacchetti ICMP sono i pacchetti appunto del protocollo ICMP, che al contrario di TCP e di UDP non hanno le porte. Il pacchetto ICMP è composto da un numero, che ne definisce il tipo , e una specie di “sottonumero” che ne contiene invece il codice.

Se qualcuno , sicuramente in modo diverso da me che lo faccio solo in rare occasioni , usa la backtrack2 in modalità virtualizzata , (ne ho già parlato in passato) , ad esempio con VMware , può benissimo uscire dalla modalità virtual e inserire pacchetti* sull’ ethernet (dev eth0) , per poi andare a controllare il file di log , che è nella directory indicata nel comando che abbiamo dato per lanciare snort.

*Lanciare pacchetti (!?)…….fate 3/4 ping sul IP dell’host e vedete se snort sta lavorando!

(Se non sapete l’IP della vostra macchina , basta dare , sempre da terminale ifconfig e potete vederlo.)

Ora da terminale , andiamo a vedere cosa ci ha restituito il nostro snort con il comando:

ls /var/log/snort

vedremo che se abbiamno configurato a dovere il file snort.conf , snort ci restituirà un messaggio log , di questo :

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

10/09-2007:00:48.824915 192.168.100.1 -> 192.168.100.18

ICMP TTL:128 TOS:0X0 ID:7631 IPLen:20 DGLen:M60

Tipe:8 Code:0 ID:512 Seq:1586 ECHO

=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=

È la prima volta che ho usato snort ed è andato tutto a buon fine….quindi è alla portata di tutti coloro che voglio monitorare la propria macchina. ;)

Altri videotutorial , hacking illustrati , articoli e forum su tutte le security-distro GNU/Linux potete trovarli su securitydistro.com

head3.jpg


1 commento

  1. Salve,

    io uso Linux da poco, ho Ubuntu hardy, e vorrei configurare snort. Il problema è che ho una connessione ppp0 e non eth0. Quali parametri dovrei settare per uno sniffing in modalità live? Saluti.


Comments RSS TrackBack Identifier URI

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...