Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
krackattacks-scripts — Scripts para verificar clientes WPA2 y puntos de acceso (AP) ante vulnerabilidades de reinstalación de claves KRACK mediante hostapd modificado y reinyección de tramas en modo monitor. | Kitploit
Herramientas/GitHubGitHub/vanhoefm/krackattacks-scripts
Auditoría Wi-FiAnálisis de VulnerabilidadesSeguridad InalámbricaPruebas de PenetraciónTop en Auditoría Wi-Fi #10Top en Seguridad Inalámbrica #10

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHub
vanhoefm/krackattacks-scripts

krackattacks-scripts

Scripts para verificar clientes WPA2 y puntos de acceso (AP) ante vulnerabilidades de reinstalación de claves KRACK mediante hostapd modificado y reinyección de tramas en modo monitor.

Ver Repositorio
3.5k76666hace 1 añoRevisado por Kitploit

Este proyecto contiene scripts para comprobar si los clientes o puntos de acceso (AP) están afectados por el ataque KRACK contra WPA2. Para más detalles sobre este ataque, consulte nuestro sitio web y el artículo de investigación.

Recuerde que nuestros scripts no son scripts de ataque. Necesitará las credenciales de red adecuadas para comprobar si un punto de acceso o cliente está afectado por el ataque KRACK.

Diciembre de 2024: se ha corregido un error en la séptima prueba ./krack-test-client.py --gtkinit. Antes de esta corrección, se mencionaba que (la salida de) esta prueba no era fiable, pero ahora la salida debería ser fiable si se siguen las nuevas instrucciones. Es decir, cuando esta prueba indica ahora que el dispositivo es vulnerable, es muy probable que realmente lo sea.

Enero de 2021: los scripts se han hecho compatibles con Python3 y se han actualizado para dar mejor soporte a las distribuciones Linux más recientes. Si desea volver a la versión anterior, ejecute git fetch --tags && git checkout v1 después de clonar el repositorio (y vuelva a la última versión con git checkout research).

Requisitos previos

Nuestros scripts se probaron en Kali Linux. Para instalar las dependencias necesarias en Kali, ejecute:

sudo apt update
sudo apt install libnl-3-dev libnl-genl-3-dev pkg-config libssl-dev net-tools git sysfsutils python3-venv iw

Ahora compile nuestra instancia modificada de hostapd y cree un entorno virtual de Python. Esto asegura que está utilizando bibliotecas de Python compatibles (las que se enumeran en krackattack/requirements.txt):

git clone https://github.com/vanhoefm/krackattacks-scripts.git
cd krackattacks-scripts/krackattack
./build.sh
./pysetup.sh

A continuación, desactive el cifrado por hardware para obtener resultados óptimos:

cd krackattack
sudo ./disable-hwcrypto.sh

Tenga en cuenta que, si es necesario, puede volver a activar el cifrado por hardware más tarde con el script sudo ./reenable-hwcrypto.sh. Se recomienda reiniciar después de desactivar el cifrado por hardware. Probamos nuestros scripts con una Intel Dual Band Wireless-AC 7260 y una TP-Link TL-WN722N v1 en Kali Linux.

Antes de cada uso

Cada vez que vaya a usar los scripts debe desactivar la Wi-Fi en su administrador de red. Luego ejecute:

sudo rfkill unblock wifi
cd krackattack
sudo su
source venv/bin/activate

Después de hacer esto, puede ejecutar los scripts varias veces siempre que no cierre la terminal.

Si desea revertir los efectos de disable-hwcrypto.sh, elimine el archivo /etc/modprobe.d/nohwcrypt.conf.

Prueba de clientes

Primero modifique hostapd/hostapd.conf y edite la línea interface= para especificar la interfaz Wi-Fi que se usará para ejecutar las pruebas. Tenga en cuenta que, en todas las pruebas, una vez que el script esté en ejecución, debe dejar que el dispositivo bajo prueba se conecte al SSID testnetwork con la contraseña abcdefgh. Puede cambiar la configuración del AP modificando hostapd/hostapd.conf. En todas las pruebas, el cliente debe usar DHCP para obtener una IP después de conectarse a la red Wi-Fi. Esto se debe a que algunas pruebas solo comienzan después de que el cliente haya solicitado una IP mediante DHCP.

Ahora debe ejecutar las siguientes pruebas ubicadas en el directorio krackattacks/:

  1. ./krack-test-client.py --replay-broadcast. Esta prueba comprueba si el cliente acepta tramas de difusión repetidas. Si el cliente acepta tramas de difusión repetidas, esto debe ser corregido primero. Si no corrige el cliente, nuestro script no podrá determinar si la clave de grupo se está reinstalando (porque entonces el script siempre dirá que la clave de grupo se está reinstalando).

  2. ./krack-test-client.py --group --gtkinit. Esta prueba comprueba si el cliente instala la clave de grupo en el handshake de clave de grupo con el contador de secuencia de recepción (RSC) dado. Consulte la sección 6.4 de nuestro artículo de investigación complementario para conocer los detalles de esta vulnerabilidad.

  3. ./krack-test-client.py --group. Esta prueba comprueba si el cliente reinstala la clave de grupo en el handshake de clave de grupo. En otras palabras, comprueba si el cliente es vulnerable a CVE-2017-13080. El script comprueba las reinstalaciones de la clave de grupo enviando solicitudes ARP de difusión al cliente con un número de paquete ya utilizado (repetido) (aquí número de paquete = nonce = IV). Tenga en cuenta que si el cliente siempre acepta tramas de difusión repetidas (ver --replay-broadcast), esta prueba podría concluir incorrectamente que la clave de grupo se está reinstalando.

  4. ./krack-test-client.py. Esta prueba comprueba las reinstalaciones de claves en el handshake de 4 vías enviando repetidamente mensajes 3 cifrados al cliente. En otras palabras, comprueba CVE-2017-13077 (la vulnerabilidad de mayor impacto) y CVE-2017-13078. El script supervisa el tráfico enviado por el cliente para ver si la clave pairwise se está reinstalando. Tenga en cuenta que esto efectivamente realiza dos pruebas: si la clave pairwise se reinstala y si la clave de grupo se reinstala. Asegúrese de que el cliente solicite una IP mediante DHCP para que comience la prueba de reinstalación de la clave de grupo. Para asegurarse de que el cliente envíe suficientes tramas unicast, puede hacer ping al AP opcionalmente: ping 192.168.100.254.

  5. ./krack-test-client.py --tptk. Idéntica a la prueba 4, excepto que se inyecta un mensaje 1 falsificado antes de enviar el mensaje 3 cifrado. Esta variante de la prueba es importante porque algunos clientes (p. ej., wpa_supplicant v2.6) solo son vulnerables a la reinstalación de la clave pairwise en el handshake de 4 vías cuando se inyecta un mensaje 1 falsificado antes de enviar un mensaje 3 retransmitido.

  6. ./krack-test-client.py --tptk-rand. Igual que la prueba anterior, excepto que el mensaje 1 falsificado contiene un ANonce aleatorio.

  7. ./krack-test-client.py --gtkinit. Esta prueba comprueba si el cliente instala la clave de grupo en el handshake de 4 vías con el contador de secuencia de recepción (RSC) dado. Esto se hace retransmitiendo Msg3/4 del handshake de 4 vías, cada vez con una nueva clave de grupo y un contador de repetición muy alto. Sabemos que es vulnerable si el cliente bajo prueba acepta después tramas de difusión con un contador de repetición más bajo. Desafortunadamente, algunos clientes no aceptan en absoluto Msg3/4 retransmitidos, lo que significa que dichos clientes no pueden probarse con este comando. Los clientes que sí aceptan un Msg3/4 retransmitido y, por lo tanto, pueden probarse con este comando, responderán con un Msg4/4 que se puede detectar según la siguiente salida:

    [09:24:11] 02:20:2a:22:a8:30: received a new message 4
    

También recomendamos ejecutar esta prueba en entornos con poco ruido de fondo y ejecutarla varias veces.

Algunas observaciones adicionales:

  • La prueba más importante es ./krack-test-client, que comprueba las reinstalaciones de claves ordinarias en el handshake de 4 vías.

  • Realice estas pruebas en una sala con poca interferencia. Una gran cantidad de pérdida de paquetes hará que este script sea menos fiable.

  • Opcionalmente, puede inspeccionar manualmente el tráfico de red para confirmar la salida del script (algunas tarjetas de red Wi-Fi pueden interferir con nuestros scripts):

    • Use una tarjeta de red Wi-Fi adicional en modo monitor para confirmar que nuestro script (el AP) envía tramas con los números de paquete (IV) adecuados. En particular, compruebe si las tramas de difusión repetidas se envían de hecho con un número de paquete (IV) ya utilizado.
Descargar herramienta