lunedì 25 ottobre 2010

Networking - ARP cache poisoning

Nelle reti commutate i pacchetti sono inviati unicamente alla porta a cui sono destinati, in base agli indirizzi MAC.Questo richiede un hardware ad-hoc in grado di gestire tabelle dove sono associati MAC e determinate porte, il vantaggio in termini di sicurezza è ovvio, infatti dato che alle periferiche sono inviati solo i pacchetti che gli competono i dispositivi in modalità promiscua non sono in grado di eseguire lo sniffing.
Ad ogni modo esistono sistemi molto astuti sfruttati dagli hacker per leggere i pacchetti destinati ad altre periferiche, un lato debole delle comunicazioni di rete che può essere manipolato è l indirizzo di origine, visto che i protocolli non consentono in nessun modo di verificare se esso sia realmente l' indirizzo della macchina o un indirizzo camuffato.Questa tecnica è denominata spoofing ed è molto efficace visto che la maggior parte dei sistemi da per scontato che l' indirizzo di origine sia valido.Altri dettagli interessanti riguardano l' ARP, quando arriva una risposta ARP con IP già memorizzato nella cache, il sistema scrive le nuove informazioni (cancellando le precedenti) sugli indirizzi MAC, un'altra debolezza consiste nel fatto che i sistemi accettano una risposta ARP anche se non hanno inviato una richiesta ARP. Questi dettagli se vengono sfruttati possono consentire ad un hacker di sniffare pacchetti anche se rete commutata, con una tecnica chiamata ARP cache poisoning (avvelenamento cache ARP).L' attacco inizia quando l' aggressore manda risposte ARP
a determinate periferiche in modo che la loro cache sia sovrascritta con i suoi dati, ora supponiamo di avere due sistemi che stanno comunicando fra loro come in figura.
Per intercettare il traffico fra A e B l'aggressore deve avvelenare le cache di ARP di entrambi i sistemi, in questo modo induce A a pensare che l' indirizzo IP di B corrisponda al MAC del sistema aggressore, e induce B a credere che l'IP di A sia sempre il MAC dell'aggressore.Se ora il sistema aggressore smista i pacchetti alle rispettive destinazioni, tutto il traffico tra A e B continuerà a funzionare ,ovviamente visto che passerà per il sistema dell'aggressore sarà possibile sniffarlo senza problemi.Comunque affinchè il tutto funzioni  è necessaria una ulteriore accortezza. Dato che a causa dei valori di time out le macchine bersaglio inviano periodicamente richieste e risposte ARP reali, è necessario inviare risposte ARP camuffate a intervalli brevi e costanti.I pacchetti ARP camuffati possono essere iniettati tramite un programma a linea di comando chiamato nemesis, ovviamente in ambiente linux, se desiderate approfondire la conoscenza sull' utilizzo di questo tool potete trovarlo a questo indirizzo.

Nessun commento:

Posta un commento