En el ámbito de la ciberseguridad, el análisis y cracking de contraseñas constituye una de las áreas más críticas, especialmente porque las contraseñas siguen siendo uno de los métodos de autenticación más comunes en cualquier empresa. A pesar de los avances en tecnologías de seguridad, que ya permiten incluso la autenticación passwordless(enlace), las contraseñas débiles y mal gestionadas siguen siendo uno de los eslabones más vulnerable en la protección de la información. A continuación analizamos el concepto de cracking de contraseñas, el objetivo detrás de estas prácticas, las debilidades comunes en la creación de contraseñas y las metodologías utilizadas para vulnerarlas. Por otro lado, incluimos ideas para mejorar las contraseñas y comentamos qué medidas adicionales existen para reforzar la seguridad.
¿Qué es el cracking de contraseñas?
El cracking de contraseñas es el proceso que trata de descubrir o adivinar contraseñas a través de diferentes metodologías. Este proceso es frecuentemente utilizado por:
- Actores maliciosos y criminales, que buscan acceder de forma no autorizada a un sistema para robar información sensible, instalar malware, o continuar con un proceso de intrusión más avanzado.
- Profesionales de seguridad, que como parte de sus servicios identifican las contraseñas débiles y la calidad de la política de contraseñas que existe en una organización. El objetivo es informar a la compañía de las contraseñas que no cumplen con los estándares adecuados, y que sin embargo se están utilizando en sus entornos tecnológicos. El beneficio de este tipo de servicio es doble. Por un lado permite identificar y cambiar las contraseñas débiles rápidamente, eliminando potenciales debilidades que podría usar un atacante. Por otro lado, gracias al análisis de las deficiencias identificadas se puede formar a los empleados. Finalmente, permite al experto sugerir cambios que mejoren la política de contraseñas corporativa y los procedimientos asociados con esta para reforzar las defensas.
¿Cómo se atacan tus contraseñas?
Las técnicas para atacar tus contraseñas varían en complejidad y enfoque, pero algunas de las más comunes son las que se explican a continuación.
Ataque de Fuerza Bruta
Esta técnica implica probar todas las combinaciones hasta descubrir la contraseña adecuada. Parece simple, pero puede llegar a ser extremadamente lento, especialmente para contraseñas largas y complejas. Aunque la capacidad de cómputo general aumenta cada año, en función del tamaño de la contraseña y su complejidad el atacante puede tener que probar tantas contraseñas que el ataque se convierte en inútil. Frente a contraseñas bien formadas usar esta aproximación no es adecuado.
Ataque de Diccionario
En la definición más purista, consiste en probar todas las palabras que hay en un diccionario hasta encontrar la contraseña válida. Al fin y al cabo, ¿qué es más probable, que una persona española use la contraseña “hola”, o que su contraseña sea “haol”? Sabemos que la gente tiende a utilizar palabras conocidas, así que en vez de probar todas las combinaciones que podrían llegar a existir, el atacante optimiza el tiempo y se limita a probar las palabras más comunes. Por ejemplo, recorriendo de forma automática todas las palabras que aparezcan en un diccionario en español.
En la realidad, en este punto podría haber algún incauto que diga, “pero… mi contraseña es el nombre de un pueblo de Alemania, eso no aparece en un diccionario español, así que estoy a salvo”. O… “yo he usado el nombre de un personaje de El Señor de Los Anillos, esta no me la adivina nadie”. Bueno, pues malas noticias para todos ellos, porque actualmente existen diccionarios enormes, que combinan palabras de todos los idiomas, y sobre todo, que incluyen contraseñas utilizadas previamente por otros usuarios. ¿Cómo, que existen diccionarios de contraseñas? Pues sí, cada vez que un sistema es hackeado las contraseñas encontradas acaban siendo incorporadas a diccionarios de contraseñas que se comparten en Internet. Y no hablamos de diccionarios pequeños, hablamos de ficheros que ya cuentan con varios cientos de millones de contraseñas únicas.
¿Y cuál es el problema? Que el ser humano es muy poco original. ¿Te gusta Juego de Tronos, y has usado una referencia como contraseña? Enhorabuena, hay varios millones de personas a las que también le encanta tu serie favorita. ¿Te gusta el fútbol? Sólo hay cientos de millones de fanáticos alrededor del mundo que pueden hacer la misma referencia a eventos, jugadores, y fechas relacionadas con el fútbol. ¿Te encanta viajar a Ibiza? Enhorabuena, eres uno más de los más de 14 millones que se mueven por la zona cada año. Y con 5 mil millones de personas con acceso a Internet, podríamos seguir dando ejemplos un buen rato. En resumidas cuentas, hay que tener mucho cuidado al elegir las palabras que forman nuestras contraseñas, porque es muy probable que mediante ataques de diccionario sean más fáciles de adivinar de lo que nos creamos.
Y ahora llegamos al incauto final, el que ya se sabe todo esto y pone medidas adicionales: “Cómo ya me lo sé, lo que hago es mezclar dos palabras, añado mi fecha de nacimiento al nombre de mi jugador favorito y… ¡ya estoy seguro!”. Vaya, de nuevo van malas noticias. Bienvenido al ataque de diccionario basado en reglas.
¿Qué es un ataque de diccionario basado en reglas?
Un ataque de diccionario basado en reglas es una técnica más avanzada que mejora la efectividad de los ataques de diccionario tradicionales, aplicando para ello un conjunto de reglas predefinidas para modificar las palabras originales del diccionario. Estas reglas coinciden con los hábitos comunes de creación de contraseñas de los usuarios. De nuevo, el ser humano es muy poco original, y ya hay investigadores que han estudiado, en base a las contraseñas filtradas en anteriores incidentes de seguridad, cuales son las reglas más utilizadas por todos nosotros. Estos son algunos, de los trucos utilizados por la gran mayoría de nosotros:
- Capitalización: cambiar determinadas letras de la palabra por mayúsculas o minúsculas (CoNtRaSeÑa)
- Sustitución de caracteres: consiste en reemplazar letras con números o símbolos que se parecen, como cambiar “e” por “3” o “a” por “@”. (C0ntr453ñ4)
- Uso de prefijos y/o sufijos: consiste en añadir números, símbolos o combinaciones de ambos al principio o al final de las palabras. Esto incluye combinaciones comunes como fechas significativas (Contraseña1980, 2024Contraseña, etc.)
- Invertir el orden de la palabra: escribir las palabras al revés (“Contraseña” -> “añesartnoC”)
- Combinaciones y concatenaciones: combinar dos o más palabras del diccionario, o añadir palabras comunes juntas con o sin números o símbolos intercalados (“ContraseñaLarga, Contraseña.Larga, Contraseña2024, etc.”)
- Repetición: una versión de la anterior en el que la concatenación se realiza con la misma palabra (ContraseñaContraseña)-
Actualmente existe software de acceso libre y utilizado frecuentemente por expertos en ciberseguridad, como Hashcat, que permite realizar ataques con estas características. Por cada una de las palabras del diccionario facilitado, puede probar tantas reglas adicionales como el atacante considere. Además, existen ficheros que recopilan todo tipo de reglas utilizadas por los usuarios, y que hacen al probar millones de reglas diferentes por cada contraseña del diccionario original. En resumidas cuentas, por cada una de las palabras introducidas en el proceso, se probarán automáticamente todas las modificaciones que el 90% de las personas se puede imaginar.
El número de contraseñas que se pueden probar varía ampliamente en función de cómo esté protegida la contraseña o de las capacidades de cómputo de que disponga el atacante. No obstante, sirva de ejemplo que UNA tarjeta gráfica moderna es capaz de probar decenas de miles de MILLONES de contraseñas. Por SEGUNDO. Prueba a imaginarte lo que un atacante sería capaz de analizar por segundo contratando un servicio en la nube por unos cuantos euros.
Ataque Rainbow
El cracking de contraseñas utilizando tablas Rainbow es una técnica avanzada que busca hacer más eficiente el proceso de descifrar contraseñas. A diferencia de los ataques de fuerza bruta que prueban todas las combinaciones posibles, o los ataques de diccionario que usan listas de palabras comunes, las tablas rainbow utilizan un método que puede ahorrar mucho tiempo y determinados recursos computacionales al recuperar una contraseña.
Las tablas rainbow son grandes tablas precalculadas que contienen pares de valores de hash y las contraseñas correspondientes. Un valor de hash es como una huella digital digital única generada a partir de una contraseña mediante un proceso matemático. Dado que este proceso de hash es unidireccional, es teóricamente imposible revertir el hash para obtener la contraseña original directamente. Sin embargo, las tablas rainbow intentan sortear este problema mediante un enfoque basado en el precálculo.
Sin entrar en detalles, estas tablas permiten atacar las contraseñas de una forma mucho más rápida que otros mecanismos, especialmente cuando el objetivo son contraseñas que no son especialmente largas ni complejas. Sin embargo, el proceso de creación de las tablas iniciales puede ser muy largo y requerir muchos recursos, especialmente, en forma de almacenamiento. Por poner un ejemplo, supongamos que queremos atacar contraseñas protegidas mediante NTLM, uno de los hashes utilizados por Windows. En este caso, la tabla para atacar de forma eficiente a una contraseña de 8 caracteres que tenga minúsculas, mayúsculas y números puede necesitar unos 274GB de almacenamiento. Si queremos aumentar la longitud en uno, hasta alcanzar 9 caracteres, la tabla pasa a ocupar por encima de 1TB.

Ingeniería social y phishing
Implica manipular a las personas para que revelen sus contraseñas directamente, o para que den acceso a información que pueda simplificar el proceso de cracking de contraseñas. Por ejemplo, un supuesto responsable del equipo de IT de la compañía llama por teléfono al usuario y le solicita al usuario su contraseña, con la excusa de estar realizando tareas de mantenimiento. El usuario, desconocedor de estas técnicas, procede a compartir su contraseña, sin saber que ha facilitado la contraseña a un atacante.
En el caso del phishing, un método específico de ingeniería social, normalmente se realiza mediante la imitación de páginas de inicio de sesión legítimas o comunicaciones oficiales por parte del atacante. Esta página falsa es compartida por correo u otros medios, y cuando el usuario la utiliza, su contraseña queda registrada en el sistema del atacante.
Como vemos, el potencial adversario va a evitar luchar contra elementos tecnológicos avanzados si simplemente puede engañar a un usuario en su lugar. Por este motivo, la formación a empleados y la concienciación en ciberseguridad es primordial en cualquier organización.
¿Cuáles son las debilidades que afectan a las contraseñas?
Las contraseñas pueden ser vulnerables debido a diferentes factores, que ya se han ido introduciendo someramente con anterioridad.
La longitud en las contraseñas
La longitud de una contraseña es uno de los factores más críticos que afectan su seguridad. En general, cuanto más larga sea la contraseña, más difícil será para un atacante descifrarla mediante técnicas de fuerza bruta o adivinación. La fuerza bruta implica probar todas las combinaciones posibles hasta encontrar la contraseña correcta, y cuanto más larga sea la contraseña el número de combinaciones posibles aumenta de forma exponencial. En general, se recomienda que las contraseñas tengan al menos 12 caracteres de longitud, aunque una contraseña de 16 o más caracteres es lo ideal para una seguridad óptima. Para conseguir utilizar contraseñas tan largas sin dificultad, se suele recomendar recurrir a lo que comúnmente se conoce como frases de paso.
¿Qué son las frases de paso?
Las frases de paso son una alternativa a las contraseñas tradicionales que consisten en una serie de palabras (generalmente cuatro o más) puestas juntas en una secuencia larga y fácil de recordar. Estas palabras no necesitan estar relacionadas lógicamente, y de hecho, la aleatoriedad puede ayudar a aumentar su seguridad. Sin embargo, perfectamente se podría hacer uso de una frase común con algún significado. Sin embargo, aunque lo principal sea la longitud, se deben tener diferentes consideraciones en cuenta:
- Las palabras sueltas, si son realmente aleatorias y sin relación alguna, pueden alcanzar más seguridad frente a ataques de diccionario o adivinación. La falta de conexión lógica hace que sean más difíciles de adivinar por alguien que conozca tus intereses o busque tu información pública. Un ejemplo sería “plátano cortina biblioteca girasol 8749”
- Usar frases con significado hace que sean más fácil de recordar y escribir, ya que puede asociarse con experiencias o conocimientos personales. Sin embargo, si alguien conoce a la víctima lo suficiente, su posible adivinación es más plausible. En estos casos es importante tratar de ser original, evitando citas famosas de la literatura, el cine, etc. y evitando el uso información personal. Un ejemplo de mala frase de paso sería “la lluvia en sevilla es una maravilla”, un dicho común utilizado por muchas personas.
El juego de caracteres
El juego de caracteres utilizado en una contraseña es un factor adicional para determinar su fuerza y resistencia contra ataques de fuerza bruta e incluso de diccionario. El “juego de caracteres” se refiere al conjunto de símbolos que pueden ser usados para componer la contraseña. Por ejemplo, puede incluir letras mayúsculas y minúsculas, números, y caracteres especiales como signos de puntuación u otros símbolos. Cuantos más tipos de caracteres se permitan en una contraseña, mayor será el número total de combinaciones posibles que un atacante tendría que probar en un ataque de fuerza bruta. Por ejemplo, una contraseña de 8 caracteres que únicamente use letras minúsculas del alfabeto inglés tiene 26^8 combinaciones posibles, mientras que una contraseña de 8 caracteres que use letras, números y símbolos puede tener muchas más combinaciones posibles, dependiendo del número exacto de símbolos permitidos. La siguiente tabla indica como progresa el número total de combinaciones existentes (conocido como el espacio de búsqueda) según aumentamos el número de caracteres, y según se incluyen más caracteres válidos a la contraseña.
Longitud de Contraseña | Solo Minúsculas (26) | Minúsculas + Mayúsculas (52) | Alfanumérico (62) | Alfanumérico + Símbolos (95) |
---|---|---|---|---|
8 caracteres | 208,827,064,576 | 53,459,728,531,456 | 218,340,105,584,896 | 6,634,204,312,890,625 |
10 caracteres | 141,167,095,653,376 | 144,555,105,949,057,024 | 839,299,365,868,340,224 | 598,736,939,238,378,906,250 |
12 caracteres | 95,428,956,661,682,176 | 390,877,006,486,250,192,640 | 3,226,266,762,397,899,821,056 | 54,865,911,079,423,298,635,827,201 |
Es decir, podrías pasar de 208 mil millones de combinaciones, usando sólo minúsculas y 8 caracteres, hasta un número que el común de los mortales no sabría ni leer (¿54 cuatrillones?), si usas una longitud de 12 caracteres y una juego de 95 posibles valores (letras mayúsculas, minúsculas, números, símbolos) por posición.
La potencia de cálculo actual es enorme, y más gracias a los entornos cloud, por lo que las computadoras son capaces de probar enormes cantidades de combinaciones por segundo. Sin embargo, hay un momento en el que el problema de atacar mediante fuerza bruta se convierte en inmanejable. Simplemente no es posible probar todas las combinaciones existentes, obligando a decidir al atacante a utilizar alguna de las técnicas alternativas que ya hemos mencionado.
¿Qué son los sistemas passwordless?
Los sistemas de autenticación sin contraseña, o passwordless, son métodos de verificación de identidad que no requieren que los usuarios ingresen una contraseña tradicional. Esta técnica mejora tanto la seguridad como la usabilidad, eliminando las contraseñas que pueden ser fácilmente olvidadas, robadas, o comprometidas.
Los sistemas passwordless permiten a los usuarios acceder a cuentas y servicios mediante alternativas a las contraseñas, con mecanismos basados en biometría, en dispositivos hardware, códigos enviados a dispositivos confiables, o incluso enlaces de autenticación. Estos métodos dependen de una combinación de algo que el usuario tiene (como un teléfono o un token de hardware), algo que el usuario es (como huellas dactilares o reconocimiento facial), o algo que el usuario sabe (como un patrón de desbloqueo o un PIN).
Métodos Comunes de Autenticación Passwordless
Biometría: utiliza características físicas únicas del usuario, como huellas dactilares, reconocimiento facial, reconocimiento de voz o escaneo del iris para autenticar.
Tokens hardware: dispositivos físicos, como las llaves de seguridad USB o NFC, que el usuario presenta para acceder a un servicio o aplicación.
Códigos de autenticación: códigos temporales enviados a través de SMS, email, o aplicaciones de autenticación que el usuario introduce para acceder.
Autenticación da través de dispositivos vinculados: utiliza un dispositivo que ya está en posesión del usuario, como un smartphone o un wearable, y que ya se ha confirmado como válido, para que el usuario pueda confirmar su identidad.
Enlaces mágicos: enlaces enviados a través de email que el usuario puede utilizar para iniciar sesión sin necesidad de introducir una contraseña.
Ventajas de la Autenticación Passwordless
- Seguridad: ya que reduce el riesgo de ataques de phishing y de fuerza bruta, al no existir contraseñas que puedan ser interceptadas o adivinadas.
- Comodidad: elimina la necesidad de recordar y gestionar múltiples contraseñas, lo que simplifica el proceso de inicio de sesión para los usuarios.
- Experiencia de usuario: proporciona un método de acceso más rápido y directo, mejorando la satisfacción y la retención del usuario.
- Menos costes de soporte: menos usuarios que olvidan sus contraseñas implica menor carga en los servicios de soporte de restablecimientos de contraseña.
A pesar de sus ventajas, la implementación de autenticación sin contraseña presenta nuevos desafíos, como la necesidad de gestionar dispositivos de seguridad, asegurar los métodos de recuperación de cuenta, y formar a los usuarios sobre estas nuevas formas de autenticación. Además, es vital considerar la privacidad y seguridad de los datos biométricos y asegurarse de que los métodos utilizados no creen nuevas vulnerabilidades.