DISCLAIMER!

Le informazioni (e i download, quindi tutti i file contenuti nel blog) da me divulgate sono da ritenersi a puro scopo informativo e di studio. Non mi assumo nessuna responsabilità riguardante l'uso improprio e/o illecito delle tecniche e dei programmi qui descritti e di tutti i danni a cose e persone e/o perdite di guadagni che ne possano derivare. Il blog non vuole istigare nessuno a delinquere o a commettere reati. Le tecniche qui descritte sono da utilizzare a proprio rischio e pericolo.

Traduci Il Blog In




Cerca in Xthreme Hacking!

Man In The Middle


Con la tipologia di attacco Main In The Middle noi proviamo a riderigere il traffico tra due host (vittime) a un terzo host (attacker).
 
Man In The Middle In Locale

Per sniffare il traffico in locale la tecnica piu usata e' l' ARP Poisoning.
Ma vorrei introdurre prima Ethernet.
Ethernet è il nome di un protocollo per reti locali cioè un protocollo per comunicare tra vari host in locale; ed appartiene al livello di data-link (riguardante il collegamento fisico) del protocollo TCP/IP (protocollo di internet).
Questo significa che ogni pacchetto di traffico viene preso dal protocollo TCP/IP in modo da contenere informazioni su:
-Protocollo usato.
-IP del Mittente.
-IP del Destinatario.
Il pacchetto viene poi messo in un frame dallo standard ethernet, in modo da avere una precisa struttura:


Ciò è necessario perché Ethernet non identifica le macchine connesse in rete attraverso il loro IP standard di comunicazione via internet, ma tramite un numero univoco a 48 bit chiamato MAC (Media Access Controllers) address, un numero che identifica senza ambiguità una scheda di rete dall'altra.

Responsabile della mappatura dei 32 bit dell'indirizzo IP nei 48 del MAC è il protocollo ARP (Address Resolution Protocol). Questo protocollo è strutturato attraverso due tipi di comunicazione con il resto della rete.

-ARP request, generalmente inviata dal gateway in broadcast, richiede il MAC associato ad un certo IP in rete (Who has 0.0.0.0?).
-ARP reply, spedita dall'host richiesto in risposta ad una ARP request. Tramite questo messaggio l'host comunica al gateway il suo MAC.
 
ARP Cache

L'ARP cache è una struttura progettata in modo di massimizare le prestazioni di una rete, in modo da non inviare ogni volta una ARP Request per inviare un pacchetto a un host alla quale si è inviato un pacchetto di recente.
La ARP cache memorizza per un periodo di tempo variabile, gli indirizzi MAC con cui sono avvenute delle comunicazioni e gli IP associati.

Il comportamento per l'invio di un pacchetto TCP/IP è quello di controllare nella ARP Cache se già si ha il MAC associato all'indirizzo IP richiesto.
Nel caso la risposta sia positiva viene creato il frame Ethernet e il pacchetto viene inviato.
Se la risposta è negativa viene mandata una ARP Request in broadcast sulla rete e si aspetta la risposta dall'host con una ARP Reply che comunica (trasmette) il suo MAC.
In tal caso il MAC viene messo nel frame Ethernet e il pacchetto viene ugualmente inviato.
Quando invece arriva una ARP Reply, il kernel mette nella propria ARP Cache il MAC in questione.
In alcuni sistemi come Solaris  il MAC viene inserito nella ARP Cache soltanto se prima della ARP Reply il kernel aveva mandato una ARP Request.
Windows e Linux invece inseriscono il MAC nella ARP Cache anche se nella ARP Reply non era stata richiesta.
 
ARP Poisoning

Sfruttando il comportamento di un host durante la ricezione di una ARP Reply è possibile modificare la Cache ARP.
Immaginiamo di essere in uno scenario di rete locale del genere (ARP cache prima del poisoning):

Codice:
sh$ arp -a
host1 (192.168.1.1) at 01:01:01:01:01:01 [ether] on eth0
host2 (192.168.1.2) at 02:02:02:02:02:02 [ether] on eth0
host3 (192.168.1.3) at 03:03:03:03:03:03 [ether] on eth0

Dove host1 e host2 sono le due macchine (vittime) di cui vogliamo dirottare il traffico, mentre host3 è il nostro attacker.
Se host3 manda una ARP Reply a host1 che contiene il suo MAC e dicendo in essa di essere host2, host1 ricorderà il MAC di host3 all'interno della propria Cache ARP, e da lì in poi tutti i pacchetti mandati a host2 verranno in realtà inviati (quindi dirottati) a host3.
L'attacker farà lo stesso anche con host2, mandandogli una ARP Reply contenente il suo MAC e dicendo di essere host1, e così il suo MAC verrà ricordato nella Cache ARP di host2.
D'ora in poi tutti i pacchetti scambiati tra host1 e host2 transiteranno prima su host3, che potrà visualizzare il contenuto prima di reinviarli ai legittimi destinatari.

Nessun commento:

Posta un commento