[Nueva investigación] ¿Significa Argon2 que tu contraseña es imposible de crackear?
Table of Contents
Investigaciones previas sobre el craking de contraseñas publicadas por Specops han analizado cuánto tardan los atacantes en aplicar fuerza bruta a hashes protegidos con algoritmos de hashing comunes como MD5 y bcrypt. Gran parte de esa investigación se centra en cómo los avances en hardware reducen el tiempo necesario para recuperar contraseñas en texto claro.
Pero ¿qué ocurre cuando utilizas un algoritmo de hashing reforzado como Argon2, en el que el hardware no tiene tanto impacto sobre la dificultad de recuperar una contraseña en texto claro? ¿Y significa Argon2 que ya no tienes que preocuparte por la complejidad de las contraseñas o por bloquear contraseñas filtradas?
Esta investigación coincide con la última incorporación de más de 60 millones de contraseñas comprometidas al servicio Specops Breached Password Protection. Estas contraseñas proceden de una combinación de nuestra red de honeypots y fuentes de inteligencia de amenazas.
¿Qué es Argon2?
Argon2 es una función de derivación de claves (KDF) que ganó la Password Hashing Competition en 2015. Se diseñó para hacer que los ataques de fuerza bruta fueran más costosos desde el punto de vista computacional, limitando la ventaja que los atacantes pueden obtener de las GPU y de otro hardware de cracking de alto rendimiento.
La principal fortaleza de Argon2 es que es “memory-hard”, lo que significa que puede configurarse para requerir una cantidad determinada de memoria en cada intento de hashing de contraseña. Esto implica que los atacantes no pueden simplemente añadir más núcleos de GPU y esperar las mismas mejoras de rendimiento que obtendrían frente a algoritmos más rápidos como MD5 o SHA-1.
Existen tres variantes del algoritmo:
- Argon2d: diseñado para resistir ataques de cracking con GPU.
- Argon2i: diseñado para resistir ataques de canal lateral.
- Argon2id: un enfoque híbrido que combina elementos de Argon2d y Argon2i.
En esta investigación nos centraremos en Argon2id. En la mayoría de los escenarios de hashing de contraseñas, Argon2id es la opción general recomendada porque equilibra la resistencia frente al cracking basado en GPU con la protección frente a ataques de canal lateral.
Sin embargo, Argon2id no es necesariamente la opción más robusta posible para todos los modelos de amenaza concretos. Si sabes que una implementación está especialmente expuesta a ataques de canal lateral, por ejemplo, Argon2i puede ser más adecuado. Pero para la mayoría de las organizaciones, Argon2id ofrece el mejor equilibrio de protección práctica.
Metodología
Anteriormente hemos demostrado Ya hemos demostrado anteriormente que los aceleradores de IA especializados, como la H200 de Nvidia, no aportan una ventaja significativa en cargas de trabajo de cracking de contraseñas. En lugar de requerir grandes cantidades de memoria GPU, el rendimiento del cracking de contraseñas viene determinado principalmente por el hashrate, es decir, el número de cálculos de hash que un sistema puede realizar cada segundo.
Con esto en mente, utilizamos la RTX 5090 de Nvidia como GPU de referencia, ya que representa el hardware de consumo de gama alta que un atacante suele utilizar hoy en día. Nuestra configuración utilizó ocho RTX 5090; actualmente, los proveedores cloud alquilan hardware comparable por unos 5 dólares por hora, lo que convierte esta configuración en una referencia práctica para estimar el coste del cracking offline de contraseñas.
Dado que Argon2 está diseñado específicamente para reducir la ventaja de rendimiento de las GPU potentes, también ejecutamos las mismas pruebas en una única CPU de servidor AMD EPYC.
Tiempos de cracking de contraseñas con Argon2
Tiempos de cracking para el equipo con 8 RTX 5090
| Número de caracteres | Solo números | Solo minúsculas | Mayúsculas y minúsculas | Números, mayúsculas y minúsculas | Números, mayúsculas, minúsculas y símbolos |
|---|---|---|---|---|---|
| 4 | 20.41 s | 15.54 min | 4.14 h | 8.38 h | 1.92 días |
| 5 | 3.40 min | 6.74 h | 8.98 días | 21.64 días | 182.77 días |
| 6 | 34.01 min | 7.30 días | 1.28 años | 3.67 años | 47.54 años |
| 7 | 5.67 h | 189.72 días | 66.48 años | 227.74 años | 4,516 años |
| 8 | 2.36 días | 13.50 años | 3,457 años | 14,120 años | 429,000 años |
| 9 | 23.62 días | 351.12 años | 179,800 años | 875,400 años | 40.76 millones de años |
| 10 | 236.21 días | 9,129 años | 9.35 millones de años | 54.28 millones de años | 3.87 mil millones de años |
| 11 | 6.47 años | 237,400 años | 486.1 millones de años | 3.37 mil millones de años | 367.8 mil millones de años |
| 12 | 64.67 años | 6.17 millones de años | 25.28 mil millones de años | 208.6 mil millones de años | 34.94 billones de años |
| 13 | 646.70 años | 160.5 millones de años | 1.31 billones de años | 12.94 billones de años | 3.32 mil billones de años |
| 14 | 6,467 años | 4.17 mil millones de años | 68.35 billones de años | 802 billones de años | 315.4 mil billones de años |
| 15 | 64,670 años | 108.5 mil millones de años | 3.55 mil billones de años | 49.73 mil billones de años | 29.96 trillones de años |
| 16 | 646,700 años | 2.82 billones de años | 184.8 mil billones de años | 3.08 trillones de años | 2.85 mil trillones de años |
| 17 | 6.47 millones de años | 73.32 billones de años | 9.61 trillones de años | 191.1 trillones de años | 270.4 mil trillones de años |
| 18 | 64.67 millones de años | 1.91 mil billones de años | 499.8 trillones de años | 11.85 mil trillones de años | 25.69 cuatrillones de años |
| 19 | 646.7 millones de años | 49.57 mil billones de años | 25.99 mil trillones de años | 734.8 mil trillones de años | 2.44 mil cuatrillones de años |
| 20 | 6.47 mil millones de años | 1.29 trillones de años | 1.35 cuatrillones de años | 45.55 cuatrillones de años | 231.8 mil cuatrillones de años |
| 21 | 64.67 mil millones de años | 33.51 trillones de años | 70.27 cuatrillones de años | 2.82 mil cuatrillones de años | 22.02 quintillones de años |
| 22 | 646.7 mil millones de años | 871.2 trillones de años | 3.65 mil cuatrillones de años | 175.1 mil cuatrillones de años | 2.09 mil quintillones de años |
Tiempos de cracking para el equipo con 1xEPYC 9B14
| Número de caracteres | Solo números | Solo minúsculas | Mayúsculas y minúsculas | Números, mayúsculas y minúsculas | Números, mayúsculas, minúsculas y símbolos |
|---|---|---|---|---|---|
| 4 | 13,70 s | 10,43 min | 2,78 h | 5,62 h | 1,29 días |
| 5 | 2,28 min | 4,52 h | 6,03 días | 14,53 días | 122,68 días |
| 6 | 22,83 min | 4,90 días | 313,46 días | 2,47 años | 31,91 años |
| 7 | 3,81 h | 127,34 días | 44,63 años | 152,87 años | 3.031 años |
| 8 | 1,59 días | 9,06 años | 2.321 años | 9.478 años | 288.000 años |
| 9 | 15,85 días | 235,69 años | 120.700 años | 587.600 años | 27,36 millones de años |
| 10 | 158,55 días | 6.128 años | 6,28 millones de años | 36,43 millones de años | 2,60 mil millones de años |
| 11 | 4,34 años | 159.300 años | 326,3 millones de años | 2,26 mil millones de años | 246,9 mil millones de años |
| 12 | 43,41 años | 4,14 millones de años | 16,97 mil millones de años | 140 mil millones de años | 23,46 billones de años |
| 13 | 434,08 años | 107,7 millones de años | 882,3 mil millones de años | 8,68 billones de años | 2,23 mil billones de años |
| 14 | 4.341 años | 2,80 mil millones de años | 45,88 billones de años | 538,3 billones de años | 211,7 mil billones de años |
| 15 | 43.410 años | 72,81 mil millones de años | 2,39 mil billones de años | 33,38 mil billones de años | 20,11 trillones de años |
| 16 | 434.100 años | 1,89 billones de años | 124,1 mil billones de años | 2,07 trillones de años | 1,91 mil trillones de años |
| 17 | 4,34 millones de años | 49,22 billones de años | 6,45 trillones de años | 128,3 trillones de años | 181,5 mil trillones de años |
| 18 | 43,41 millones de años | 1,28 mil billones de años | 335,5 trillones de años | 7,96 mil trillones de años | 17,24 cuatrillones de años |
| 19 | 434,1 millones de años | 33,27 mil billones de años | 17,44 mil trillones de años | 493,2 mil trillones de años | 1,64 mil cuatrillones de años |
| 20 | 4,34 mil millones de años | 865 mil billones de años | 907,1 mil trillones de años | 30,58 cuatrillones de años | 155,6 mil cuatrillones de años |
| 21 | 43,41 mil millones de años | 22,49 trillones de años | 47,17 cuatrillones de años | 1,90 mil cuatrillones de años | 14,78 quintillones de años |
| 22 | 434,1 mil millones de años | 584,8 trillones de años | 2,45 mil cuatrillones de años | 117,5 mil cuatrillones de años | 1,40 mil quintillones de años |
El hardware de gama alta sigue estando cada vez más disponible, y eso tiene un impacto notable en algoritmos de hashing de contraseñas menos resistentes, como bcrypt. En nuestra investigación anterior, comparamos el rendimiento de cracking en la RTX 4090 y su sucesora, la RTX 5090, y comprobamos que la GPU más reciente era aproximadamente un 65 % más rápida al crackear hashes bcrypt.
Sin embargo, ese rendimiento simplemente no se traslada a Argon2. Como se ha mencionado, Argon2 está diseñado para neutralizar la potencia GPU que ofrece la RTX 5090. Esto se aprecia en la diferencia de tiempos de cracking entre Argon2 y algoritmos menos resistentes, como SHA256.
Tiempos de cracking de Argon2 frente a SHA256
En nuestras pruebas, Argon2 alcanzó una tasa de hash de solo 490 H/s, frente a los 221 GH/s de SHA-256. Dicho de otro modo, Argon2 fue aproximadamente 451 millones de veces más lento de crackear que SHA-256 en el mismo hardware. Por ejemplo, una contraseña que tardara un segundo en crackearse al estar protegida con SHA-256 tardaría más de 14 años con Argon2.
| Número de caracteres | Solo números | Solo minúsculas | Mayúsculas y minúsculas | Números, mayúsculas y minúsculas | Números, mayúsculas, minúsculas, símbolos |
|---|---|---|---|---|---|
| 4 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 5 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 6 | Al instante | Al instante | Al instante | Al instante | 3,33 s |
| 7 | Al instante | Al instante | 4,65 s | 15,93 s | 5,27 min |
| 8 | Al instante | Al instante | 4,03 min | 16,47 min | 8,34 h |
| 9 | Al instante | 24,57 s | 3,49 h | 17,01 h | 33,01 días |
| 10 | Al instante | 10,65 min | 7,57 días | 43,96 días | 8,58 años |
| 11 | Al instante | 4,61 h | 1,08 años | 7,46 años | 815,57 años |
| 12 | 4,52 s | 5,00 días | 56,05 años | 462,60 años | 77.480 años |
| 13 | 45,25 s | 129,94 días | 2.914 años | 28.680 años | 7,36 millones de años |
| 14 | 7,54 min | 9,25 años | 151.500 años | 1,78 millones de años | 699,3 millones de años |
| 15 | 1,26 h | 240,49 años | 7,88 millones de años | 110,3 millones de años | 66,43 mil millones de años |
| 16 | 12,57 h | 6.253 años | 409,8 millones de años | 6,84 mil millones de años | 6,31 billones de años |
| 17 | 5,24 días | 162.600 años | 21,31 mil millones de años | 423,8 mil millones de años | 599,5 billones de años |
| 18 | 52,37 días | 4,23 millones de años | 1,11 billones de años | 26,28 billones de años | 56,95 mil billones de años |
| 19 | 1,43 años | 109,9 millones de años | 57,62 billones de años | 1,63 mil billones de años | 5,41 trillones de años |
| 20 | 14,34 años | 2,86 mil millones de años | 3,00 mil billones de años | 101 mil billones de años | 514 trillones de años |
| 21 | 143,39 años | 74,29 mil millones de años | 155,8 mil billones de años | 6,26 trillones de años | 48,83 mil trillones de años |
| 22 | 1.434 años | 1,93 billones de años | 8,10 trillones de años | 388,3 trillones de años | 4,64 cuatrillones de años |
Las estimaciones de tiempo de cracking siguen siendo útiles al comparar algoritmos de hashing. Nos ofrecen una línea base para entender cómo las mejoras de hardware afectan a la recuperación de contraseñas, aunque los atacantes reales rara vez se basan únicamente en fuerza bruta pura.
Sin embargo, los datos muestran que una implementación de Argon2 bien configurada hace que la fuerza bruta deje rápidamente de ser un punto de referencia significativo. En términos prácticos, recuperar de este modo una contraseña fuerte y generada aleatoriamente se vuelve prácticamente inviable, salvo que se descubra una debilidad desconocida en la implementación o que la computación cuántica genere un avance disruptivo en criptoanálisis.
¿Es Argon2 imposible de crackear?
En última instancia, Argon2id hace que el cracking de contraseñas sea mucho más difícil, pero “más difícil” no significa “imposible”.
Los atacantes y los investigadores de seguridad son muy eficaces creando wordlists, conjuntos de reglas y herramientas que mejoran sus posibilidades de recuperar contraseñas incluso a partir de hashes bien protegidos. En el mundo real, el cracking no suele consistir en probar todas las combinaciones posibles. Tener éxito significa hacer mejores conjeturas, más rápido.
Una solución que hemos tratado en investigaciones recientes es utilizar herramientas que no sean GPU ni Hashcat. mdxfind está ganando protagonismo rápidamente porque mejora el rendimiento frente a algoritmos resistentes y poco comunes.
Por ejemplo, en nuestras pruebas, un equipo con 8 RTX 5090 alcanzó alrededor de 490 H/s frente a Argon2id. En comparación, mdxfind llegó hasta 730 H/s en una única CPU de servidor AMD EPYC. Mientras que una GPU RTX 5090 puede costar más de 5000 dólares, la CPU EPYC 9B14 en cuestión puede conseguirse por tan solo 2100 dólares. El atacante adecuado, equipado con el hardware adecuado, todavía puede crackear algunos de los hashes.
Hashcat intentando aplicar fuerza bruta a Argon2id
mdxfind crackeando Argon2id
¿Evita Argon2 el compromiso de contraseñas?
Argon2 dificulta de forma significativa la fuerza bruta, pero no hace desaparecer los ataques basados en contraseñas. Incluso con un algoritmo de hashing robusto, las organizaciones siguen teniendo que contemplar dos vías de ataque habituales:
- Contraseñas comprometidas: si un atacante ya tiene la contraseña de un usuario procedente de una brecha anterior, un ataque de phishing o una infección por infostealer, no necesita crackear el hash. La cuenta debe tratarse como comprometida con independencia del algoritmo de hashing utilizado.
- Cracking dirigido de contraseñas: los atacantes utilizan distintas técnicas para hacer conjeturas más informadas. Argon2 encarece cada intento, pero las contraseñas débiles o predecibles todavía pueden recuperarse.
Por eso Argon2 debe entenderse como una parte de una estrategia más amplia de seguridad de contraseñas. Eleva el coste del cracking offline, pero no resuelve la reutilización de contraseñas, el phishing, los fallos de autenticación multifactor ni el uso de credenciales ya comprometidas.
| Número de caracteres | Solo números | Solo minúsculas | Mayúsculas y minúsculas | Números, mayúsculas y minúsculas | Números, mayúsculas, minúsculas y símbolos |
|---|---|---|---|---|---|
| 4 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 5 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 6 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 7 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 8 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 9 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 10 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 11 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 12 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 13 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 14 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 15 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 16 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 17 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 18 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 19 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 20 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 21 | Al instante | Al instante | Al instante | Al instante | Al instante |
| 22 | Al instante | Al instante | Al instante | Al instante | Al instante |
Detecta contraseñas débiles y comprometidas en tu Active Directory
La actualización de este mes del servicio Breached Password Protection también añade más de 5,59 millones de contraseñas comprometidas a la lista de bloqueo exprés utilizada por Specops Password Auditor.
Con un escaneo de Active Directory en modo solo lectura, Specops Password Auditor muestra cuántas contraseñas de usuarios finales son débiles, reutilizadas o ya conocidas por los atacantes.
Recibirás un informe gratuito y personalizable que cubre los riesgos relacionados con contraseñas en todo tu entorno, incluidas políticas de contraseñas débiles, contraseñas vulneradas y cuentas obsoletas o inactivas.
Descarga ya tu herramienta de auditoría gratuita.
Cómo mejorar la seguridad de las contraseñas con Argon2
Si los hashes de contraseñas quedan expuestos, ya sea por una brecha en tu propio entorno o en un servicio de terceros, la fortaleza de las contraseñas de los usuarios sigue determinando lo difícil que será recuperarlas.
Según nuestras pruebas, las organizaciones deberían combinar Argon2 con una política de contraseñas que incluya:
- Una longitud mínima de contraseña de al menos 15 caracteres.
- El uso de frases de contraseña largas, en lugar de fomentar contraseñas más cortas y complejas que resultan más difíciles de recordar para los usuarios.
- Una combinación de tipos de caracteres, utilizando de forma óptima mayúsculas, minúsculas, números y caracteres especiales.
- Un diccionario personalizado de contraseñas bloqueadas que contenga términos específicos de la organización, como nombres de empresas, nombres de productos y otras palabras clave de dominio público que los atacantes podrían utilizar para crear listas de palabras dirigidas. Herramientas como CeWL pueden ayudar a identificar términos de sitios web de acceso público que deberían añadirse a esta lista de bloqueo.
- Protección contra contraseñas comprometidas, que impide a los usuarios elegir contraseñas que ya hayan aparecido en filtraciones de datos conocidas.
- Implementar Specops Breached Password Protection.
Argon2 reduce drásticamente la ventaja que los atacantes obtienen de hardware potente y fácilmente disponible. Combinado con políticas de contraseñas robustas y protección frente a contraseñas vulneradas, también hace que recuperar contraseñas utilizables sea mucho más caro y menos probable.
Bloquea de forma continua las contraseñas comprometidas
Argon2 refuerza la idea de que ni siquiera un hash de contraseña robusto sustituye a una buena higiene de contraseñas. Los usuarios siguen necesitando contraseñas únicas, y las organizaciones siguen necesitando visibilidad sobre los riesgos de Active Directory.
Specops Password Auditor ofrece a las organizaciones un punto de partida práctico al identificar riesgos de contraseñas en Active Directory, pero sigue siendo una instantánea puntual.
Con Specops Password Policy y Breached Password Protection, las organizaciones pueden protegerse de forma continua frente a más de 6.000 millones de contraseñas comprometidas conocidas. El servicio se actualiza a diario utilizando los sistemas de recopilación de datos de monitorización de ataques de nuestro equipo de investigación, incluidas contraseñas encontradas en listas de brechas en la dark web y otras fuentes.
Breached Password Protection escanea continuamente Active Directory en busca de contraseñas comprometidas y puede alertar a los usuarios finales con mensajes personalizables, ayudando a los equipos a reducir el riesgo sin generar tickets innecesarios para el service desk.
Si te interesa saber cómo Specops puede respaldar tu estrategia de seguridad de identidades, contacta con nosotros hoy mismo o reserva una demo para ver nuestras soluciones en acción.
Última actualización el 16/07/2026

