El libre pensamiento para un internet libre
No estas registrado.
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
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.
:
* 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
* 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
Como 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:
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:
Se lanza el ataque para obtener el primer way del handshake y pillar la PMKID
El proceso es algo lento comparado a otros pero todo muy correcto.
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:
¡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.
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.
Las 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
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! 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...
Chapeau!
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.
Fuente/Página oficial:
WiFiBroot by hash3liZer @ Github
Desconectado
Buenas...
Tenia curiosidad y habia decidido probar los dos router que tengo en casa, y la verdad es que todo ha ido bien en la instalacion, hasta que he llegado a la autentificacion, ahi se queda eternamente, he probado en las wifis vecinales alrededor ya por curiosidad absoluta y el mismo resultado, se queda en el Open Au....
Alguna idea de por que puede ser???
P.D . Disculpas por ser un maleducado, lo primero y antetodo GRACIAS por las clases, esto de picarme con el script me ha hecho olvidarme hasta de eso....
Desconectado
Como mínimo deberías describir como lo ejecutas exactamente y poner la salida en consola de lo que te muestra, para que alguien pueda decirte algo.
[email protected] a wifi-libre!!
Desconectado
Madre mía, intenté primero en wifislax y no había manera. Lo intento con Kali y el mismo error, la verdad es que no entiendo ni papa hahah
Desconectado
Si no pones el error en cuestión, tu comentario, por muy amable que sea, no sirve de nada
Siga el tutorial al pie de le letra y copia y pega todo lo que pasa en consola hasta el error. Así podremos entender algo.
Bienvenido a wifi-libre
Desconectado
¡Hash3liZer ha introducido novedades la semana pasada!
"Actualizar" WiFiBroot es tan simple como abrir una consola en la carpeta "WiFiBroot" y ejecutar
git pull
Y se hace en un micro-segundo (unos kbs más, son más o menos 250 lineas nuevas en el script)
Github es tu amigo... ...Aunque no lo sabes aún.
Tenemos ahora a un nuevo modo: El modo 4
Un nuevo modo para ataques de "desautenticación"
Me vais a decir que ya hay un ataque deauth' en el modo 1.
Y tenéis toda la razón del mundo: Tenemos a la opción --deaut en el modo 1
Podemos ver que la opción ya incluida en el modo 1 no permite especificar un cliente.
Sin embargo el nuevo modo 4 permite especificar un cliente para aumentar las probabilidades de éxito a la hora de capturar el handshake (nos centramos más).
Y sobre todo: Se añaden a la clásica inyección de ACK varios ataques por hundimiento (flooding") dirigidos contra el AP y contra el cliente.
El código se encuentra en wireless/connector.py.
La idea es hacer el mismo efecto que un ataque combo aireplay-ng + mdk3
Las únicas opciones requeridas son:
- La interfaz: Opción -i
- El número de paquetes "deauth'" a mandar: Opción -0
Si queremos que el ataque sea infinito pondremos -0 0
La sintaxis es parecida a aireplay-ng dónde "-0 0 -a bssid -c station " es el ataque infinito.
Si queremos limitar el ataque pondremos el número de tramas desaut' a mandar en lugar de 0:
-0 2 = Mandamos 2 paquetes deaut'
Un ataque infinito básico a lo loco que sería algo parecido al amok indiscriminado de mdk3
sudo python wifibroot.py -m 4 -0
La idea, si no queremos hacer los salvajes y ser eficientes, es entonces usar los parámetros --ap y --client para asaltar nuestro router y un cliente.
sudo python wifibroot.py -m 4 -0 --ap 00:11:22:33:44:55 --client aa:bb:cc:dd:ee:ff
No había probado el modo 1 (crack por handshake)
El nuevo modo es una buena oportunidad para probar todo esto:
Ejecutamos wifibroot en modo 1 en una consola:
sudo python wifibroot.py -m1 -i wlan0mon -d '/home/kcdtv/Escritorio/dic.txt'
-m 1: El modo que toca para capturar el handshake
-i wlan0mon: La interfaz wifi ya puesta en modo monitor con airmon-ng
-d /ruta/diccionario: Se debe indicar sí o sí un diccionario. Wifibroot es lento para crackear la llave, probar con un diccionario muy pequeño.
Tendremos entonces a nuestro clásico escaneo para seleccionar el objetivo
Pulsamos <Ctrl + C> cuando aparece el objetivo y entramos a continuación el número que corresponde:
wifibroot se pondrá entonces a fijar el canal del objetivo y buscar rápido a clientes conectados.
Se hace en un segundo y no será bastante en muchos casos.
Hay que prolongar el escaneo en búsqueda de cliente ( reponder yes)
Prensamos <CTRL+C> y empezará la desaut.
Si hemos detectado un cliente desde el inicio respondemos "n" y se lanza de inmediato la desaut' contra los clientes detectados.
Cuando se obtiene el handshake, wifibroot inicia el ataque por diccionario y guarda el handshake en la carpeta "handshake" para crackearlo con otro programa.
A pocos metros del routers y el cliente no falla pero es posible que no sea así
En estos casos podemos abrir una segunda consola para atacar con más fuerza:
sudo python wifibroot.py -m 4 -i wlan0mon --ap 88:5d:fb:XXXXXX --client 4C:BB:58:XXXXXX -0 1
Notáis que he usado un solo paquete de DoS y fue suficiente.
Les aconsejo usar muy pocos paquetes: El ataque combinado es bastante agresivo y no deja re-asociar mientras dura.
El ataque ha sido letal con la AWUS036ACH contra mi labtop conectado a mi router.
Habrá que probarlo en otros escenarios porque parece ser una opción muy interesante para ataques DoS.
Desconectado
Buenas, me he puesto de nuevo con esto a ver si llego a algún lado pero al poner la secuencia
sudo python wifibroot.py -m2 -i wlan0mon -d /dicts/list.txt
me dice
no such file: /dicts/list.txt
cuando en realidad si está el archivo en esa ruta. He probado a cambiarle el nombre de list a "l" y nada. Estoy atascado ahí.
Desconectado
¿Seguro? un directorio dicts justo después la raíz no es una practica normal o recomendada.
Supongo que tu diccionario está más bien en /home/nombre_user/dicts.
Para verificar si existe dicho directorio haces
ls /dicts
PD: Usa por favor la opción texto formateado para entrar tus ordenes y salidas de consola.
Desconectado
Pues hago eso y me sale lo mismo que tú, dice que no existe T_T. Pero al abrir el administrador de archivos, entro a la carpeta wifibroot y si está ahi.
home/wifibroot/dicts/list.txt
Me sigue dando el mismo error. Cargo el SO desde un pendrive, por si tiene algo que ver.
EDIT: Listo, la ruta correcta era
root/wifibroot/dicts/list.txt
Ultima edición por uchihaader (26-03-2019 20:20:34)
Desconectado
Casi... La ruta es:
/root/wifibroot/dicts/list.txt
Te falta el primer / que es la raíz.
Te ha funcionado porque tu consola estaba situada en la raíz. Pero no lo encontrará si lo escribes así en cualquier otro directorio.
Una ruta exacta siempre empieza con el símbolo /
PD: Para el crack es mejor usar aircrack-ng ya que es ahora compatible con los ficheros hash (y es muchísimo más rápido)
Desconectado
Sigue necesitando de diccionario por lo que veo D;
Desconectado
Tema | Respuestas | Vistas | Ultimo mensaje |
---|---|---|---|
Error de inicio en entorno gráfico por Hunter310#
|
24 | 14984 | 20-06-2022 12:22:19 por kcdtv |
15 | 2712 | 10-06-2022 09:13:42 por kcdtv | |
0 | 209 | 02-06-2022 10:05:09 por kcdtv | |
TP-Link Backup Decryption Utility por kcdtv
|
0 | 200 | 31-05-2022 18:44:34 por kcdtv |
¡Aircrack-ng 1.7 ya está disponible! por kcdtv
|
1 | 513 | 13-05-2022 08:46:52 por Koala |
Ultimo usuario registrado: Asakuras
Usuarios registrados conectados: 0
Invitados conectados: 16
Número total de usuarios registrados: 2,317
Número total de temas: 1,587
Número total de mensajes: 15,137
Atom tema feed - Impulsado por FluxBB