BruteLoops
Una biblioteca extremadamente simple que proporciona la lógica fundamental para
ataques eficientes de fuerza bruta de contraseñas contra interfaces de autenticación.
Documentación
La documentación se puede encontrar aquí.
Si buscas los antiguos módulos de ejemplo...
Mira BFG.
Los ejemplos se han trasladado a un proyecto distinto para
minimizar problemas de código y empaquetado. Las capacidades de base de datos y ataque
también se han fusionado en un solo binario.
Características clave
- Independiente del protocolo - Si se puede escribir una función callback en Python,
BruteLoops se puede usar para atacarlo
- Soporte SQLite - Todos los nombres de usuario, contraseñas y credenciales
se mantienen en una base de datos SQLite.
- Una utilidad complementaria (
dbmanager.py) que crea y gestiona
bases de datos de entrada acompaña a BruteLoops
- Ataques de Spray y Stuffing en una sola herramienta - BruteLoops soporta tanto
ataques de spray y stuffing en la misma lógica de ataque y base de datos, lo que significa
que puedes configurar una sola base de datos y ejecutar el ataque sin
reconfiguraciones pesadas ni confusión.
- Programación de intentos - Cada nombre de usuario en la base de datos SQLite se configura
con una marca de tiempo que se actualiza después de cada evento de autenticación. Esto
significa que podemos reducir significativamente la probabilidad de bloquear cuentas al
programar cada evento de autenticación con precisión.
- Configuración detallada para evitar bloqueos - Las políticas de bloqueo de Microsoft
se pueden igualar 1:1 usando los parámetros de BruteLoop:
auth_threshold = Umbral de bloqueo
max_auth_jitter = Ventana de observación de bloqueo
- Las marcas de tiempo asociadas con cada evento de autenticación se rastrean
en la base de datos SQLite de BruteLoops. Cada nombre de usuario recibe una
marca de tiempo distinta para asegurar que los eventos de autenticación están altamente controlados.
- Reanudación de ataques - Es posible detener y reanudar un ataque
sin preocuparse por perder el progreso en el ataque o bloquear cuentas.
- Multiprocesamiento - ¡Acelera los ataques usando multiprocesamiento! Al configurar
el número de intentos paralelos, le estás diciendo a BruteLoops cuántos
nombres de usuario adivinar en paralelo.
- Registro - Cada evento de autenticación se puede registrar opcionalmente en disco.
Esta información puede ser útil durante equipos rojos al proporcionar a los clientes
una línea de tiempo detallada del ataque que se puede mapear a los eventos registrados.
- Interruptores - Los interruptores se comportan como disyuntores. Se puede generar una excepción
x veces antes de finalizar el bucle de ataque. Pueden
reiniciarse después de un período de tiempo determinado, permitiendo configuraciones
como "Salir después de que ocurran 6 ConnectionErrors".
Dependencias
BruteLoops requiere Python 3.7 o superior y
SQLAlchemy 1.3.0, la cual
se puede obtener mediante pip y el archivo requirements.txt en
este repositorio: python3.7 -m pip install -r requirements.txt
Instalación
git clone https://github.com/arch4ngel/bruteloops
cd bruteloops
python3 -m pip install -r requirements.txt