Probablemente te has encontrado el término junto a la fuerza bruta, en una lista de formas de romper contraseñas. Lo que engaña es la etiqueta. Un ataque de diccionario no tiene casi nada que ver con un diccionario, y entender qué contiene realmente la lista explica por qué algunas contraseñas de aspecto sólido caen en segundos.
Qué hace realmente el ataque
Un ataque de diccionario adivina contraseñas a partir de una lista preparada de candidatas en lugar de recorrer todas las combinaciones posibles de caracteres. El atacante toma un hash robado, calcula el hash de cada candidata por turno y se detiene cuando dos coinciden.
Ese es todo el mecanismo, y su potencia está por completo en el orden. Un ataque de fuerza bruta es exhaustivo e indiferente: encontrará tu contraseña algún día, y frente a una contraseña larga, algún día significa nunca en la práctica. Un ataque de diccionario es selectivo. Gasta cada intento en algo que un ser humano pudo elegir de forma plausible, así que o gana rápido o no gana nada.
Los dos ataques están limitados, por tanto, por propiedades distintas de tu contraseña. A la fuerza bruta la vence la longitud. Al ataque de diccionario lo vence la imprevisibilidad. No son lo mismo, y una contraseña puede ser fuerte contra uno y estar indefensa ante el otro.
Las listas no son diccionarios
Aquí está la parte que se omite. Una lista de ataque moderna no se construye con un diccionario de idioma. Se construye con las contraseñas que personas reales ya han usado, cosechadas en filtraciones anteriores.
Cada gran filtración se convierte en materia prima. Después las entradas se clasifican según la frecuencia con que apareció cada contraseña en datos reales, de modo que la lista no es alfabética sino que está ordenada por verosimilitud, de la más común a la más rara. Hay colecciones públicas montadas así, disponibles libremente, y se usan con la misma naturalidad en pruebas de seguridad legítimas que en ataques.
Esto tiene una consecuencia en la que conviene detenerse. Una contraseña que apareció en cualquier filtración, en cualquier sitio, no queda debilitada solo allí. Se ha unido a la lista, y ahora está en cabeza de la cola para cualquier ataque futuro contra cualquiera. Por eso «¿ha sido expuesta esta contraseña?» es una pregunta más útil que «¿parece fuerte esta contraseña?».

Las reglas: cómo una palabra se convierte en miles de intentos
Las herramientas de cracking no se paran en las palabras de la lista. Aplican reglas de transformación, cambios aplicados a cada entrada para generar variantes. Las más habituales son exactamente las que adivinarías, y ese es justo el problema:
- poner la primera letra en mayúscula
- añadir un dígito, un año o
123 - pegar un
!al final - sustituir letras por símbolos parecidos,
apor@,epor3,spor$ - invertir la palabra o repetirla
Vuelve a leer esa lista pensando en un sitio que te avisa de que tu contraseña necesita una mayúscula, un número y un carácter especial. Las reglas existen por culpa de ese requisito. Son la descripción de cómo lo cumple la gente.
Password1! y P@ssw0rd no son ingeniosas. Son las dos primeras reglas aplicadas a la palabra más común de todas las listas, y se prueban en los primeros instantes de un ataque, no al final. Un ataque híbrido o combinador va un paso más allá y une pares de entradas, lo que también pone a tiro las contraseñas de dos palabras.
En línea y fuera de línea son situaciones distintas
La palabra «ataque» cubre dos escenarios que no se parecen en nada.
En línea, contra un formulario de acceso real, el atacante adivina a través del propio sitio. La limitación de intentos, el bloqueo de cuentas y la detección hacen impracticable la adivinación sostenida, y por eso los atacantes que quieren trabajar a gran escala se pasan al credential stuffing o al rociado de contraseñas: menos intentos, repartidos entre muchas cuentas, para quedarse por debajo del umbral de alarma.
Fuera de línea, contra una base de hashes robada, no existe ninguno de esos frenos. El atacante tiene los hashes en su propio hardware y puede adivinar tan rápido como permita la función de hash. Es ese último detalle el que decide el resultado. Funciones de hash rápidas y generalistas como MD5 o SHA-1 sin sal se prueban a ritmos enormes en hardware gráfico corriente. Funciones diseñadas para ser deliberadamente lentas y exigentes en memoria, como bcrypt, scrypt o Argon2, hunden ese ritmo en varios órdenes de magnitud y convierten un fin de semana de cracking en algo no rentable.
Tú no eliges cuál usó el sitio. Te enteras después, que es el argumento para dar por supuesto lo peor.
Cómo defenderse de verdad
La defensa no es más complejidad. Es menos previsibilidad, más no reutilizar nada nunca.
Una contraseña generada al azar por software no guarda relación con ninguna lista y ninguna regla la produce, así que el ataque no tiene nada que probar salvo la fuerza bruta exhaustiva, donde la longitud toma el relevo como protección. Esa es la respuesta práctica para casi todas las cuentas, y por eso un gestor de contraseñas importa más que cualquier regla sobre símbolos.
Si quieres algo que puedas teclear de memoria, una frase de contraseña funciona, pero con una condición: las palabras las tiene que elegir una máquina al azar. Una frase que compusiste tú sigue los giros de tu idioma y tus costumbres. Una frase sacada de la letra de una canción, de una réplica de película o de un libro ya circula tal cual. El azar tiene que venir de fuera de tu cabeza.
Y la unicidad hace el resto. Si cada cuenta tiene su propia contraseña, un sitio que guarda mal los hashes y acaba roto te cuesta exactamente una cuenta en lugar de todas.
★ Audit Cure53 2024 · ✓ Plan gratuit · Cross-platform
Genera contraseñas que ninguna lista contiene → NordPassGenerador aleatorio · una contraseña única por sitio · escáner de filtraciones · plan gratis→Su lugar entre los otros ataques
- Fuerza bruta: prueba todas las combinaciones, en vivo. La vence la longitud. Ver qué es un ataque de fuerza bruta.
- Ataque de diccionario: prueba una lista ordenada de contraseñas probables y sus variantes por reglas. Lo vence la imprevisibilidad.
- Rainbow table: precalcula el trabajo de hash y consulta el resultado. La vence el salteado. Ver qué es una rainbow table.
- Credential stuffing: repite pares reales de usuario y contraseña filtrados. Lo vence la unicidad. Ver qué es el credential stuffing.
Se suelen describir como cuatro técnicas. Se leen mejor como cuatro apuestas distintas sobre qué aspecto tiene tu contraseña, y la única forma de que pierdan las cuatro es tener una contraseña larga, única y que nada ni nadie predijo.
★ Audit Cure53 2024 · ✓ Plan gratuit · Cross-platform
Blinda tus cuentas → NordPassContraseñas fuertes y únicas · escáner de filtraciones · plan gratis→Preguntas frecuentes
¿Qué es un ataque de diccionario?
Un ataque de diccionario es un ataque de adivinación de contraseñas que recorre una lista preparada de contraseñas probables en lugar de probar todas las combinaciones posibles de caracteres. Cada candidata se cifra con hash y se compara con el objetivo. Es mucho más rápido que la fuerza bruta porque gasta el tiempo en contraseñas que la gente elige de verdad, y acierta o falla según se parezca o no tu contraseña a una que otra persona ya haya usado.
¿Es lo mismo que la fuerza bruta?
No, y la diferencia es el orden de búsqueda. Un ataque de fuerza bruta es exhaustivo: recorre todas las combinaciones y acabará acertando si se le da tiempo suficiente. Un ataque de diccionario es selectivo: prueba una lista escogida y se rinde cuando la lista se acaba. La fuerza bruta está limitada por la longitud de tu contraseña, el ataque de diccionario por su previsibilidad, y por eso una cadena corta y aleatoria puede sobrevivir a uno mientras una frase larga y memorable cae ante el otro.
¿De dónde sacan los atacantes sus listas de palabras?
Sobre todo de filtraciones anteriores, no de diccionarios de idioma. Cada gran filtración de contraseñas se convierte en materia prima, y las listas resultantes se ordenan según la frecuencia con que apareció cada contraseña en datos reales, de modo que las candidatas más comunes se prueban primero. Hay colecciones públicas construidas así, disponibles libremente, que se usan tanto en pruebas de seguridad legítimas como en ataques. Por eso una contraseña expuesta en cualquier filtración queda quemada en todas partes.
¿Las reglas de transformación hacen seguras las contraseñas complejas?
No. Las herramientas de cracking aplican reglas de transformación a cada palabra de la lista: poner la primera letra en mayúscula, añadir un dígito o un año, pegar un signo de exclamación, cambiar letras por símbolos parecidos. Esas reglas existen precisamente porque describen lo que hace la gente cuando un sitio exige una mayúscula, un número y un carácter especial. Una contraseña creada siguiendo los requisitos de complejidad suele estar dentro del espacio de búsqueda, no fuera.
¿Cómo me protejo de un ataque de diccionario?
Haz que tu contraseña sea impredecible en vez de complicada, y no la reutilices nunca. Una cadena larga generada al azar por un gestor de contraseñas no guarda relación con ninguna lista, y una contraseña única hace que una filtración en un sitio no pueda repetirse en otro. Si prefieres una frase de contraseña, las palabras las tiene que elegir una máquina al azar, porque una frase que compusiste tú, o sacada de una canción o una película, ya circula.



