Nicola D'Agostino (.net) - Articoli, traduzioni, grafica, web

Disassembling – Le mani sulla rete

Un tuffo nel mare della connettività wifi (ma non solo) con degli strumenti molto speciali. Per chi vuole capire rischi e possibilità.

di Nicola D’Agostino

Dopo l’esordio negli Stati Uniti la connettività wireless è in crescita costante anche Italia. E correlati sono i problemi legati alla sicurezza di questo tipo di connettività, che per sua stessa natura, rende gli utenti tutti un po’ più aperti e vulnerabili.
Secondo una statistica dell’anno scorso, negli USA il 70% degli access point wifi sono senza password e accessibili a chiunque passi vicino dotato di scheda e strumenti giusti. Ma molto più grave è che il livello di gran parte delle protezioni esistenti offerte dai produttori non è granché.

Lo dimostrano alcuni episodi degli ultimi mesi: uno vede protagonista Microsoft, che nella primavera del 2005 ha convocato nella sua sede esperti indipendenti di sicurezza WiFi per una spiacevole quanto lodevole verifica e lezione sull’insicurezza di Windows in questo ambito. Altrettanto illuminante è una dimostrazione che risale all’estate 2004 in cui, a Los Angeles, un gruppo di agenti dell’FBI ha spiegato e mostrato come sia relativamente facile e veloce penetrare in una rete wifi protetta dal sistema di crittazione WEP, Wired Equivalent Privacy passando dalla fase di cattura dei dati al cracking della crittografia usata dalla rete. Quanto veloce? Pochi minuti. L’aspetto che ci interessa di più (per il vecchio ma valido assunto che informazione equivale a potere) è però che per forzare la sicurezza del wireless sono stati e vengono usati programmi sì specifici ma anche liberamente diffusi e disponibili a chiunque, che sia interessato a compromettere un sistema o piuttosto a capire quali siano le sue debolezze e a migliorarne la sicurezza, magari anche pungolando le ditte produttrici di hardware.

Un buon punto di partenza è proprio la raccolta di tool usata dagli agenti federali la scorsa estate, comodamente disponibili sotto forma di un Live CD Linux disponibile online e liberamente scaricabile.

L’Auditor Security Collection, è un sistema basato sulla nota distribuzione GNU/Linux Knoppix. Senza installare nulla e avviando da CD, è possibile trasformare in pochi minuti un qualsiasi computer desktop o portatile x86 con scheda wifi (possibilmente una con chipset supportato dai vari programmi) in una potente piattaforma e versatile per l’analisi delle reti, cablate e senza fili.

La Collection contiene esclusivamente software libero e open source: la lista di programmi inclusa è impressionante e conta decine di applicazioni (circa 300 secondo Remote Exploit), alcune via interfaccia grafica ma molte altre (la maggioranza) a linea di comando. Le categorie sono Footprinting, Scanning, Analizer, Spoofing, Bluetooth, Wireless, Bruteforce, Password Cracking, Forensics, Honeypot e le più generiche Daemons, Tools e Applications, l’ultima delle quali contiene anche browser, editor grafici, vari strumenti di produttività personale e anche un client IRC.

L’obiettivo dei curatori è però senza ombra di dubbio la sicurezza e le reti. Di fianco a programmi noti anche ai meno addentro alle tematiche di sicurezza ce ne sono altri sconosciuti a più: si va dai gettonati Kismet (sniffing di reti wifi), Nmap (Fingerprinting), Nessus o ancora Ethereal e Ettercap (scanner) a classici dell’amministrazione di rete come il traceroute. Possiamo affermare che per ogni compito c’è uno o più strumenti giusti. Abbiamo programmi per la mappatura di network e scansione delle porte degli host, di identificazione del sistema operativo, per l’intercettazione o la generazione dei pacchetti wifi (e non), per il cracking delle password e del WEP, per cambiare il MAC address, l’indirizzo hardware della scheda ethernet, per l’editing in esadecimale dei file. Ci sono tool per recuperare file cancellati o per renderli a loro volta irrecuperabili, per catturare password creando falsi server web o di posta, per agire sui DNS o sul NetBIOS o per giocare con il Bluetooth (sia scansioni che attacchi con la forza bruta) e addirittura anche sniffer per l’instant messaging.
Alcuni software sono esclusivi dell’Auditor Security Collection e sono stati creati appositamente o semplicemente adattati a partire da altri. Non mancano anche testi e informazioni sui principali sistemi e dispositivi e sulle configurazioni tra cui le password di default.

Auditor Security Collection

L’avvio del sistema su CD è semplice e immediato: inseriamo il supporto nel lettore e partiamo (o riavviamo) facendo il boot da esso. Giungiamo così a una schermata di login in cui ci viene chiesto di scegliere la risoluzione dello schermo (da 800×600 fino a 1600×1200 pixel). Digitiamo il numero relativo alla nostra scelta e qualche minuto ci ritroviamo davanti all’interfaccia grafica di KDE, con il suo sistema a finestre e (sulla falsariga di Windows) una barra inferiore con il menù dei programmi in basso a sinistra. Da qui non resta che esplorare il sistema e la sua vastissima selezione di programmi, tool e utility (nelle pagine seguenti ne vediamo più in dettaglio due) per mettere alla prova la nostra rete e il suo grado di (in)sicurezza.

Craccare la crittografia WiFi in… tre minuti?

Nell’articolo nominiamo una dimostrazione di agenti dell’FBI che in circa tre minuti hanno effettuato il cracking di una connessione wireless con chiave WEP a 128 bit. Come? E sopratutto: perché così velocemente?
La risposta è duplice: un misto di insicurezza del protocollo e di progressi crittografici. La connessione era crittata tramite il più debole WEP e non con WPA. Inoltre nel 2004 sono apparse nuove tecniche (e strumenti) che permettono di ridurre il numero (e quindi i tempi) dei tentativi. Grazie alla statistica applicata ai vettori di inzializzazione dei pacchetti gli intrusori possono prendere scorciatoie. Non servono più ore per attacchi esaustivi e sistematici di “forza bruta”: la sequenza sniffing, analisi dei pacchetti, cracking della crittografia è (purtroppo) molto più veloce che in passato.
Per altri dettagli e una spiegazione della procedura usata dall’FBI vi rimandiamo ad un articolo apparso sul numero 75 di Hacker Journal in cui vengono dati anche alcuni consigli pratici per aumentare la sicurezza delle nostre connessioni wireless. O almeno di limitarne l’insicurezza. La chiave di volta, come sempre, è il buon senso e, se possibile, un pizzico di paranoia.

Il Live CD Auditor Security Collection è basato su una versione particolare di Linux. Ideata dall’ingegnere tedesco Klaus Knopper, Knoppix ha raccolto il testimone delle vecchie “tiny distro” (alcune stavano su un semplice floppy) realizzando una sofisticata evoluzione e alzando al contempo la posta in gioco per il sistema operativo del pinguino. L’obiettivo di Knopper per sua stessa ammissione era di realizzare “un sistema denso di funzioni per dimostrazioni ed emergenze su un unico cd, che inoltre solleva l’utente dal compito di identificare l’hardware, configurare i driver, periferiche e l’interfaccia grafica”. La diffusione di Knoppix, e la marea di distribuzioni su CD, di cui solo alcune derivate, nate negli ultimi due anni dimostra la validità dell’idea e delle potenzialità dello strumento, utile sia come sistema portabile e compatto che come finestra su un mondo diverso da quello di Microsoft Windows, con in più il vantaggio di non toccare ciò che c’è sul disco fisso.
Ma Knoppix e i Live CD non stanno fermi a godersi i successi: l’evoluzione continuao meglio la corsa a rendere sempre più ricchi e funzionali le distribuzioni portabili: il prossimo passo è infatti il supporto DVD, naturalmente avviabile, pronto ad accogliere con i suoi quasi 5 Gb di spazio sistemi operativi corredati di ogni ben di dio di programmi e utility.

Guida all’uso di Xprobe

Come estrarre qualche preziosa informazione sui computer in rete e su quale sistema montano .

In questa e nella pagina seguente vediamo più da vicino due degli strumenti a linea di comando inclusi nel CD Auditor Security Collection. I curatori hanno incluso sia strumenti specifici per l’intercettazione e l’interazione di e con dispositivi wireless ma anche molti altri tool in generale per le reti, cablate o meno. Dopotutto i concetti di networking e il TCP/IP sono sempre gli stessi.
Le informazioni sono valide anche per chi vuole scaricare ed usare i singoli programmi, solitamente disponibili per sistemi Linux/BSD/Unix e spesso anche per Windows, alcune delle quali necessitano di Cygwin.

Il primo tool che esaminiamo è xprobe, un “fingerprint scanner” che svolge alcune delle funzioni del più noto nmap, rispetto a cui è meno versatile. Il fingerprinting è l’individuazione del sistema operativo (ed altre informazioni attinenti utili) dell’host obiettivo delle nostre ricerche in una rete. Xprobe è prodotto dal Sys-Security group ed è possibile scaricarne i binari o i sorgenti.

L’uso di xprobe da linea di comando è abbastanza semplice e lineare: il software non dipende da particolari librerie (nel caso voleste installarlo sul vostro sistema *ix basta scaricare sorgenti e compilarlo) e risiede solitamente nel path /usrl/ocal/bin sotto il nome abbreviato di “x”.

xprobe in azione

La sintassi suggerita dal programma se lanciato senza dati è ma seguente:

/usr/local/bin/x [-p portnum] [-i interface] [-v] host[/netmask]

dove si può specificare la porta, l’interfaccia (di rete), la verbosità (la quantità di dati) e la maschera di rete. Host deve essere sostituito con il nome di dominio o l’ip numerico dell’host su cui vogliamo informazioni.

Volendo un utilizzo più basico può bastare la sintassi ridotta:

/usr/local/bin/x host

specificando il solo ip o nome dell’host.

Come si vede nell’immagine, lanciato con l’ip del router wireless, uno US Robotics, ci restituisce vari dati di rete, tra cui la maschera e in ultimo, il tipo di sistema operativo dell’host (nel nostro caso “Novell FreeBSD 4.3-current”, informazione preziosa e punto di partenza per cercare materiale e tecniche specifiche per continuare i nostri test di sicurezza.

Guida all’uso di Ngrep

Altro strumento interessante per le indagini in rete è ngrep.
Il programma applica le funzioni di ricerca tipiche di grep sul traffico di rete ed è “pcap-aware”, cioè guarda e cerca (ergo: sniffa) nello specifico dentro i pacchetti di dati.
Ngrep riconosce e supporta i protocolli TCP, UDP, ICMP, IGMP e Raw su Ethernet, PPP, SLIP, FDDI, Token Ring, 802.11 e interfacce null.
Il sito web è ngrep.sourceforge.net dove troviamo i binari per Windows e sistemi Unix e i sorgenti, che possono essere compilati su, tra gli altri, Linux e vari BSD, Mac OS X, Solaris, AIX, HPUX, IRIX e anche BeOS.

Ngrep lo si trova installato in /usr/local/bin
Se lanciato com’è, senza opzioni, ngrep rileverà tutto il nostro traffico di rete del momento (provate mentre state scaricando la posta o ricaricando una pagina web o in IRC), cosa poco utile oltre che notevolmente caotica.

ngrep in azione

Per trarre beneficio da ngrep Bisogna invece limitarne il raggio di azione, specificando anzitutto l’host e la porta.
Ad esempio con questa stringata sintassi:

ngrep -d en0 port 25

diciamo a ngrep di monitorare tutte le attività di rete della nostra macchina solo sull’interfaccia en0 (la ethernet via cavo) e che hanno a che fare con la porta 25, quella dell’SMTP (Simple Mail Transfer Protocol, in altre parole la posta). Al posto del 25 possiamo sostituire qualsiasi altra porta vogliamo, ad esempio la 21 (ftp) o la 80 (http). Ad esempio:

ngrep -d en0 port 80

Proseguendo nell’esplorazione delle potenzialità di ngrep un uso più sofisticato e più in linea con quello del programma da cui ngrep deriva (grep) è il seguente:

ngrep -d en0 'ngrep' port 80

In cui si dice di monitorare l’occorrenza della parola “ngrep” nel traffico web. Se vogliamo verificare l’efficacia lanciamo il comando e poi apriamo nel browser un sito web, che contenga la parola specificata.
Un altro esempio, come suggerito sul sito di ngrep stesso, potrebbe essere:

ngrep -wi -d en0 'user|pass' port 21

Con cui diciamo invece di tenere d’occhio tutto il traffico ftp setacciandolo alla ricerca dei termini “user” oppure “pass”, magari anche ridirigendo l’output in un file di testo con un semplice “>”. Si lascia al lettore l’interpretazione di un possibile utilizzo di questo comando…

Una versione di questo articolo è stata pubblicata su "Hackers Magazine" n. 29 del 09/2005