Ataque de Fuerza Bruta
Método de ciberataque que consiste en probar sistemáticamente todas las combinaciones posibles de contraseñas o claves criptográficas hasta encontrar la correcta, incluyendo variantes como ataques de diccionario, credential stuffing y rainbow tables.
¿Qué es un ataque de fuerza bruta?
Un ataque de fuerza bruta (brute force attack) es un método de ciberataque que consiste en probar de forma sistemática y exhaustiva todas las combinaciones posibles de contraseñas, claves criptográficas o credenciales hasta dar con la correcta. Es uno de los vectores de ataque más antiguos y, según el DBIR 2024 de Verizon, el uso de credenciales robadas fue la principal acción inicial observada, presente en el 24 % de las brechas que analiza (una cifra sobre el corpus del informe, no sobre todas las brechas del mundo).
Amenaza vigente en 2026
A pesar de ser una técnica conceptualmente simple, los ataques de fuerza bruta siguen siendo altamente efectivos. La disponibilidad de hardware especializado (GPUs, FPGAs) y bases de datos con miles de millones de credenciales filtradas convierten esta técnica en una amenaza real y constante para organizaciones y usuarios.
A diferencia de otros ataques que explotan vulnerabilidades de software, la fuerza bruta explota la debilidad humana: contraseñas cortas, predecibles o reutilizadas entre servicios. La fortaleza del ataque reside en su naturaleza matemáticamente inevitable: dado tiempo suficiente, cualquier contraseña puede ser descubierta. Lo que varía es si ese tiempo es de milisegundos o de miles de años.
Tipos de ataques de fuerza bruta
No todos los ataques de fuerza bruta funcionan igual. Cada variante optimiza la estrategia de pruebas para maximizar la probabilidad de éxito en el menor tiempo posible.
Fuerza bruta pura (exhaustiva)
| Característica | Detalle |
|---|---|
| Método | Prueba todas las combinaciones posibles de caracteres |
| Espacio de búsqueda | Completo (a-z, A-Z, 0-9, símbolos) |
| Velocidad | Depende de la longitud y el charset |
| Eficacia | Exhaustiva por definición: agota el espacio de claves, de modo que con tiempo suficiente siempre lo encuentra. El problema del atacante nunca es si funcionará, sino cuánto tarda |
| Uso típico | Contraseñas cortas, PINs numéricos |
Para una contraseña de solo 4 dígitos numéricos (como un PIN), existen 10.000 combinaciones posibles. Un atacante puede probarlas todas en segundos. Con 8 caracteres alfanuméricos (mayúsculas, minúsculas, números), el espacio es de 62⁸ combinaciones: más de 218 billones (218.340.105.584.896).
Ataque de diccionario
| Característica | Detalle |
|---|---|
| Método | Prueba palabras de listas predefinidas (diccionarios) |
| Espacio de búsqueda | Reducido a palabras comunes y variantes |
| Velocidad | Mucho más rápido que fuerza bruta pura |
| Eficacia | Alta para contraseñas basadas en palabras reales |
| Diccionarios populares | RockYou, SecLists, CrackStation, Have I Been Pwned |
Los diccionarios no solo contienen palabras del idioma. Incluyen contraseñas reales filtradas en brechas anteriores, variaciones comunes (P@ssw0rd, Verano2025!), y combinaciones frecuentes. El diccionario RockYou, por ejemplo, recopila millones de contraseñas reales procedentes de una brecha y se sigue usando como lista de referencia en pruebas de robustez.
Credential stuffing
| Característica | Detalle |
|---|---|
| Método | Usa pares usuario/contraseña de filtraciones previas |
| Fuente de datos | Bases de datos de brechas (combolist) |
| Velocidad | Muy alta, pruebas directas |
| Eficacia | Baja por intento, pero demoledora en agregado por el volumen automatizado |
| Defensa principal | Contraseñas únicas por servicio + MFA |
Reutilización de contraseñas
La encuesta de Google y Harris Poll (3.000 adultos en Estados Unidos, diciembre de 2018) midió que un 52 % repite contraseña en varias cuentas y un 13 % la repite en todas; el 65 % que se cita habitualmente es la suma de los dos grupos. Ese 13 % es el que convierte una sola filtración en un riesgo en cascada sobre todos los servicios donde la víctima tenga cuenta.
El credential stuffing es especialmente peligroso porque no genera el volumen de intentos fallidos de un ataque tradicional. Si el atacante tiene una lista de credenciales válidas de otro servicio, puede acertar en el primer intento.
Rainbow tables
| Característica | Detalle |
|---|---|
| Método | Tablas precomputadas de hashes y sus contraseñas originales |
| Objetivo | Invertir funciones hash (MD5, SHA-1, NTLM) |
| Velocidad | Búsqueda casi instantánea |
| Limitación | No funciona contra hashes con salt |
| Tamaño típico | Cientos de GB a varios TB |
Las rainbow tables representan un intercambio de tiempo por espacio: en lugar de calcular hashes en tiempo real, el atacante los precalcula y almacena. Al encontrar un hash en la tabla, obtiene la contraseña original de forma casi inmediata. Sin embargo, la técnica de salting (añadir un valor aleatorio único antes de hashear) impide reutilizar una tabla precalculada común —aunque no evita que el atacante pruebe candidatos individualmente contra cada hash—.
Password spraying
| Característica | Detalle |
|---|---|
| Método | Prueba una misma contraseña común contra muchas cuentas |
| Estrategia | Evita bloqueos por cuenta (pocos intentos por usuario) |
| Contraseñas típicas | Empresa2026!, Verano2025, Welcome1 |
| Detección | Más difícil que fuerza bruta tradicional |
| Objetivo | Entornos corporativos (Active Directory, Office 365) |
Tiempos de descifrado según complejidad
La siguiente tabla estima el tiempo de recorrer TODO el espacio de claves (peor caso) mediante fuerza bruta pura offline contra hashes MD5 sin salt, a partir del benchmark abierto de Hashcat v6.2.6 en una RTX 4090 (164,1 GH/s). Son cifras teóricas de ese hash y esa medición: no se pueden extrapolar a bcrypt/Argon2id, a otras GPU ni a un login online con rate limiting.
| Longitud | Solo números (10) | Minúsculas (26) | Alfanumérico (62) | + símbolos (95) |
|---|---|---|---|---|
| 4 caracteres | <1 s | <1 s | <1 s | <1 s |
| 6 caracteres | <1 s | <1 s | 0,35 s | 4,5 s |
| 8 caracteres | <1 s | 1,3 s | 22 min | 11,2 h |
| 10 caracteres | <1 s | 14 min | 59 días | 11,6 años |
| 12 caracteres | 6 s | 6,7 días | 623 años | 104.345 años |
| 14 caracteres | 10 min | 12,5 años | 2,4 M años | 942 M años |
Algoritmo importa
Estos tiempos corresponden a MD5, que es extremadamente rápido de calcular y por eso no sirve para almacenar contraseñas. Las funciones específicas para contraseñas (bcrypt, Argon2id) elevan el coste de cada intento según sus parámetros; no existe un multiplicador universal entre algoritmos, y una contraseña corta tampoco pasa a ser universalmente «inviable».
Protecciones contra fuerza bruta: bcrypt, Argon2 y salting
Funciones de hashing lentas
El principal mecanismo de defensa contra fuerza bruta offline es el uso de funciones de hashing deliberadamente lentas:
| Algoritmo | Año | Características | Uso recomendado |
|---|---|---|---|
| MD5 | 1991 | Rápido, vulnerable a colisiones | No usar para contraseñas |
| SHA-256 | 2002 | Rápido, seguro para integridad | Verificación de archivos, no contraseñas |
| bcrypt | 1999 | Factor de coste ajustable, resistente a GPU | Sistemas heredados (si Argon2id/scrypt no están disponibles) |
| scrypt | 2009 | Intensivo en memoria, resistente a ASICs | Contraseñas, criptodivisas |
| Argon2id | 2015 | Ganador PHC, resistente a GPU y ASICs | Recomendado por OWASP para sistemas nuevos |
Salting
El salt es un valor aleatorio único que se añade a cada contraseña antes de hashearla. Esto hace que dos usuarios con la misma contraseña produzcan hashes diferentes e impide reutilizar una tabla precalculada común; no evita, en cambio, que un atacante pruebe candidatos individualmente contra cada hash.
Sin salt: hash("password123") = 482c811da5d5b4bc...
Con salt: hash("a7f3b2" + "password123") = 9e1c8f4d2a7b6e3c...
Con salt: hash("d4e9c1" + "password123") = 3b7a2f8e1d6c9a4b...Cada usuario tiene un salt diferente, lo que obliga al atacante a calcular cada hash individualmente.
Rate limiting y bloqueo de cuentas
| Medida | Implementación | Eficacia |
|---|---|---|
| Bloqueo tras N intentos | Cuenta bloqueada tras N fallos (p. ej. 5-10; calibrar para no facilitar un DoS) | Alta, pero permite DoS |
| Retardo progresivo | Espera creciente entre intentos (1s, 2s, 4s, 8s…) | Alta, sin bloqueo |
| CAPTCHA tras fallos | Verificación humana tras varios intentos | Media-alta |
| Bloqueo por IP | Bloquear IP tras múltiples fallos | Media (eludible con proxies) |
| MFA obligatorio | Segundo factor tras contraseña correcta | Muy alta |
| Geofencing | Restringir acceso por país/región | Media, complementaria |
Detección forense de ataques de fuerza bruta
La detección de un ataque de fuerza bruta se basa fundamentalmente en el análisis de logs de autenticación. Cada intento fallido queda registrado si el sistema tiene la auditoría correctamente configurada.
Eventos clave en Windows
| Event ID | Descripción | Relevancia |
|---|---|---|
| 4625 | Intento de inicio de sesión fallido | Indicador principal de fuerza bruta |
| 4624 | Inicio de sesión exitoso | Confirma si el ataque tuvo éxito |
| 4648 | Logon con credenciales explícitas | Señal contextual; aparece también en tareas programadas o RUNAS, no equivale por sí solo a compromiso |
| 4740 | Cuenta bloqueada | Indica que el umbral de bloqueo se activó |
| 4776 | Validación de credenciales NTLM | Intentos contra controlador de dominio |
| 4771 | Pre-autenticación Kerberos fallida | Fuerza bruta contra Active Directory |
Indicadores en Linux
| Log / Ubicación | Patrón a buscar | Significado |
|---|---|---|
| /var/log/auth.log | Failed password for | Intento SSH fallido |
| /var/log/auth.log | Invalid user | Intento con usuario inexistente |
| /var/log/secure (RHEL) | authentication failure | Fallo de autenticación PAM |
| journalctl -u sshd | Connection closed by... [preauth] | Intento desconectado pre-autenticación |
| /var/log/fail2ban.log | Ban / Unban | Acciones de fail2ban |
Indicadores que deben correlacionarse
Volumen anómalo de fallos: cientos o miles de intentos fallidos en un periodo corto (minutos u horas) contra una o varias cuentas. El umbral de lo «anómalo» debe calibrarse con la línea base de cada entorno, porque NAT, proxies y servicios automatizados generan fallos legítimos.
Progresión de credenciales: Análisis de los nombres de usuario probados. Si se observan variaciones sistemáticas (admin, administrator, root, user1, user2…), indica automatización.
Origen de las conexiones: IP de origen desconocida, especialmente si procede de redes Tor, VPNs comerciales o países inusuales para la organización.
Distribución temporal: los ataques automatizados suelen generar intentos a intervalos regulares, frente a los tiempos irregulares de una persona.
Correlación con éxito: buscar si, tras los intentos fallidos, existe un evento 4624 (éxito) desde el mismo origen. Es compatible con un ataque efectivo, pero debe valorarse en su contexto (mismo usuario, host o periodo sospechoso).
Actividad posterior: Si el ataque tuvo éxito, analizar qué hizo el atacante tras obtener acceso: creación de cuentas, escalada de privilegios, exfiltración de datos.
Ejemplo de análisis de logs
Escenario ilustrativo con datos sintéticos
Este ejemplo no describe un encargo, incidente ni resolución reales. Las fechas, IP, cuentas y cantidades se han creado únicamente para explicar el método; no son valores de referencia ni prueba de prevalencia.
ANÁLISIS DE LOGS (ejemplo)
Objetivo: Determinar si hubo ataque de fuerza bruta al servidor RDP
HALLAZGOS EN SECURITY.EVTX:
[2026-01-15 02:14:01] Event 4625 - Logon Failure
User: administrador | IP: 91.134.xxx.xxx | Reason: Bad password
[2026-01-15 02:14:01] Event 4625 - Logon Failure
User: administrador | IP: 91.134.xxx.xxx | Reason: Bad password
[... 2.345 intentos similares en 47 minutos ...]
[2026-01-15 03:01:33] Event 4625 - Logon Failure
User: administrador | IP: 91.134.xxx.xxx | Reason: Bad password
[2026-01-15 03:01:34] Event 4624 - Logon Success
User: administrador | IP: 91.134.xxx.xxx | Logon Type: 10 (RDP)
[2026-01-15 03:02:15] Event 4672 - Special Privileges Assigned
User: administrador
CONCLUSIÓN (en este escenario): el patrón —2.348 intentos en
47 minutos desde una IP, seguidos de un 4624— sería compatible
con fuerza bruta con éxito en el último intento y acceso RDP
con privilegios de administrador, a valorar con el resto de la prueba.Herramientas de ataque y defensa
Herramientas ofensivas (conocimiento forense)
| Herramienta | Tipo | Protocolos / Objetivos |
|---|---|---|
| Hydra | Online (red) | SSH, FTP, HTTP, RDP, SMB, SMTP |
| Medusa | Online (red) | Similar a Hydra, modular |
| Hashcat | Offline (hashes) | MD5, SHA, bcrypt, NTLM, WPA |
| John the Ripper | Offline (hashes) | Múltiples formatos, reglas avanzadas |
| Burp Suite | Web | Formularios web, APIs |
| CeWL | Generador diccionarios | Crea wordlists desde sitios web |
Contexto forense
Un perito informático debe conocer estas herramientas no para realizar ataques, sino para comprender cómo opera un atacante, verificar la fortaleza de las contraseñas en una investigación y reproducir los pasos del incidente en un entorno controlado.
Herramientas defensivas
| Herramienta | Función | Plataforma |
|---|---|---|
| fail2ban | Bloqueo automático de IPs tras fallos | Linux |
| Account Lockout Policy | Bloqueo de cuentas en Active Directory | Windows |
| CrowdStrike Falcon Identity Protection | Detección de fuerza bruta sobre identidad | Multiplataforma |
| Cloudflare WAF | Rate limiting y bloqueo en capa web | Cloud |
| Duo / Okta | MFA: una contraseña robada deja de bastar por sí sola | Cloud |
Caso práctico: ataque de fuerza bruta a PYME española
Escenario ilustrativo con datos sintéticos
Este caso no describe un encargo, empresa ni incidente reales. Las cifras, cuentas y fechas ilustran el método pericial; no corresponden a un expediente identificable.
Escenario: una empresa con 25 empleados detecta que su servidor de correo (Exchange) ha sido comprometido. Varias cuentas envían spam con adjuntos maliciosos a clientes.
Investigación forense:
Preservación de logs: Se realiza copia forense de los logs de Exchange, IIS, Windows Security y del firewall perimetral, calculando hashes SHA-256 de cada archivo.
Análisis de autenticación: En los logs de Exchange (IIS logs) se detectan 12.400 intentos POST al endpoint
/owa/auth.owadesde 47 direcciones IP diferentes en un periodo de 72 horas.Identificación del patrón: Los intentos prueban un listado de 25 direcciones de correo corporativas (todas las cuentas de la empresa) con contraseñas comunes en español: empresa2025, Verano2025!, Nombre123.
Confirmación de compromiso: Se identifica que 3 cuentas fueron vulneradas: todas utilizaban contraseñas basadas en el nombre de la empresa seguido del año (patrón predecible).
Actividad post-compromiso: Desde las cuentas comprometidas se crearon reglas de reenvío ocultas y se enviaron 4.200 correos de phishing a contactos del CRM durante 5 días.
Informe pericial: Se documenta la cadena de eventos, se identifican las IPs de origen (infraestructura cloud alquilada), y se cuantifica el impacto: 3 cuentas comprometidas, 4.200 emails fraudulentos, daño reputacional a la empresa.
Marco legal en España
Tipificación penal
Según los hechos, un ataque de fuerza bruta puede encajar en varios tipos del Código Penal. La tabla resume las penas de prisión, pero cada figura exige que concurran sus elementos y la mayoría lleva además multa:
| Conducta | Artículo CP | Pena |
|---|---|---|
| Acceso no autorizado a sistemas | Art. 197 bis 1 | Prisión de 6 meses a 2 años |
| Interceptación de datos | Art. 197 bis 2 | Prisión de 3 meses a 2 años |
| Daños informáticos | Art. 264 | Prisión de 6 meses a 3 años |
| Descubrimiento de secretos | Art. 197.1 | Prisión de 1 a 4 años y multa de 12 a 24 meses |
| Estafa informática (si concurren sus elementos) | Art. 248-249 | Prisión de 6 meses a 3 años; multa y agravantes según el caso |
| Facilitación de herramientas | Art. 197 ter | Prisión de 6 meses a 2 años |
Delito autónomo
Desde la reforma del Código Penal por la LO 1/2015, el acceso no autorizado a un sistema informático (art. 197 bis) es delito autónomo en España, con independencia de que se acceda o no a datos personales. Un ataque de fuerza bruta que logra acceder puede constituir este delito cuando concurren todos los elementos del tipo —acceso sin autorización, vulnerando las medidas de seguridad establecidas—; el éxito técnico no basta por sí solo.
Normativa complementaria
- RGPD: el responsable debe notificar la brecha a la AEPD sin dilación indebida y, de ser posible, en un máximo de 72 horas desde que la conoce, salvo que sea improbable que entrañe un riesgo para los derechos y libertades (art. 33 RGPD).
- LSSI-CE: el art. 12 bis obliga a los proveedores de acceso a Internet y de correo (o servicios similares) a informar a sus clientes sobre las medidas de seguridad que aplican; no impone en esos términos un deber general a todo prestador.
- ENS (Esquema Nacional de Seguridad): Entidades del sector público deben implementar controles de autenticación robustos.
- Directiva NIS2: entre las medidas de gestión del riesgo, las entidades esenciales e importantes deben aplicar medidas apropiadas y proporcionadas, incluidas políticas de control de acceso y autenticación multifactorial o continua «cuando proceda».
Encaje penal del acceso no autorizado
El acceso no autorizado a un sistema «vulnerando las medidas de seguridad establecidas» y sin autorización está tipificado en el artículo 197 bis del Código Penal. Cuando se obtienen mensajes o datos personales ha de valorarse además el artículo 197, distinguiendo sus apartados 1 y 2, sin que la concurrencia sea automática. Un ataque de fuerza bruta puede encajar en el art. 197 bis cuando concurren todos los elementos del tipo; el método o el éxito técnico no determinan por sí solos la calificación penal, que depende de los hechos y de la prueba del caso.
Análisis forense paso a paso
Recopilación de logs: Obtener logs de autenticación (Windows Security, auth.log), logs de aplicación (IIS, Apache, nginx), logs de firewall y registros de IDS/IPS. Calcular hash SHA-256 de cada fuente.
Normalización temporal: Verificar la zona horaria de cada fuente de logs. Convertir todos los timestamps a UTC para correlación precisa. Documentar cualquier desviación horaria detectada.
Filtrado de eventos relevantes: Extraer todos los eventos de autenticación fallida (Event ID 4625 en Windows, “Failed password” en Linux). Cuantificar intentos por cuenta, por IP y por ventana temporal.
Análisis de origen: Investigar las IPs de origen mediante WHOIS, geolocalización y consulta en bases de datos de reputación (AbuseIPDB, VirusTotal). Determinar si pertenecen a redes Tor, VPNs o botnets conocidas.
Determinación de éxito: Buscar eventos de autenticación exitosa (Event ID 4624) procedentes de las mismas IPs atacantes. Correlacionar cronológicamente con los intentos fallidos para confirmar si el ataque culminó con acceso.
Análisis post-compromiso: Si hubo éxito, rastrear todas las acciones realizadas con las credenciales comprometidas: comandos ejecutados, archivos accedidos, cuentas creadas, datos exfiltrados.
Elaboración del informe: Documentar la cadena completa del ataque con timestamps, IPs, cuentas afectadas, método empleado, alcance del compromiso y recomendaciones de remediación.
Relación con otros conceptos
- Keylogger: Mientras que la fuerza bruta prueba combinaciones, un keylogger captura directamente la contraseña cuando el usuario la teclea. Ambos métodos persiguen el mismo objetivo (obtener credenciales), pero por vías distintas.
- Hash criptográfico: Los ataques offline de fuerza bruta (hashcat, John the Ripper) trabajan directamente contra hashes robados. El algoritmo de hashing utilizado (MD5 vs bcrypt vs Argon2) determina la viabilidad del ataque.
- Logs de sistema: Son la fuente primaria de evidencia forense para detectar y documentar ataques de fuerza bruta. Sin logs adecuados, un ataque puede pasar completamente desapercibido.
- Anti-forense: Atacantes sofisticados pueden intentar eliminar o modificar los logs que evidencian sus intentos de fuerza bruta, utilizando técnicas anti-forense para borrar sus huellas.
Recomendaciones de prevención
| Medida | Impacto | Complejidad |
|---|---|---|
| Contraseñas largas (NIST: mínimo 15 caracteres) o passkeys | Muy alto | Baja |
| MFA en todos los servicios críticos | Muy alto | Media |
| Gestor de contraseñas corporativo | Alto | Media |
| fail2ban / rate limiting | Alto | Baja |
| Monitorización de logs en tiempo real (SIEM) | Alto | Alta |
| Política de no reutilización de contraseñas | Alto | Baja |
| Deshabilitar protocolos legacy (NTLMv1, telnet) | Medio | Media |
| VPN para acceso remoto (no exponer RDP) | Muy alto | Media |
¿Sabrías qué demostrar si mañana te lo piden?
La diferencia entre un incidente gestionado y uno sancionado suele estar en qué quedó registrado, no en qué se hizo.
Conclusión
Los ataques de fuerza bruta siguen siendo una de las amenazas más prevalentes en ciberseguridad. Su detección forense requiere un análisis metódico de los logs de autenticación, correlación de fuentes y reconstrucción temporal del incidente. Un perito informático debe ser capaz de identificar los patrones de ataque en los registros del sistema, determinar si el ataque tuvo éxito, cuantificar el impacto del compromiso y presentar los hallazgos de forma comprensible ante un tribunal. La implementación de medidas preventivas como MFA, funciones de hashing lentas y monitorización de logs reduce drásticamente el riesgo, pero ningún sistema es inmune mientras dependa de credenciales como único factor de autenticación.
Última actualización: 19 de agosto de 2026 Categoría: Seguridad Código: BFR-001
Preguntas Frecuentes
¿Cuánto tarda un ataque de fuerza bruta en descifrar una contraseña?
Depende del ataque, del espacio de búsqueda, del algoritmo y sus parámetros, del hardware y de si las pruebas son online u offline. En un benchmark offline sobre MD5 sin salt, seis caracteres alfanuméricos caen en una fracción de segundo; con bcrypt o Argon2id, o frente a un servicio con rate limiting, el coste es incomparablemente mayor.
¿Cómo se detecta un ataque de fuerza bruta?
Analizando los logs de autenticación del sistema. Se buscan patrones de múltiples intentos fallidos desde una misma IP o contra una misma cuenta en cortos intervalos de tiempo. Eventos como el 4625 de Windows (logon failure) son indicadores clave.
¿El credential stuffing es un ataque de fuerza bruta?
Es una variante. En lugar de probar combinaciones aleatorias, utiliza pares usuario-contraseña obtenidos de filtraciones previas de otros servicios, aprovechando que muchos usuarios reutilizan credenciales.
Términos Relacionados
Keylogger
Software o hardware que registra todas las pulsaciones de teclado de un usuario, capturando contraseñas, mensajes y toda la actividad escrita. Su detección y análisis es común en casos de espionaje corporativo, acoso y malware.
Hash Criptográfico
Algoritmo matemático que genera una huella digital única para cualquier archivo, garantizando ante un tribunal que la evidencia no ha sido alterada o manipulada.
Logs de Sistema
Archivos que registran automáticamente eventos del sistema operativo, aplicaciones y servicios. Son fuente primaria de evidencia forense para reconstruir actividades, detectar intrusiones y establecer timelines de incidentes.
Anti-Forense
Conjunto de técnicas, herramientas y procedimientos diseñados para impedir, dificultar o invalidar el análisis forense digital, incluyendo destrucción de datos, ocultación de información y manipulación de metadatos.
¿Necesitas un peritaje forense?
Si necesitas ayuda profesional con análisis forense digital, estoy aquí para ayudarte.
Solicitar Consulta Gratuita
