Saltar al contenido principal

Ataques de diccionario - Adivinando contraseñas con palabras

Lectura de 2 min aprox.

Un ataque de diccionario es un método para adivinar contraseñas utilizando una lista de palabras que aparecen en un diccionario o de contraseñas de uso frecuente. Mientras que un ataque de fuerza bruta prueba todas las combinaciones posibles, el ataque de diccionario reduce su alcance a las contraseñas que las personas tienden a elegir, haciendo sus intentos más eficientes. Contraseñas comunes como «password», «123456» y «qwerty» se descifran en segundos. Según la encuesta de NordPass de 2024, «123456» sigue siendo la contraseña más utilizada, y la eficacia de los ataques de diccionario no ha disminuido.

Uso diagnóstico en pruebas de penetración

Los ataques de diccionario no son una herramienta exclusiva de los atacantes: en las pruebas de penetración y las auditorías de contraseñas, los defensores también los emplean para verificar la robustez de las contraseñas de su propia organización. Ejecutar un ataque de diccionario contra las contraseñas de una organización saca a la luz aquellas que contienen patrones fáciles de adivinar, como palabras del diccionario, el nombre de la empresa o del departamento y fechas de cumpleaños. Dado que las contraseñas ideadas por las propias personas tienden a concentrarse en este tipo de patrones, es habitual encontrar un cierto número que puede descifrarse en poco tiempo. Estos resultados de diagnóstico ofrecen fundamentos concretos para alertar a los usuarios, revisar las políticas de contraseñas y avanzar hacia contraseñas generadas aleatoriamente.

Técnicas de ataque de diccionario y su evolución

Un ataque de diccionario básico prueba las listas de palabras tal cual, pero las técnicas avanzadas aplican reglas de transformación como añadir números al final de una palabra, cambiar mayúsculas y minúsculas, o sustituir caracteres por símbolos (p. ej., a → @, e → 3). También se usan como diccionarios las listas de miles de millones de contraseñas filtradas en brechas de datos anteriores. Las herramientas modernas de ataque de diccionario aprovechan las GPU y pueden realizar miles de millones de intentos por segundo.

La diferencia con los ataques de fuerza bruta

Un ataque de fuerza bruta prueba exhaustivamente todas las combinaciones, desde «aaaa» hasta «zzzz», por lo que en teoría puede descifrar cualquier contraseña, pero las contraseñas largas requieren una cantidad enorme de tiempo. El ataque de diccionario es rápido porque limita su alcance a los patrones que las personas tienden a elegir, pero resulta inútil frente a contraseñas aleatorias. En un ataque real, lo habitual es intentar primero un ataque de diccionario y cambiar a la fuerza bruta solo si este falla. Además, un ataque de pulverización de contraseñas es una variante que prueba un número reducido de contraseñas contra muchas cuentas, evadiendo el bloqueo de cuenta.

Defensas contra los ataques de diccionario

Las contraseñas generadas aleatoriamente no usan ninguna palabra ni patrón que se encuentre en un diccionario, por lo que tienen una resistencia extremadamente alta a los ataques de diccionario. Las contraseñas ideadas por personas tienden a incluir, de forma inconsciente, palabras y patrones de diccionario, mientras que las contraseñas generadas aleatoriamente no presentan ese sesgo. Por parte del proveedor del servicio, limitar el número de intentos de inicio de sesión, introducir un CAPTCHA y cotejar contra listas de contraseñas filtradas son medidas defensivas eficaces.

Términos relacionados

¿Te resultó útil este artículo?