Tecnologia e Digital Hacks
20-04-2008

WPA e WEP fuori combattimento - anche con la Fonera

Introduzione

Per quanto questo tema sia già stato visto e rivisto, cerco di farne una trattazione semplice e veloce che ci permetterà di effettuare l'operazione di cracking di una rete wifi nel modo più efficiente possibile. Molti di voi che in passato avranno provato a cimentarsi nella suite di aircrack avranno notato quanto sia difficile configurarla (soprattutto in sistemi windows) se non si hanno le schede di rete giuste. Oggi vediamo dunque come utilizzare la nostra Fonera per inserirsi con facilità in una rete wireless protetta. Chi volesse provare con un'altra scheda di rete potrà spostarsi più avanti nell'articolo. Vi consiglio però.. di comprare una Fonera se ancora non l'avete e vi piace smanettare.. Costa pochissimo (4-5 €) e supporta alla perfezione i migliori programmi che oggi possiamo utilizzare. Dalla suite di aircrack-ng a mdk3.. ecc. Premetto che questa guida presenterà una buona dose di difficoltà tecniche, dovute soprattutto alla necessità di installare un nuovo firmware nella nostra fonera, il potentissimo Legend (stabile e veloce).

Prepariamo la Fonera

Prerequisiti

Scarichiamo il pacchetto completo dei file necessari da questo indirizzo. Inoltre in questa guida partirò dal presupposto che la fonera sia in questo stato (ssh abilitato).

Installazione del Firmware Legend

Per installare il Firmware Legend, purtroppo, non possiamo utilizzare la nostra vecchia e comoda utility di flash di Freifunk, a causa di alcuni problemi di memoria. Dovremo servirci dell'accesso RedBoot per creare le partizioni giuste.

Abilitazione accesso RedBoot

Impostiamo questi parametri di connessione (Pannello di controllo->Connessioni di rete->Rete locale->Proprietà->Protocollo Internet). Colleghiamo ora la Fonera al PC ed apriamo HFS (hfs.exe - se lo apriamo per la prima volta alla prima finestra di dialogo scegliamo "no"). Clicchiamo col tasto destro sulla casetta e scegliamo Add files. Aggiungiamo quindi i due file openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma e out.hex. Clicchiamo su port e scegliamo la porta 1234 (casuale, per non avere problemi). Se adesso apriamo col browser l'indirizzo http://localhost:1234 capiremo a cosa serve questo programma. Grazie a lui infatti la fonera potrà andare a prendere i due file tramite il protocollo http direttamente dal nostro pc. Adesso apriamo putty all'indirizzo 169.254.255.1 Se è la prima volta che lo usiamo clicchiamo yes a questa finestra di dialogo. Entriamo usando Username: root Password: admin (a meno che non l'abbiate cambiata ^^, è quella di login all'interfaccia web) Una volta eseguito il login, procediamo con questi comandi (invio per ogni riga, attendendo il ritorno del prompt!): Vi apparirà una finestra di dialogo con scritto "Server unexpectedly closed network connection". Premete ok. La fonera si riavvierà nel giro di due minuti. Per fare prima apriamo cmd (il prompt dei comandi) e diamo
  • ping 169.254.255.1 -t
quando inizieremo a leggere
Reply from 169.254.255.1
allora la Fonera sarà pronta per un nuovo accesso SSH. Per riaccedere velocemente clicchiamo col tasto destro sulla barra del titolo della finestra di putty e premiamo "Restart session". Rifacciamo il login e digitiamo questi comandi: Ok, abbiamo abilitato l'accesso tramite RedBoot. Essenzialmente possiamo accedere al bootloader.

Accesso tramite RedBoot

Colleghiamo tramite cavo la fonera al nostro PC. Impostiamo la connessione in questo modo: Apriamo tftpd32.exe. Adesso apriamo cmd.exe e diamo il comando:
  • ping 192.168.1.254 -t
Apriamo Putty e configuriamolo come in figura. Non premiamo "Open". Adesso colleghiamo la Fonera all'alimentazione e appena si iniziano a ricevere risposte (bisogna essere molto pronti) premiamo "Open". Blocchiamo il Ping. Su Putty dovrebbero essere apparse varie scritte (se non è successo, spegniamo la fonera e ripetiamo questi ultimi punti). Per pulire la schermata premiamo Invio. Siamo dentro RedBoot

Installiamo Legend

Dentro RedBoot digitiamo questi comandi:
  • ip_address -l 192.168.1.254/24 -h 192.168.1.166
  • fis init
Premiamo y per confermare. Al termine dell'operazioni (può richiedere anche dieci minuti!) continuamo con:
  • load -r -v -b %{FREEMEMLO} openwrt-atheros-2.6-root.jffs2-64k
  • fis create -f 0xA8030000 -l 0x006F0000 rootfs
quest'ultima operazione può richiedere davvero tanto tempo.. anche mezz'ora.. Portate pazienza.. Fino all'ultimo ^^
  • load -r -v -b %{FREEMEMLO} openwrt-atheros-2.6-vmlinux.lzma
  • fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.l7
Anche qui.. ci saranno lunghi tempi d'attesa. Diamo
  • reset
e il nostro firmware Legend è installato. Dopo qualche minuto, cercando reti wireless, troveremo Colleghiamoci a tale rete. Purtroppo l'ultimo firmware mi ha dato alcuni problemi con l'interfaccia web, che quindi reinstalliamo. Per farlo, dopo che si è riavviata la fonera, colleghiamoci tramite putty alla porta telnet e all'indirizzo 192.168.1.1. Con hfs carichiamo il file webif_0.3-8_mips.ipk. Controlliamo che ip ci è stato assegnato dal DHCP della nostra scheda di rete Wireless (ad esempio 192.168.1.54). Ora digitiamo dentro putty: dove [IP] è l'ip assegnato. Adesso Legend è installato e funzionante. Per ammirarlo, colleghiamoci all'indirizzo http://192.168.1.1/ con il nostro browser. Per farlo funzionare a dovere, io ho ad esempio dato questi settaggi (vi consiglio di fare altrettanto per non avere problemi nella seconda parte della guida; li trovate in Network->Networks, dopo aver impostato la pwd del router) visto che ho un router a 192.168.1.1.

Iniziamo il cracking

I programmi

Per il cracking di una rete Wifi (non il wardriving, sia chiaro) dobbiamo armarci dei seguenti programmi: Inoltre dobbiamo avere una scheda di rete wifi supportata, come dicevo all'inizio. Se state usando la Fonera.. Questo problema non si pone.. Siete già pronti. I comandi universali sono segnalati in sottolineato.

Problemi anticipati

Ci sono alcuni problemi che possono rendere molto difficile la prosecuzione con ciò che sto per dire..
  • Non c'é traffico
    • Non c'é traffico..quindi vi sfido a catturare pacchetti utili :D
    • Dobbiamo tentare di iniettare pacchetti affinché il router risponda a dovere.
  • Filtro MAC Address
    • Come descritto.. Basta gestire la sorgente del traffico
  • Non riesco a decifrare neanche con milioni di IVS
    • Statisticamente la sfiga è sempre alle porte
    • Prova a usare -k N (con N=1..17) o -y per variare il metodo di attacco.
    • Aumenta il fudge factor (di default è 2) specificando -f N (con N>=2). Ci metterà di più ma aumenta le speranze di trovare la chiave. Un buon modo è provare con 4..8..16.. ecc.
  • Ancora niente
    • Trova la posizione dell'AP e chiedi al suo possessore.

Pianificazione

Prima di tutto, dobbiamo pianificare l'attacco. Dobbiamo avere le idee chiare sulla rete da attaccare. Usando un programma come Network Stumbler possiamo vedere quali reti abbiamo attorno. Dopo aver scelto la rete di nostro interesse (preferibilmente una rete WEP), completiamo questa tabella.
<AP MAC> MAC dell'ap da penetrare.
<C MAC> MAC di uno o più client collegato a quel ap.
<S MAC> Il MAC della nostra scheda di rete WIFI o, se la state usando, della Fonera.
<AP ESSID> Il "nome" della rete che vogliamo attaccare.
<AP CHAN> Canale della rete da attaccare.

Catturiamo pacchetti

Per catturare pacchetti lo strumento più adatto è airodump-ng. Se stiamo usando la Fonera, questo programma è già inserito di default nel firmware Legend. Colleghiamoci quindi ad essa tramite cavo di rete e non via wireless. Impostiamo questi settaggi TCP/IP. Ora colleghiamo tramite Putty a 192.168.1.12. Entriamo con nome utente root e la password assegnata in precedenza nel pannello web. Diamo questo comando:
  • wlanconfig ath create wlandev wifi0 wlanmode monitor
Esso attiva la modalità monitor alla nostra Fonera. A questo punto montiamo una nuova partizione che si collega al nostro Windows e ai suoi documenti condivisi. In questo modo i pacchetti vengono salvati direttamente dalla fonera al nostro pc. Lo facciamo in questo modo:
  • mkdir /tmp/smbmount
  • mount.cifs //192.168.1.1/[myshare] /tmp/smbmount -o user=[mywindowslogin]
dove [mywindowslogin] è il nostro nome utente dentro Windows e [myshare] il nome della nostra cartella condivisa (lo vediamo dentro \\127.0.0.1). Ci verrà richiesta la nostra pwd di Windows. Diamo il comando:
  • airodump-ng ath1 -w /tmp/smbmount/general
Vedremo così apparire sulla schermata le reti wireless di cui la fonera sta accumulando pacchetti. Questo è un buon modo per completare la tabella di cui parlavamo prima. Nel frattempo, se guardiamo dentro i file condivisi, troveremo il file di pacchetti che cresce di dimensione. Fermiamo tramite CTRL+C e miglioriamo il comando:
  • airodump-ng -bssid <AP MAC> -c <AP CHAN> -w /tmp/smbmount/general ath1

Cracking selvaggio

Apriamo una shell di DOS e utilizziamo Aircrack in questo modo:
  • aircrack [file.cap]
dove [file.cap] è il file di pacchetti che airodump sta catturando. Se la rete che stiamo provando a decifrare è una WPA, dobbiamo aggiungere il percorso ad un dizionario tramite il parametro
  • aircrack [file.cap] [pathtowordlist]

Aumentiamo i dati alla fonte

WEP

Dalla Wikipedia:
Il WEP viene ritenuto il minimo indispensabile per impedire a un utente casuale di accedere alla rete locale.
Nulla di più esatto. Tramite la suite di Aircrack inoltre possiamo aumentare il numero di autenticazioni che vengono gestite dal router e che su Airodump vengono indicate sotto la colonna #Data. Una volta raggiunti circa 60.000 pacchetti (nel sistema di casa mia ci ho messo circa 8 minuti) dovremmo riuscire a decifrare la pwd della rete in questione (in pochi secondi). Inoltre aircrack continuerà a cercare la pwd ogni volta che si raggiungono 5000x pacchetti (x€N). Per accellerare il numero di pacchetti #Data ci sono vari attacchi. Qui ne cito solo 2 e brevemente. Se avete voglia di approfondire (per quanto questi comandi siano sufficienti per la sola decifratura della chiave) potete guardare i riferimenti a fondo articolo. Apriamo dunque un'altra shell di Putty e diamo il comando (fake authentication)
  • aireplay-ng -1 0 -e <AP ESSID> -a <AP MAC> -h <S MAC> ath1
se l'autenticazione riesce possiamo dare il comando: (Arp replay)
    • aireplay-ng –3 -b <AP MAC> -h <S MAC> ath1
se non va il Mac Filter è attivo, quindi cambiamo tecnica: (fake authentication da Client)
  • aireplay-ng -1 0 -e <AP ESSID> -a <AP MAC> -h <C MAC> ath1
    • aireplay-ng –3 -b <AP MAC> -h <C MAC> ath1
sfruttando cioé uno dei client connessi. Se notiamo che i pacchetti non aumentano come vorremmo, utilizziamo la tecnica del deauth, cioé deautentichiamo uno dei client connessi:
  • aireplay-ng –0 0 -a <AP MAC> -c <C MAC> ath1
Utilizzando queste tecniche vedremo i pacchetti #Data salire alle stelle.

WPA

Da Wikipedia:
Wi-Fi Protected Access (WPA) è un protocollo per la sicurezza delle reti senza filo Wi-Fi creato per tamponare i problemi di scarsa sicurezza del precedente protocollo di sicurezza, il WEP. Studi sul WEP avevano individuato delle falle nella sicurezza talmente gravi da renderlo quasi inutile. Il WPA implementa parte del protocollo IEEE 802.11i e rappresenta un passaggio intermedio per il raggiungimento della piena sicurezza.
Qui non conta molto avere tanti pacchetti. Quello che ci serve è un handshake. Inoltre è obbligatorio avere almeno un client connesso alla rete. L'unico attacco effettivo per ottenere un handshake con il WPA è il Deauthentication Attack forzando la deautenticazione di un client valido. Il comando da dare ad Aireplay è quindi:
  • aireplay -0 5 -a <AP MAC> -c <C MAC> ath1
Se questo comando va a buon fine, riusciremo ad ottenere un handshake valido, consistente in 4 pacchetti di autenticazione. -- Esiste anche un'altra tecnica di decriptazione per aircrack e WPA che si basa su alcune tabelle di hash capaci di decrittare molto più velocemente le chiavi e svicolandosi almeno in parte dall'attacco dizionario. Le approfondirò presto in un altro articolo, e ci serviremo del programma della suite airolib.

Conclusioni

Le reti wireless sono per loro stessa definizione potenzialmente insicure. Purtroppo, visto la quantità di informazioni che girano attorno al cracking dei sistemi di crittazione, ho cercato di dire solo quello che serve allo scopo. Spesso però si richiede più elasticità per ottenere buoni risultati. Per questo spero di tornare presto su questo argomento. Quello che vi posso consigliare è di provare, provare e provare. Solo per capirci aireplay è capace di ben 6 tipi di attacchi diversi:

Links

Dizionari: http://www.theargon.com/achilles/wordlists/cracklib http://www.openwall.com/wordlists/ Sitografia intelligente: http://docs.lucidinteractive.ca/index.php/Cracking_WEP_and_WPA_Wireless_Networks - Trattazione generica tramite la suite airodump http://www.grape-info.com/doc/linux/config/aircrack-ng-0.6.html - Altro ottimo documento su aircrack Altri Fonera hacks: http://stefans.datenbruch.de/lafonera/ http://www.rigacci.org/wiki/doku.php/doc/appunti/hardware/la_fonera

17 Commenti a “WPA e WEP fuori combattimento - anche con la Fonera”

  1. Nick scrive:

    Spero proprio di tenerne fede. Prima però uscira un articolo su come..sniffare pacchetti.. :D.. O meglio..qualcosina sul traffico generato.. sulla vera pericolosità delle reti, via cavo e non (soprattutto). Per quanto riguarda la Fonera.. purtroppo il sito ufficiale va a periodi.. In alcuni è gratis, in altri circa 5, in altri 15 e in altri ancora 25.. :D..Insomma bisogna cercare il periodo giusto..oppure procurarsela in altri modi.. Ti so dire :)

  2. Kuja scrive:

    Devo assolutamente procurarmi una Fonera. Mi sono registrato e ho visto che ti offrono Fonera più Fontenna in sconto, però costa un po di piu del previsto... Interessante la guida, (stavo guardando or ora la data di pubblicazione, 15:00), se terrai fede al tuo proposito di aggiungere la seconda parte diverrà ancora più bella! Ciao

  3. Nick scrive:

    E se nello startup (/etc/init.d/custom-user-startup) mettiamo.. START=90 wlanconfig ath1 create wlanmode monitor wlandev wifi0 mdk3 ath1 d & ..incasiniamo tutto! Cioé la fonera diventa uno strumento di devastazione in grado di deautentificare il traffico che trova. Aggiungiamoci un battery pack e ci siamo.

  4. myr scrive:

    ottimo articolo! spero presto di seguirlo e poi ti farò sapere...tks per averlo scritto ;)

  5. Gladio scrive:

    Bello il tuo articolo, l'ho letto solo ora complimenti ;) Una domanda...non ho una fonera ma un' Asus USB wl-167g con appositi driver su linux, quando faccio un --faleauth dopo un po' circa dieci messaggi mi disconnette l'attacco e mi da una schermata per i "probabili motivi di fallimento" che lo può causare... Il test dell'injection mi risponde (negativamente credo) in questo modo: http://img106.imageshack.us/my.php?image=schermatavs1.png La modalità "monitor" è attiva ed i driver sono i migliori per la mia usb, è possibile che non supporta l'injection ?

  6. Nick scrive:

    @Gladio Normalmente (almeno sulle prove che ho fatto) quell'errore è causato dalla presenza di un filtro mac. Altre volte è dovuto ad una connessione molto debole. Quando lanci l'attacco fakeauth devi essere sicuro di sferrarlo falsificando il mac di un client valido presente sulla rete (ed impostandolo come sorgente). Se il mac non viene cambiato automaticamente usa sudo ifconfig ath1 hw ether MAC (http://aircrack-ng.org/doku.php?id=faq#how_do_i_change_my_card_s_mac_address) Potrebbe inoltre esserci un problema opposto.. Prova ad impostare il mac originale e ad utilizzarlo anche come source, ignorando quello dei client collegati. Con la modalità monitor attiva non ci dovrebbero essere altri problemi per aireplay. _Inoltre prova a settare il source come wifi0 e non ath0/1._ A volte i madwifi fanno casini per la virtualizzazione. Se non ci sono client collegati, puoi provare comunque a seguire questa guida: (http://aircrack-ng.org/doku.php?id=how_to_crack_wep_with_no_clients&s=mac%20filter)

  7. Gladio scrive:

    Ok, grazie mille per ora... Ti farò sapere come và "sulla mia rete personale" :-P

  8. Click here scrive:

    Click here... I\'m supporting this idea all the way! I can not imagine who would disagree with it. On the whole - make posts like this more often....

  9. Hanicker - Nicola Moretti » Connettersi ovunque scrive:

    [...] qui cercando il modo per penentrare in qualche connessione wifi protetta vi consiglio di leggere questo articolo, se invece cercavate di entrare in qualche wi-fi sharing vi consiglio di comprare la vostra Fonera [...]

  10. angelo84 scrive:

    davvero un'ottima guida complimenti, per i meno esperti però segnalo di dare un'occiata a questa, specialmente se si ha una scheda wireless intel 3945. www.secretwireless.altervista.org

  11. Nick scrive:

    @angelo84 Grazie per la segnalazione e per i complimenti! :)

  12. ivan scrive:

    ma qualcuno ha mai ottenuto la chiave wep o wpa di una rete con aircrack o altri metodi? secondo me nessuno perche tutti ne parlano parlano ma a tutti quelli che ho chiesto prima dicono si poi ritrattano dicendo che in realta hanno cattrurato solo pchetti di trassmissioni wifi che non significa assolutamente nulla mahhhhhhhh

  13. Nick scrive:

    @ivan Con aircrack, in presenza di reti wep non ho mai avuto il minimo problema. Nel giro di un'ora o di una decina (in mancanza di client connessi da deautenticare) ho sempre ottenuto con successo la chiave. Con wpa, al contrario, pur essendomi cimentato una sola volta non sono riuscito ad ottenere il primo handshake (forse ero troppo distante).

  14. Nick scrive:

    Alcuni tips and tricks molto interessanti: http://fonerahacks.com/index.php/Tutorials-and-Guides/Aircrack-Tips-and-Tricks.html

  15. massimo scrive:

    ciao seguo la tua guida ma al primo reboot dopo aver caricato il file openwrt-ar531x-2.4-vmlinux-CAMICIA.lzma mi impalla la fonera e devo riflasharla di nuovo con il firmware originale e poi riaprire la porta ssh sai darmi qualche consiglio?

  16. Nick scrive:

    @massimo Ciao! Sì, forse hanno cambiato qualcosa negli ultimi modelli. Ti consiglio di provare la procedura con il programma AP-51 seguendo questi consigli http://blog.hanicker.it/2008/02/20/flash-della-fonera-up-to-r5 e aggiungendo i file di legend nel programma. Una cosa sola.. Puoi essere più preciso su cosa succede alla fonera? Puoi provare a vedere se risponde alla porta telnet 21?

  17. Ale scrive:

    ciao, prima di tutto, grazie 1.000 per la guida, mi è stata molto utile. volevo chiedere questo: se mi collego alla fonera via ssh da linux (ubuntu) come faccio a salvare i pacchetti che sniffo in una cartella condivisa? Se lo faccio da winXP tramite putty col comando "mount.cifs //192.168.1.1/[myshare] /tmp/smbmount -o user=[mywindowslogin]" va tutto bene. Se lo faccio da terminale di ubuntu, dopo avermi chiesto la pass mi restituisce "mount error 13 = permission denied" :( la pass ovviamente la scrivo giusta :) Perchè? Quel mount.cifs lavora solo verso sistemi windows o sbaglio qualcosa?