18
mag


Non me ne vogliano i colleghi sistemisti ed amministratori di rete se la mia terminologia sarà inesatta o quantomeno imprecisa, ma aimè, sono solo un povero programmatore XD.

Un po di storia / Introduzione

Qualche anno fa, nelle reti LAN, divertirsi in maniera non proprio legale era relativamente facile . Bastava infatti un banalissimo sniffer di rete per intercettare il traffico dell’intera lan e divertirsi in pratica  a farsi i cazzi di tutti i colleghi, compagni di corso, mogli, mariti o quant’altro .

Questo avveniva *grazie* ad un difetto sia hardware che strutturale dei nodi della rete, che si occupavano di gestire il traffico, i cosiddetti hub di rete.

Tale difetto consisteva nel fatto che, ogni singolo pacchetto ip veniva inviato in broadcasting su tutta la rete (ovvero un pacchetto indirizzato a Pippo, raggiungeva sia il suo pc che quello di tutti gli altri utenti) per poi essere scartato dai pc che non erano i destinatari originari dell’informazione confrontando il mac address della propria scheda con quello contenuto nel pacchetto stesso tramite, se la memoria non mi inganna, l’operazione logica AND .

Chi tra di voi ha dai 20 anni in su si ricorda che bastava mettere un socket nella cosiddetta modalità promiscua per far si che la propria scheda non eseguisse più questo “scarto” e di conseguenza ricevere il traffico dell’intera rete .

Ve lo dico subito, è inutile che corriate ad aprire wireshark per farvi gli affari altrui, allo stato attuale delle cose NON funzionerà (doh ! XD) .

Questo succede poichè, dopo anni e anni di sniffing i tecnici del settore si sono accorti che forse era il momento di inventarsi qualcosa per risolvere questo problema … e così sono nati gli switch di rete .

Tali dispositivi di instradamento, al contrario dei loro rozzi antenati, determinano quale è il pc destinatario prima di inviare il pacchetto tramite una tabella (detta CAM table) che associa un indirizzo ip nella rete al rispettivo mac address della scheda hardware sulla quale gira .La cam table a sua volta si appoggia su un altra tabella dei MAC sulla quale verrà effettuata la ricerca vera e propria dell’associazione ip-mac appena illustratavi .

Il protocollo ARP

Tutto questo meccanismo di ricerca e associazione si basa sull Address Resolution Protocol, solitamente abbreviato con ARP, che mette a disposizione un metodo per scambiare e ottenere informazioni relative ai computer connessi sulla propria rete .

Scendendo nella pratica, vediamo come il computer di Pippo, sapendo l’indirizzo ip di Giovanni, può risalire al MAC della scheda di rete di quest’ultimo per poter inviare un pacchetto ip in maniera selettiva .

  1. Pippo invia in broadcasting (ovvero a tutta la rete) una richiesta ARP Request contenente l’indirizzo ip di Giovanni .
  2. Giovanni, essendo nella rete, riceve come gli altri la richiesta e, riconoscendo il proprio indirizzo ip, risponde con un ARP Reply nel quale inserirà il proprio MAC .
  3. Pippo a questo punto riceve il MAC di Giovanni e quindi da adesso in poi sarà in grado di comunicare con lui in maniera selettiva, senza inviare dati ad eventuali curiosi .

Per ottimizzare il tutto ed evitare di eseguire questo scambio di informazioni per ogni singolo pacchetto (scambio che saturerebbe la rete o perlomeno la rallenterebbe di parecchio se dovesse essere eseguito ogni volta) ogni computer mantiene una sorta di cache, ovvero una tabella salvata in locale sul pc nella quale terrà salvati i MAC address che ha rilevato in modo da poterli consultare in locale senza doverli richiedere ogni volta seguendo i passaggi che ho appena illustrato . In pratica, ricalcando la procedura di poco fa, avviene la seguente cosa :

  1. Pippo invia in broadcasting (ovvero a tutta la rete) una richiesta ARP Request contenente l’indirizzo ip di Giovanni .
  2. Giovanni, essendo nella rete, riceve come gli altri la richiesta e, riconoscendo il proprio indirizzo ip, risponde con un ARP Reply nel quale inserirà il proprio MAC .
  3. Pippo a questo punto riceve il MAC di Giovanni e quindi da adesso in poi sarà in grado di comunicare con lui in maniera selettiva, senza inviare dati ad eventuali curiosi .
  4. Pippo salva il MAC di Giovanni nella propria cache locale .
  5. Per il prossimo pacchetto, Pippo consulta tale cache che già contiene il MAC di Giovanni e quindi lo invia senza dover ripetere i primi 4 punti .

L’Attacco !

E dopo tutta sta pappardella teorica (che cmq è necessaria se si vuole capire come funziona il tutto) veniamo al sodo :D .

L’ARP Poisoning è una tecnica di tipo Man In The Middle o MITM (letteralmente “uomo nel mezzo”), ovvero ci metterà nella condizione di “inserirci” tra Pippo e Giovanni in modo (quasi) invisibile intercettando il loro canale di comunicazione *teoricamente* selettivo e di conseguenza tutto il traffico che si stanno scambiando .

Analiziamo la procedura pocanzi descritta partendo dal punto 2 sotto un altra ottica e vediamo se vi viene in mente qualcosa :P

  1. Un computer in una rete invia un pacchetto ARP Reply ad un altro computer inserendoci un determinato MAC associato ad un determinato indirizzo ip .
  2. Il computer che riceverà tale pacchetto, aggiornerà la sua cache locale associando quel MAC a quel determinato ip .
  3. Da quel momento in poi, per comunicare con quel ip, il pc ricevente invierà dati a quel MAC .

Non vi viene in mente niente ? No ?!?!? PIPPE !!! LOL scherzo dai XD

Questo significa che, inviando un pacchetto ARP Reply appositamente creato (in gergo detto “spoofato”) una persona all’interno della rete può manipolare le cache di tutti i computer connessi, manipolando di conseguenza tutto il flusso del traffico a suo piacimento .

Ora, volendo si potrebbero inserire dei MAC fasulli generati randomicamente ed associarli a tutti gli ip della rete, in tal caso non si otterrebbe molto, al massimo si incasina la rete rendendo in pratica impossibile ogni tipo di comunicazione tra i computer connessi … divertente, ma inutile e lameresco !

Invece, manipolando con accuratezza tali cache, si può far in modo che avvenga la seguente cosa :

  1. Dopo il nostro attacco, Pippo invierà a noi i dati credendo di comunicare con Giovanni .
  2. Noi, dopo averli visionati, sniffati, etc, li manderemo a Giovanni di rimbalzo .
  3. A Giovanni arriveranno i dati originariamente inviati da Pippo, e a lui risulterà che proprio da lui arrivano .
  4. Giovanni, per rispondere, invierà a noi i dati credendo di comunicare con Pippo .
  5. Noi snifferemo nuovamente i dati, li reinvieremo a Pippo, e così via fino a quando non ci stufiamo di farci i cazzi degli altri XD .

Questo genere di manipolazione, che si chiama appunto ARP Poisoning, fotte in pratica tutta la logica alla base delle tabelle ARP e CAM e dell’indirizzamento selettivo dei pacchetti nata proprio per ovviare al problema dello sniffing .

In pratica, a Pippo invieremo un ARP Reply con l’ip di Giovanni ma il NOSTRO MAC address, mentre a Giovanni invieremo un ARP Reply con l’indirizzo ip di Pippo e il NOSTRO MAC address, in questo modo, proprio come vi ho illustrato nei 5 punti di poco fa, i due crederanno di comunicare direttamente e selettivamente tra di loro, mentre in realtà manderanno tutto a me e io mi occuperò di effettuare il corretto redirezionamento dei dati una volta sniffati .

Gli Strumenti

Come per ogni cosa anche per effettuare questo tipo di attacco ci sono una miriade di tools disponibili online, ma di certo il migliore sia per quanto riguarda la facilità di utilizzo, sia per la completezza dei suoi filtri etc è Ettercap che può essere utilizzato sia da console, sia tramite una comoda ed intuitiva interfaccia grafica.

Per quanto riguarda l’utilizzo da console, la riga di comando è abbastanza corta e semplice :

ettercap -T -q -M ARP // //

Comando il quale eseguirà l’attacco su tutta la rete, ovvero voi riceverete il traffico di ogni singolo computer presente sulla vostra LAN, cosa che sconsiglio se vi trovato in una rete aziendale o universitaria, poichè la mole di dati che riceverete sarà talmente elevata da rendere difficile determinare quali sono i dati che vi interessano (password, cookies, account vari) e quelli che non vi interessano.

Quindi vi consiglio di utilizzare, se vi trovate in una rete potenzialmente molto trafficata, il comando selettivo :

ettercap -T -q -M ARP /computer_1/ /computer_2/

Che manipolerà le tabelle ARP in cache solo tra due singoli computer, ovviamente al posto di computer_1 e computer_2 dovrete mettere il nome o gli indirizzi ip dei pc che vi interessano (ad esempio il pc del prof di analisi e quello della segreteria ? :D ) .

Conclusioni

Nonostante esistano dei rimedi per questo genere di attacco, per quanto concerne la mia esperienza personale non sono mai implementati, anche in posti che teoricamente dovrebbero essere il top della sicurezza (un esempio è la mia facoltà di ingegneria informatica, se non c’è sicurezza la figuriamoci altrove XD), di conseguenza questo genere di attacco MITM risulta essere uno dei più efficaci e veloci da eseguire se si sa dove mettere le mani, nonchè uno dei più divertenti se si usa il tool giusto, ad esempio una funzionalità molto carina di ettercap è la possibilità di modificare, prima di spedirlo al destinatario originale, un pacchetto .

Non sapete quante volte mi sono intrufolato in conversazioni MSN facendo litigare le due persone perchè inserivo qua e la qualche insulto facendo pensare che se li inviavano a vicenda !!! XD

In fine, ringrazio i miei amici Pippo e Giovanni, che ogni volta si prestano ai miei esempi e che spero, un giorno o l’altro, di incontrare per ringraziarli ! MUAUAUUAUA XD

Popularity: 16% [?]

Ti potrebbe interessare:

  1. Who’s Alive : Rilevare i computer nella propria rete tramite richieste ARP In un precedente articolo avevo introdotto la tecnica dell’arp poisoning...
  2. StackHack Lo stack, questo sconosciuto ! In questo paper illustro alcuni...
  3. VMWare Hacking Un video nel quale mostro la fattibilità di un attacco...
  4. HTS – Training The Hacker Underground Dei famosi “hacker game” è piena la rete si sa...
  5. Alice Router Unlocker Basandomi sul lavoro di saxdax e drpepperONE che potete trovare...
  • enzo
    io non vedo assolutamente nulla, sarà il gateway del mio ufficio ?

  • BlackLight :

    Noooo, non hai citato tcpsmash fra le applicazioni per fare ARP poisoning! XD




    Ahaha vabbè sarà per la prox volta i'm sorry XD
  • Noooo, non hai citato tcpsmash fra le applicazioni per fare ARP poisoning! XD
blog comments powered by Disqus