Pyrit es un programa de software libre diseñado para crear bases de datos masivas de fases de autenticación precomputadas WPA/WPA2-PSK, utilizando el poder computacional de CPUs multi-núcleo y otras plataformas como ATI-Stream, Nvidia CUDA y OpenCL. Pyrit es considerado una herramienta poderosa para realizar ataques de fuerza bruta contra uno de los protocolos de seguridad más utilizados en el mundo: WPA/WPA2-PSK.
¿Qué es WPA/WPA2-PSK?
WPA/WPA2-PSK es una variante de los protocolos de seguridad WPA/WPA2 que utiliza una clave precompartida en lugar de claves únicas por usuario. Esta clave maestra se deriva de una contraseña que debe ser preconfigurada por el usuario administrador tanto en su dispositivo (por ejemplo, una laptop) como en el punto de acceso (Access Point). Cuando se establece una conexión, se deriva una nueva clave de sesión a partir de la clave maestra para encriptar y autenticar el tráfico de datos.
¿Cómo funciona Pyrit?
- Creación de bases de datos precomputadas: Pyrit permite precomputar las fases de autenticación WPA/WPA2-PSK, lo que facilita los ataques de fuerza bruta.
- Utilización de poder computacional: El programa utiliza la potencia de cálculo de CPUs multi-núcleo y otras plataformas (ATI-Stream, Nvidia CUDA, OpenCL) para acelerar el proceso de computación.
- Distribución de tareas: Pyrit puede distribuir las tareas de computación en múltiples nodos computacionales, accediendo a un servidor de almacenamiento único mediante varias formas.
Funcionamiento paso a paso
- Instalación: Pyrit se puede compilar y ejecutar en Linux, MacOS X y BSD. No es compatible con Windows sin modificaciones adicionales.
- Configuración: Se configuran las opciones de uso de CUDA y OpenCL en el archivo de configuración.
- Precomputación de claves: Pyrit computa las claves maestras emparejadas (PMKs) lo más rápido posible. Cada PMK equivale a procesar un megabyte de datos mediante el algoritmo PBKDF2-HMAC-SHA1.
- Distribución de la carga: Se pueden utilizar múltiples nodos computacionales que acceden a un servidor de almacenamiento (por ejemplo, un servidor MySQL) para almacenar y recuperar las claves precomputadas.
- Ataque de fuerza bruta: Al tener las claves precomputadas, se puede realizar un ataque de fuerza bruta de manera más eficiente para descifrar la contraseña que protege la red WPA/WPA2-PSK.
Ejemplos de uso
- Un solo servidor de almacenamiento: Un servidor MySQL que almacena las claves precomputadas.
- Red local: Nodos computacionales en una red local que acceden directamente al servidor de almacenamiento.
- Red no confiable: Nodos computacionales en una red externa que acceden al servidor de almacenamiento a través de la interfaz RPC de Pyrit.
Participación y contribución
Puedes contribuir al proyecto reportando errores o aportando código a través de la página de Issues en GitHub. También hay una guía en el wiki del proyecto para instalar Pyrit en diferentes sistemas y una referencia para el uso del cliente de línea de comandos.
Pyrit es una herramienta de código abierto, licenciada bajo la GNU General Public License v3+, que permite a cualquier persona inspeccionar, copiar, modificar y compartir el software.
JPaulMora/Pyrit: The famous WPA precomputed cracker, Migrated from Google. (github.com)
Proteger tu red WiFi contra ataques de fuerza bruta y mantenerla segura implica una serie de pasos y buenas prácticas. Aquí te explico cómo puedes hacerlo:
1. Usa una Contraseña Fuerte
- Longitud y Complejidad: Asegúrate de que tu contraseña tenga al menos 12 caracteres e incluya una combinación de letras mayúsculas, minúsculas, números y símbolos.
- No Usar Información Personal: Evita usar información personal como nombres, fechas de nacimiento o palabras comunes.
2. Actualiza el Firmware de tu Router
- Firmware: Mantén el firmware de tu router actualizado. Los fabricantes de routers lanzan actualizaciones de firmware para corregir vulnerabilidades de seguridad conocidas.
3. Configura WPA3 si es Posible
- WPA3: Si tu router y dispositivos lo soportan, utiliza WPA3 en lugar de WPA2. WPA3 ofrece una seguridad mejorada y es más resistente a los ataques de fuerza bruta.
4. Deshabilita WPS (Wi-Fi Protected Setup)
- WPS: Desactiva la función WPS en tu router. Aunque WPS puede facilitar la configuración de la red, es vulnerable a ataques y puede comprometer la seguridad de tu red.
5. Usa una Red de Invitados
- Red de Invitados: Configura una red separada para invitados. Esto asegura que los dispositivos de tus invitados no tengan acceso a tu red principal.
6. Oculta el SSID de tu Red
- SSID Oculto: Ocultar el nombre de tu red (SSID) puede dificultar que los atacantes la encuentren. Sin embargo, esta no es una medida de seguridad fuerte por sí sola, ya que los atacantes avanzados pueden detectar redes ocultas.
7. Filtrado de Direcciones MAC
- Filtrado MAC: Implementa el filtrado de direcciones MAC para permitir solo dispositivos específicos en tu red. Aunque esta medida no es infalible, puede agregar una capa adicional de seguridad.
8. Monitorea tu Red Regularmente
- Monitoreo: Revisa regularmente los dispositivos conectados a tu red y asegúrate de que no haya dispositivos desconocidos. Muchos routers ofrecen una interfaz web o una aplicación para gestionar y monitorear dispositivos.
9. Desactiva la Administración Remota
- Administración Remota: Desactiva la administración remota de tu router a menos que sea absolutamente necesario. Esto reduce la posibilidad de que un atacante acceda a la configuración de tu router desde fuera de tu red.
10. Usa una VPN
- VPN: Considera usar una VPN (Red Privada Virtual) para agregar una capa adicional de cifrado y seguridad a tu conexión a internet.
Implementar estas prácticas puede ayudarte a proteger tu red WiFi contra ataques de fuerza bruta y otras amenazas, manteniendo tu conexión segura y tus datos privados.