MegaLab.it
Stampa Articolo
Aperiodico gratuito di informatica
 
20100120161944_2614602_20100120161906_463103285_ss_spotlight.png

Cognizioni di attacco all'interno di una rete

a cura di Palpas
06/04/2012 - articolo
Tecniche Avanzate - Quando siamo in una rete pubblica (ma anche privata) è bene essere consapevoli della presenza dei discreti rischi a cui siamo sottoposti. In questa guida analizzeremo in che modo queste tecniche vengono attuate e come è possibile difendersi.

I mezzi con cui effettuare attacchi all'interno di una LAN sono ormai quasi alla portata di tutti: con l'aumentare dei punti di accesso pubblici, è sempre più frequente navigare in Internet appoggiandosi a reti sconosciute, dove non sappiamo con chi condividiamo la barca e non possiamo quindi avere fiducia negli altri navigatori.

Per capire come vengono realizzati questi attacchi, dovete innanzitutto sapere che tutti i dati inviati in rete possono essere manipolati o modificati ad hoc.

Generare un pacchetto

I generatori di traffico (traffic generator) sono dei potenti software che consentono di realizzare e spedire in rete un pacchetto completamente personalizzato.

A patto ovviamente di conoscere i relativi protocolli, si può scrivere un pacchetto praticamente partendo dal secondo livello OSI fino al quarto, modificando via via i vari parametri a partire dal MAC, passando per il protocollo IP, fino ad arrivare alle direttive di trasporto (TCP, UDP, ICMP eccetera) e molte altre peculiarità.

Per la nostra prova useremo Ubuntu e un generatore di traffico per ambiente GNU\Linux il cui nome è Ostinato. Per installarlo dovremo aprire il terminale e digitare in sequenza i seguenti comandi:

Ostinatologo.png

Finita la procedura, per lanciarlo dovremo digitare da terminale il comando sudo ostinato.

Verrà avviata l'interfaccia grafica del programma.

Ostinato_main.png

Nel riquadro in alto a sinistra sono presenti tutte le interfacce attraverso le quali possiamo trasmettere. Sceglieremo quella utilizzata per la connessione in rete (nel mio caso eth0, ma potrebbe anche essere wlan0 nel caso siate connessi via Wi-Fi).

Ora nel riquadro di destra è la volta di inserire un nuovo stream (trasmissione). In pratica andremo a creare un nuovo pacchetto che successivamente spediremo. Clicchiamo con il pulsante destro del mouse in un punto vuoto del riquadro e scegliamo New Stream.

Iniziamo a confezionare il nostro pacchetto cliccandovi con il tasto destro e scegliendo Edit Stream. Si aprirà dunque la finestra dedicata alla sua personalizzazione. La prima scheda è Protocol Selection.

Ostinato_protocolsel.png

In questa scheda, come si può vedere dall'immagine, possiamo selezionare i protocolli di rete da utilizzare per la nostra trasmissione.

Quindi, una volta deciso che tipo di pacchetto vogliamo creare, passiamo alla scheda successiva: Protocol Data.

Ostinato_protocoldata.PNG

Impostiamo tutti i parametri del pacchetto in base ai protocolli che abbiamo precedentemente selezionato. La scheda è divisa in diverse sezioni, va da sé che tutti i campi impostabili sono legati al protocollo scelto.

Nell'esempio, avendo optato per un pacchetto TCP su IPv4, posso personalizzare l'intero parco parametri IP (header vari, version, TTL, source e destination) e tutto ciò che riguarda il TCP (porte, sequence number e i vari flag di handshake\controllo connessione). Ovviamente abbiamo carta bianca anche ai livelli più bassi (MAC) e alti (Payload).

La successiva scheda, Stream Control, è l'ultimo passo della procedura di creazione del pacchetto, essa definisce le direttive di trasmissione, ossia quanti pacchetti vogliamo inviare e con quale frequenza.

Ostinato_streamcontrol.png

Infine, nella scheda Packet view, possiamo finalmente vedere l'anteprima del pacchetto creato:

Ostinato_pacchetto.png

Ora possiamo iniziare a trasmettere: accettiamo prima di tutto con OK e successivamente sul pulsante Apply per confermare il pacchetto appena creato. Nel riquadro in basso selezionate la colonna relativa alla vostra interfaccia di rete utilizzata (nel mio esempio è Port 0-0) e cliccate il pulsante avente il simbolo Play per iniziare la trasmissione...

Ostinato_statistics.png

Con questo esempio vi abbiamo dato il primo assaggio di un programma le cui possibilità sono veramente vaste. Tutto questo però è servito soprattutto per far riflettere su come sia possibile manipolare e creare a nostro piacimento un pacchetto di rete, aprendo quindi la strada alla messa in pratica di spoofing e altri attacchi di vario genere.

Il più grande rischio è senza dubbio quello di essere vittima di un attacco MITM (Man In The Middle): scenario in cui l'aggressore intercetta tutte le nostre comunicazioni violando la nostra privacy mediante sottrazione di dati personali (password, codici, eccetera).

Attacco MITM mediante ARP-spoofing

Il modo più comune per effettuare questo tipo di attacco consiste nello sfruttare una caratteristica del protocollo ARP, il quale si occupa di risolvere la correlazione tra MAC (indirizzi fisici) e IP (indirizzi di rete IP).

In generale quindi, dato un indirizzo IP, il protocollo ARP ricaverà il rispettivo indirizzo MAC.

Questo avviene mediante una richiesta (request) eseguita dal PC richiedente a cui verrà data una risposta (reply). Una volta ottenuta verrà scritta nella propria cache e il PC richiedente avrà finalmente la corrispondenza IP - MAC del suddetto host.

L'attacco MITM può essere attuato sfruttando la peculiarità di questo protocollo il quale non prevede alcun controllo sulle associazioni degli indirizzi MAC ed inoltre fa sì che un host accetti indiscriminatamente ogni risposta (anche se non è stata fatta alcuna richiesta).

Quindi, inviando un pacchetto ARP appositamente manipolato ad un PC, quest'ultimo lo prenderà per buono e memorizzerà informazioni errate (ARP-spoofing).

Dunque se mediante una risposta ARP falsa, facciamo credere al PC vittima che il nostro indirizzo MAC corrisponde all'indirizzo IP del gateway (router), tutto il traffico che la vittima spedisce al router in realtà lo inoltra a noi. A questo punto ci basterà azionare uno sniffer per scrutare tutte le comunicazioni del nostro bersaglio verso Internet.

Vediamo in dettaglio il pacchetto ARP falsificato (spoofed) che la vittima vedrà recapitarsi:

Mitm_packview.PNG

Per attuare questo attacco, spesso ci si rivolge al famoso Ettercap, un software che implementa proprio questa funzione del tutto automatizzata ed azionabile con un solo comando. Ettercap si occuperà poi di inoltrare (forwarding) verso il router il traffico ricevuto dalla vittima.

Attacco DoS mediante ARP-spoofing

Un'altra offesa possibile sempre forzando il protocollo ARP, è quella che ha come effetto la disconnessione della vittima, realizzando quindi un attacco di tipo DoS.

Il concetto è semplice: se prima con un attacco MITM facevamo credere alla vittima di essere il router a cui inviare i pacchetti diretti a Internet, questa volta al posto del vero MAC address del router forniremo un indirizzo inventato, cosicché tutti i pacchetti che la vittima è convinta di inoltrare al router andranno persi.

In generale le tecniche di DoS hanno molteplici sfumature e possono essere attuate e implementate in diverse maniere; nell'ambiente ARP ci sono dei tool come Netcut e Tuxcut che consentono con semplicità la disconnessione di un PC in LAN; ugualmente lo stesso risultato può essere raggiunto forgiando un pacchetto manualmente con Ostinato.

Ecco l'esempio di un pacchetto ARP falsificato al fine di causare un DoS:

Arpdos.png

Difendersi dagli attacchi implementati attraverso l'ARP è possibile, in Linux una soluzione è data dal programma ArpON, installabile con il comando sudo apt-get install arpon.

Come funziona ArpON

Questo software, sostanzialmente, si occupa di ispezionare tutto il traffico ARP comportandosi secondo la configurazione fornita.

ArpON infatti può funzionare in due modi (più un terzo ibrido):

La modalità di nostro interesse è la seconda.

ArpON in modalità DARPI

La modalità DARPI prevede un controllo continuo delle richieste\risposte ARP, e solo dopo essere convalidate il programma scrive le associazioni nella ARP cache.

Modifichiamo quindi il file di configurazione digitando da terminale sudo gedit /etc/default/arpon

Nel file di configurazione rimuoviamo il tag dei commenti (#) nella riga che configura il programma in modalità DARPI, infine modifichiamo il parametro RUN="no" in RUN="yes" per abilitarne il funzionamento.

Il nostro file diventerà dunque così:

Arponcfg.png

Ora che abbiamo predisposto ArpON per lavorare in modalità DARPI, non ci resta che avviarlo lanciando da terminale sudo arpon -y 200.

Il programma rimarrà attivo, inoltre mostrerà in tempo reale l'intero l'andamento delle richieste, delle risposte e della cache ARP:

Analizziamo ora una sessione di ArpON:

Arponsession1.PNG

Arponsession2.PNG

Arponsession3.png

Come abbiamo potuto vedere, il concetto di base quindi è l'accertarsi dell'autenticità dei pacchetti ricontattando l'indirizzo in questione.

Due tecniche per riconoscere un attacco MITM/ARP

In Linux la soluzione migliore per difendersi dagli attacchi MITM realizzati sfruttando l'ARP è senza dubbio ArpON. Volendo, però, possiamo anche avvalerci di rapide tecniche per verificare preventivamente se siamo sotto attacco.

Scanning ARP mediante netdiscover

Netdiscover è un'ARP scanner, il quale ci lista in tempo reale tutti gli host presenti in rete e i relativi indirizzi MAC\IP. Installiamolo con il comando sudo apt-get install netdiscover.

Per lanciarlo eseguire da riga di comando sudo netdiscover: nel terminale si creerà una tabella dove verranno elencati via via tutti gli host attivi in rete.

Se nel listato ci sono indirizzi IP duplicati, allora è in corso un attacco MITM, come mostrato nella seguente immagine:

Netdiscover_mitm.png

Notiamo dunque che all'indirizzo IP del gateway\router (192.168.1.1) è associato sia il suo reale MAC che quello dell'aggressore.

ARP-pinging del gateway

Per assicurarci di non essere sotto attacco MITM possiamo inoltre utilizzare lo strumento di ARP-pinging.

Questa tecnica consiste nell'effettuare una sorta di ping attraverso il protocollo ARP, quindi inoltrare continuamente delle richieste all'indirizzo IP del gateway.

Installiamo arping con il solito comando sudo apt-get install arping e lanciamolo con sudo arping IPgateway, dove IPgateway è ovviamente l'indirizzo IP del gateway\router.

N.B. Se non siete a conoscenza dell'indirizzo IP del vostro gateway, potete scoprirlo lanciando il comando route -n e guardando nella seconda colonna (Gateway)

Dunque una volta lanciato, arping inizierà la serie di richieste e nel caso tra le risposte compaia anche un solo indirizzo MAC diverso dagli altri, significa che un'altra macchina si sta fingendo gateway e siamo quindi oggetto di un attacco MITM

Nell'immagine, un esempio di risposta arping in caso di attacco:

Arping_mitm.png

Difendersi dall'ARP spoofing in Windows

Se utilizziamo il sistema operativo di casa Microsoft, il discorso cambia un po'(in peggio): non possiamo avvalerci di una protezione real-time e gratuita come facevamo in Linux mediante ArpON.

Per assicurarci di non essere sotto attacco possiamo comunque controllare la nostra cache ARP aprendo il prompt dei comandi e lanciando il comando arp -a. Il risultato sarà il listato delle associazioni IP-MAC.

Il campanello di allarme è il medesimo dell'ARP scanning: nel caso ci siano indirizzi MAC duplicati è il segnale che siamo bersagliati.

Una situazione come mostrata in questa figura, rappresenta che è in corso un'offesa MITM ai nostri danni:

Arpaa.png

Precauzioni generali contro gli attacchi MITM

In ogni caso ci sono delle buone norme che andrebbero seguite quando si naviga in Internet mediante reti considerate potenzialmente insicure.

Per completare il cerchio della propria salvaguardia, è consigliato utilizzare connessioni cifrate, cosicché nella malaugurata ipotesi venissimo realmente intercettati, l'aggressore si ritroverà in mano un flusso di dati inutili perché illeggibili.

Ed ecco quindi venirci in aiuto la suite TOR, disponibile per Windows, Linux e MAC.

TOR è un anonimizzatore, il quale, mediante dei server (relay) sparsi su Internet, garantisce al client una comunicazione completamente anonima: la fitta rete di tunnel virtuali, infatti, permette al fruitore di cavalcare questi server relay rendendosi di fatto irrintracciabile.

TOR include inoltre Firefox Portable, munito del plugin HTTPS Everywhere, il quale forza il browser ad utilizzare il protocollo HTTPS ove possibile.

Una volta scaricato e aperto, la procedura guidata ci farà estrarre la cartella del programma.

Per avviare la suite lanciamo il programma Start Tor browser.exe. Comparirà il pannello Vidalia che si connetterà alla rete anonimizzatrice.

Torvidalia.png

Appena connesso si aprirà in automatico Firefox Portable con il quale potremmo finalmente navigare nel web in sicurezza.

N.B. Se non conoscete TOR e volete approfondire l'argomento cliccate qui per vedere la relativa voce su Wikipedia.

MegaLab.it rispetta la tua privacy. Per esercitare i tuoi diritti scrivi a: privacy@megalab.it .

Copyright 2008 MegaLab.it - Tutti i diritti sono riservati