Concepto clave
La prueba de fuerza bruta es una técnica de ataque que intenta adivinar credenciales de acceso (como contraseñas o nombres de usuario) probando todas las combinaciones posibles de manera sistemática. Imagina que tienes una maleta con candado de combinación de 3 dígitos (000 a 999). En lugar de intentar recordar la combinación, pruebas cada número secuencialmente hasta que se abre. En ciberseguridad, esto se aplica a servicios como SSH, FTP, o páginas web de login, donde un atacante automatiza intentos de acceso con diccionarios de contraseñas comunes.
Este método explota la debilidad humana de usar contraseñas predecibles. Según estudios, más del 30% de las contraseñas en internet son variaciones de "123456" o "password". En un contexto de pentesting, usamos fuerza bruta para identificar sistemas vulnerables y recomendar mejores prácticas de autenticación, como implementar bloqueos tras múltiples intentos fallidos o usar autenticación de dos factores.
Cómo funciona en la práctica
En Kali Linux, herramientas como Hydra o Medusa automatizan estos ataques. Por ejemplo, para probar un servicio SSH en un servidor objetivo, seguimos estos pasos:
- Identificar el servicio: Usamos
nmappara escanear puertos y confirmar que SSH (puerto 22) está activo. - Preparar diccionarios: Creamos o descargamos listas de usuarios (ej., admin, root) y contraseñas comunes.
- Ejecutar el ataque: Con Hydra, el comando sería:
Esto prueba cada combinación de usuario y contraseña contra el servidor.hydra -L usuarios.txt -P contraseñas.txt ssh://192.168.1.100 - Analizar resultados: Si Hydra encuentra credenciales válidas, las reporta, indicando una vulnerabilidad.
Un ejemplo concreto: Supongamos que atacamos un servidor FTP. Usamos un diccionario con 1000 contraseñas comunes. Hydra prueba unas 10 por segundo, tomando menos de 2 minutos para cubrirlas. Si el servidor no limita intentos, podría comprometerse rápidamente.
Caso de estudio
En 2023, una empresa de retail sufrió una brecha de seguridad porque su panel de administración web usaba contraseñas débiles. Como analista de seguridad, simulamos este escenario:
- Objetivo: Servidor web con login en
https://admin.empresa.com. - Herramienta: Hydra configurada para ataque HTTP POST.
- Diccionarios: Usamos
rockyou.txt(lista común de contraseñas) y un archivo con usuarios como "admin", "administrator". - Resultado: En 15 minutos, Hydra encontró que la contraseña "admin123" permitía acceso. Esto reveló que el sistema no tenía rate limiting (límite de intentos).
En el informe, recomendamos: implementar CAPTCHA, bloquear IPs tras 5 intentos fallidos, y exigir contraseñas complejas.
Dato clave: Según OWASP, ataques de fuerza bruta están entre las top 10 vulnerabilidades web, causando el 5% de incidentes reportados.
Errores comunes
Al realizar pruebas de fuerza bruta, los principiantes suelen cometer estos errores:
- No obtener autorización: Realizar pruebas sin permiso explícito es ilegal. Siempre usa entornos controlados como laboratorios o máquinas virtuales propias.
- Usar diccionarios genéricos sin contexto: Listas como
rockyou.txtson útiles, pero adaptarlas al objetivo (ej., incluir nombres de la empresa) aumenta la efectividad. - Ignorar logs y alertas: Los sistemas pueden detectar ataques de fuerza bruta. Monitorea respuestas del servidor para evitar bloqueos durante pruebas.
- Olvidar alternativas: Si fuerza bruta falla, prueba técnicas como credential stuffing (usar credenciales filtradas de otras brechas).
- No documentar el proceso: Registra cada paso, incluyendo comandos y resultados, para el informe final.
Checklist de dominio
Al finalizar esta lección, debes poder:
- Explicar qué es una prueba de fuerza bruta y su impacto en seguridad.
- Identificar servicios vulnerables (SSH, FTP, HTTP) usando escaneos básicos.
- Configurar y ejecutar Hydra para un ataque simple con diccionarios.
- Interpretar resultados de Hydra para determinar credenciales válidas.
- Reconocer contramedidas como rate limiting o CAPTCHA.
- Usar máquinas virtuales o entornos aislados para prácticas éticas.
- Documentar hallazgos en un formato básico para informes.
Práctica: Ataque de Fuerza Bruta a Servicio SSH en Entorno Controlado
En este ejercicio, realizarás una prueba de fuerza bruta contra un servicio SSH en una máquina virtual (VM) que has configurado, aplicando los conceptos aprendidos. Sigue estos pasos:
- Preparar el entorno:
- Configura dos VMs en VirtualBox o VMware: una con Kali Linux (atacante) y otra con una distribución Linux como Ubuntu (objetivo).
- En la VM objetivo, instala y habilita el servicio SSH:
sudo apt install openssh-server sudo systemctl start ssh - Asegúrate de que ambas VMs estén en la misma red (ej., red NAT) y anota la IP de la objetivo usando
ip addr.
- Crear diccionarios:
- En Kali, crea un archivo
usuarios.txtcon estos usuarios: root, admin, user, ubuntu. - Crea un archivo
contraseñas.txtcon estas contraseñas: 123456, password, admin123, ubuntu, test.
- En Kali, crea un archivo
- Ejecutar el ataque:
- Usa Hydra para probar el servicio SSH. Ejecuta:
Reemplaza [IP_OBJETIVO] con la IP de tu VM objetivo. El parámetrohydra -L usuarios.txt -P contraseñas.txt ssh://[IP_OBJETIVO] -t 4-t 4limita a 4 tareas paralelas para no sobrecargar. - Observa los resultados: Si alguna combinación es exitosa, Hydra lo mostrará.
- Usa Hydra para probar el servicio SSH. Ejecuta:
- Documentar resultados:
- Anota los comandos usados y cualquier credencial encontrada.
- Reflexiona: ¿Qué pasaría si el servicio tuviera rate limiting? Prueba a agregar un retardo con
-w 10en Hydra.
- Si Hydra no encuentra credenciales, verifica que el servicio SSH esté activo en la VM objetivo con 'sudo systemctl status ssh'.
- Para ver más opciones de Hydra, consulta el manual con 'man hydra' o 'hydra -h'.
- Si la VM objetivo bloquea intentos, prueba con menos tareas (ej., '-t 2') o aumenta el retardo entre intentos.
Evalua tu comprension
Completa el quiz interactivo de arriba para ganar XP.