[real] Re: [security] arpspoof su switch

Marco Scandaletti m.scandaletti a iak.pd.it
Gio 27 Nov 2003 12:53:42 CET


Ciao!!!

ancora io sempre sull'ARPspoof !!!

volevo completare il discorso facendo un esempio
di come si può sniffare su switch con questa tecnica.
Il classico tool per questo tipo di hacking ( o cracking :)) )
è il pacchetto dsniff ( http://naughty.monkey.org/~dugsong/dsniff/ )
Questa raccolta di tool è disponibile per linux ( qualcuno conosce altri
porting??? )
Quindi cosa ci serve per sniffare??
prima di tutto un sistema GNU/Linux, io uso debian :)
va bene qualsiasi distribuzione
installiamo dsniff
i tool che ci interessano sono arpspoof e dsniff
arpspoof fa proprio quello che pensiamo :))))
dsniff è uno sniffer che recupera account e password in base al protocollo

prima di utilizzare arpspoof verifichiamo che sia attivo
il forwarding nel nostro kernel
facciamo un cat /proc/sys/net/ipv4/ip_forward
se l'output è 1 il forward è attivo, se è 0 è disabilitato
per attivarlo facciamo un echo 1 > /proc/sys/net/ipv4/ip_forward
più facile di così :))
in questo modo la nostra linuxbox riceve i pacchetti e li inoltra su
tutti i device di rete.
Perchè ci serve questo? con l'arpspoof convinceremo i client
della rete che siamo noi una particolare macchina della rete e quindi
riceveremo
tutte le chiamate per quest'ultima. Ma una volta ricevuti i pacchetti e
sniffati
dobbiamo rispedirli al vero destinatario altrimenti il trucco non funziona!!

Vediamo un classico utilizzo di arpspoof :
rete ethernet con getaway su di un altra rete
tutti i client della rete locale accedono a
dei server sulla rete principale e per fare questo
si affidano al getaway per l'inoltro delle loro richieste
tcp/ip.
La rete è gestita da uno switch e quindi in condizioni
normali non siamo in grado di sniffare nulla.
La soluzione è quella di "sostituirci" al getaway poichè
è il punto dove passa tutto il traffico verso i server principali!
Come si fa? è più semplice di quanto sembra:

mettiamo che il getaway ha l'indirizzo 10.0.0.1
e che la linuxbox ha indirizzo 10.0.0.99

apriamo un terminale sulla nostra linubox e lanciamo
il comando
arpspoof 10.0.0.1
in questo modo stiamo dicendo a tutti i client della rete
che il MAC da associare all'indirizzo 10.0.0.1 è quello
della linuxbox!!!!
Quindi quando i client inoltreranno una richiesta di instradamento
al getaway in verità la inoltreranno alla linux box!!!
La linuxbox a sua volta inoltrerà le richieste al vero getaway.
Ma questo non è ancora sniffing, abiamo solo fatto in modo
che il traffico della rete passi tutto sulla nostra macchina!!!
Adesso apriamo un altro terminale sulla linuxbox e lanciamo
il comando dsniff -c
il parametro -c dice a dsniff di lavorare in congiunzione
con arpspoof, se lo omettiamo non snifferemo niente :(
Adesso basta stare a guardare cosa succede!!!!
Se siamo un client della rete possiamo fare un test veloce per vedere
l'effetto di arpspoof:
facciamo un traceroute ( sotto windows è tracert ) verso un server della
rete principale,
vedremo quanto segue:
1   <10 ms   <10 ms   <10 ms  10.0.0.99
2   <10 ms   <10 ms   <10 ms  10.0.0.1
3   <10 ms   <10 ms   <10 ms  10.1.0.2
etc. etc.
come si può chiaramente vedere il primo nodo attraversato
dal nostro client è la linuxbox e successivamente il getaway.
QUINDI NON SIAMO INVISIBILI, ricordiamocelo!
si può sempre beccare un tentativo di ARPspoof con un comando
di traceroute ( o qualcuno mi smentisce ?!?! )

Ma torniamo a dsniff, nel frattempo si è sniffato un pò di roba!!!
Cosa vediamo sul terminale dove lo abbiamo lanciato?
account e password di posta elettronica, telnet, ICQ etc. etc.
Ovvero tutto ciò che passa in chiaro!!!

Conclusioni :
a parte una minima conoscenza di linux e protocolli di rete
non è stato difficile sniffare qualche informazione.
Nella normalità sarà difficile che un utente abbia a disposizione
una macchina linux con l'account di root.
Nulla toglie che qualche utente "smaliziato" si installi VMWARE
sul proprio client e si installi in locale la sua distribuzione preferita
ottenendo li stessi risultati.
La soluzione delle entry statiche nelle tabelle ARP può ovviare
a questo problema ma secondo me è una soluzione che va bene
per piccole reti con pochi client.
Oppure qualche NIDS che segnali la presenza dell'attacco.
Se lo switch è in grado di prevenire queste alterazioni da parte
di un attacante meglio!!!!
Nel caso io starei comunque allerta ;-)

bye bye, scanda



Maggiori informazioni sulla lista security