(https://www.wifi-libre.com/img/members/3/wifibroot_1.jpg)
He leído en unos temas relacionados con el crack de PMKID WPA, aquí y en otros sitios, algunos mensajes que hacían referencia a WiFiBroot.
Se trata de un script en python empezado el 30 de julio.
La meta inicial era crear un script dedicado a la captura y al crack de handhsakes.
Se puede decir que su autor ha tenido suerte: El 4 de agosto sale a la luz la vulnerabilidad "PMKID" que revoluciona por completo el genero.
¡Ya ni hace falta un cliente conectado para poder lanzar un ataque por diccionario!
Nos basta con mandar una llave cualquiera al PA para obtener la PMKID . Para más información sobre el crack de PMKID: Revolución en el crack WPA: Ataque por diccionario contra PMKID
El proyecto ha naturalmente evolucionado para integrar al novedoso ataque contra PMKID
Instalación Hay que destacar, porque tiene merito, que WiFibroot es una herramienta completa escrita "from the scratch" en python.
¡No depende de ninguna herramienta externa!
Qué sea para capturar trafico, des-autenticar para capturar handshake, autenticar para obtener la PMKID y crackear a ambos por diccionario.
WiFiBroot lo hace todo sólito, tirando principalmente de scapy
Voy a dar los pasos a seguir para poder probar WiFiBroot en Kali Linux.
- dependencias:
* Scapy está instalado por defecto. Si no fuese el caso:
sudo apt install scapy-python
* Las únicas dependencias que faltarán son las librerías para el crack WPA. Se instalan con:
sudo apt install python-pbkdf2
En Ubuntu, linux Mint y otras distribuciones "estables" basadas en debian tendréis que instalar scapy por pip en lugar de los repositorios. Esto es porque el script trabaja solo con versiones de scapy superiores a 4.2.0
sudo apt install python-pip
sudo pip install scapy
Notad también que el script no funciona con python 3 y versiones superiores: No sirve de nada instalar python3-scapy o python3-pbfk2
- wifibroot * Se descarga desde github
git clone https://github.com/hash3liZer/WiFiBroot.git
* Entrar en el directorio que acabas de descargar
cd WiFiBroot
* Hay que ejecutar el script con derechos de administrador.
sudo python wifibroot.py <opciones>
Pero lo primero que hay que hacer es mirar la ayuda para ver las opciones...
python wifibroot.py -h
(https://www.wifi-libre.com/img/members/3/wifibroot_3.jpg)
Crack PMKID con WiFiBrootComo podéis ver en la imagen justo arriba hay tres modos disponibles:
modo 1: Captura y crack handshake
Modo 2: Captura y crack PMKID
Modo 3: Crack offline PMKID o handshake
Para ver la ayuda sobre el modo que nos interesa ahora añadimos -m 2 al argumento -h
python wifibroot.py -h -m2
Mode:
02 Captures and Crack PMKID (PMKID Attack) 1
Options:
Args Description Required
-h, --help Show this help manual NO
-i, --interface Monitor Interface to use YES
-v, --verbose Verbose Mode. Detail help NO
-d, --dictionary Dictionary for Cracking YES
-w, --write Write Captured handshake to
a seperate file NO
Filters:
-e, --essid ESSID of listening network
-b, --bssid BSSID of target network.
-c, --channel Channel interface should be listening
on. Default: ALL
La primera vez no he entendido muy bien como se usaba por ver las opciones -e y -b.
Pensé que el scan se debía hacer con otra herramienta y no es así.
Tenemos a dos opciones mandatarias:
-i para la interfaz
-d para el diccionario
Es un poco raro de tener que entrar el diccionario antes de escanear y esto también da a pensar que el escaneo se debe hacer por otro lado.
Hay un pequeño diccionario incluido, list.txt, lo podemos usar, está a mano en el directorio "dicts" que tenemos al lado del script.
Añado mi contraseña al final del diccionario para hacer la prueba.
Hay que activar el modo monitor con airmon-ng antes de ejecutar el script porque no se encarga de ello.
Ejecuto entonces el script con la sintaxis mínima
sudo python wifibroot.py -m2 -i wlan0mon -d /dicts/list.txt
Se lanza un escaneo con una salida sencilla que paramos cuando queremos con < Ctrl + C >
Os aconsejo parar el escaneo cuando aparece vuestro objetivo porque tiene un bug y fracasa con un error feo:
(https://www.wifi-libre.com/img/members/3/wifibroot_2.jpg)
Si maximizáis la consola aguantará algo más.
Cuando paréis el escaneo se presenta la lista de routers detectados y entráis el número que corresponde al vuestro:
(https://www.wifi-libre.com/img/members/3/wifibroot_4.jpg)
Se lanza el ataque para obtener el primer way del handshake y pillar la PMKID
(https://www.wifi-libre.com/img/members/3/wifibroot_5.jpg)
El proceso es algo lento comparado a otros pero todo muy correcto. smile
He tardado en media 30 segundos para sacar la PMKID de mi Punto de Acceso y no ha fallado.
Y todo se hace en modo monitor: Conectar al PA y esnifar el trafico.
Esto es una característica muy interesante ya que permite mantener todo nuestro "flow" de trabajo sin pasar de un modo a otro según que buscamos un handsahake o una PMKID
Se lanza enseguida el ataque por diccionario:
(https://www.wifi-libre.com/img/members/3/wifibroot_6.jpg)
¡Victoria!
Hay que decir que no conviene para otra cosa que crackear un pequeño diccionario porque es muy lento, podéis leer cada contraseña distintamente mientras se van crackeando.
Pero, y está ahí el truco, tenemos la opción de "guardar capturas" (-w ) para crackear con un programa más eficiente y una lista más larga.
Y el autor ha tenido la buena idea de hacer un log automático con la pmkid lista para usar en jhon o hashcat.
(https://www.wifi-libre.com/img/members/3/wifibroot_7.jpg)
Si a primera vista el script puede parecer un poco cerrado por obligar a indicar un diccionario, vemos que no es un problema y que lo podemos usar para capturar PMKID al canto y crackearlas con otro programa.
Podemos indicar una lista de una sola palabra para ir mas rápido.
modo 3: Crack offline PMKID o handshakeLas opciones tal cuál:
Mode:
03 Perform Manaul cracking on available capture
types. See --list-types 3
Options:
Args Description Required
-h, --help Show this help manual NO
--list-types List available cracking types NO
--type Type of capture to crack YES
-v, --verbose Verbose Mode. Detail help NO
-d, --dictionary Dictionary for Cracking YES
-e, --essid ESSID of target network.
Only for HANDSHAKE Type YES
-r, --read Captured file to crack YES
Voy a crackear otra vez mi PMKID así que escribiré --type pmkid visto que type es un argumento mandatario.
Y para crack PMKID me queda por indicar el diccionario (opción -d) y usar la opción -r (fichero de captura)
time python wifibroot.py -m3 --type pmkid logpmkid -d dicts/list.txt -r captura
(https://www.wifi-libre.com/img/members/3/wifibroot_8.jpg)
El fichero de captura no es nada más ni menos que el hash tal y como se hace para hashcat o jhon.
La velocidad... Es lo que hay.
Un poco más de diez segundo para pasar un diccionario de 40 contraseñas. Es para pruebas rápidas con diccionario sencillos.
No he probado el crack por handshake... PMKID or die! big_smile La velcodiad será la misma: No esperad resultados diferentes.
Para concluir este primer post lo primero que se debe hacer es destacar que se trata de un programa 100% Do It Yourself.
Es admirable haber programado "from the scratch" un programa que hace todo el proceso: escaneo, asociación, conexión, desautenticación y crack.
Todo enteramente programado desde cero...
No me ha resultado muy intuitivo los cincos primeros segundos pero se entiende enseguida su modo de funcionamiento "todo en uno" y es muy practico.
La velocidad de crackeo no lo hace apto para diccionarios largos pero no es ningún tipo de problema: Podemos guardar la captura con la opción -w y tendemos un fichero "hash" listo para uso en hashcat o jhon the Ripper.
Una herramienta original y muy recomendable.
El Autor de este post es kcdtvOs vengo a compartir con vosotros esta herramienta a ver que os parece. ;)
https://www.wifi-libre.com/topic-1232-wifibroot-script-para-captura-y-crack-de-handhsake-y-de-pmkid.html#p12868 (https://www.wifi-libre.com/topic-1232-wifibroot-script-para-captura-y-crack-de-handhsake-y-de-pmkid.html#p12868)
Aunque me acabo de fijar en una cosa en la versión del Wifislax en las live de testeo por lo que se ya viene incluida pero bueno aquí viene bien explicado por su autor.
Citar28/09/2018
01 - Actualizado kernel 4.14.71 --> 4.14.72
02 - Incluido wifibroot-1.3
Algun sistema para pentesting en la actualidad que traiga incorporado wifibroot ?