
Sistema distribuido de craqueo de contraseñas por fuerza bruta que paraleliza ataques basados en diccionario y crunch a través de múltiples máquinas mediante clientes web y de escritorio.
Advertencia
He estado revisando el código de Kraken-Client y, como fue mi primera aplicación React, es antiguo, torpe y necesita una gran mejora (el servidor también necesita algo de trabajo). En las próximas semanas/meses haré todo lo posible por reescribirlo en React actualizado o en otro framework. Por favor, siéntete libre de seguir usándolo tal cual, si tienes algún problema, continúa abriendo issues y proporcionando comentarios. ¡Gracias!
Kraken es una herramienta de descifrado de contraseñas por fuerza bruta distribuida en línea. Te permite paralelizar diccionarios y descifrados basados en el generador de palabras crunch a través de múltiples máquinas, tanto como una aplicación web en un navegador como un cliente independiente basado en Electron. Kraken tiene como objetivo ser fácil de usar, tolerante a fallos y escalable.
Escribí Kraken porque quería aprender más sobre seguridad ofensiva y escribir una solución fácil para superar la limitación de usar un solo dispositivo al intentar distribuir cargas de trabajo de fuerza bruta.
Kraken es una aplicación dockerizada que usa docker-compose y que lanzará la base de datos (Postgres), el almacenamiento de archivos compatible con S3 (Minio), el servidor y el cliente del navegador. Puedes encontrar el archivo docker-compose en el directorio raíz del repositorio. Puedes desplegarlo usando el siguiente comando:
docker-compose up
El Cliente del Navegador de Kraken debería ser accesible en:
Nota: Para ejecutar el Cliente del Navegador desde una máquina remota, DEBES usar HTTPS tanto para la url del servidor como para la url del navegador. Ej. Si estás alojando el servidor en 192.168.1.2, entonces el cliente del navegador estará disponible en https://192.168.1.2:8443 y la url del servidor debería ser https://192.168.1.2:8443/api
Para subir listas de contraseñas o diccionarios, súbelos a la Consola de Minio en <a href=http://localhost:9001>localhost:9001. Revisa los pasos a continuación para una guía detallada. De lo contrario, puedes generar listas de palabras dinámicamente usando crunch. Consulta las opciones de crunch y cómo usarlas aquí: página man de crunch
El servidor de Kraken se ejecuta en <a href=http://localhost:5000>localhost:5000 y también aloja documentación swagger en <a href=http://localhost:5000/swagger>localhost:5000/swagger.
El cliente de escritorio es una aplicación portable basada en Electron y se puede ejecutar en Mac, Windows y Linux. Debido a los permisos sensibles necesarios para funcionar, se recomienda encarecidamente que lo compiles tú mismo clonando el repositorio y usando:
cd kraken-client
npm install
npm run electron-start
Nota: El cliente portable EXE de Windows debe ejecutarse en la carpeta con sus dependencias de hashcat. Los archivos de hashcat se pueden descargar desde su página principal o aquí. He incluido un archivo zip comprimido con el ejecutable portable y los archivos hashcat requeridos. Se pueden descargar:
Los lanzamientos incluyen un AppImage para Linux que solo requiere que hashcat esté instalado.
Instalar hashcat:
sudo apt-get install hashcat
Tendrás que darle permiso al AppImage a través de las propiedades para ejecutarlo.
Para agregar tus listas de palabras a minio, aquí están los pasos:





Esta guía está en curso, pero siéntete libre de abrir un issue o contactarme para cualquier ayuda necesaria.