Password CrackerCómo descifrar/adivinar una contraseña

⚡ Resumen inteligente

El descifrado de contraseñas consiste en recuperar credenciales mediante la adivinación, comparación o cálculo sistemático de las mismas a partir de hashes almacenados. Esta descripción general explica cómo operan los atacantes, las herramientas que utilizan, los factores de seguridad que los protegen y los controles que los administradores deben implementar.

  • 🧭 FoundationPrincipio al: La seguridad de una contraseña depende de su longitud, la complejidad de sus caracteres y su imprevisibilidad para resistir ataques de fuerza bruta y la recuperación mediante diccionario.
  • 🔐 Hashing frente a cifrado: Las credenciales almacenadas están protegidas mediante funciones hash unidireccionales como MD5, SHA-256 o bcrypt, en lugar de mediante cifrado reversible.
  • 🎯 Técnicas de ataque comunes: Los métodos de búsqueda por diccionario, fuerza bruta, tabla arcoíris, híbrido, rastreo web y relleno de credenciales explotan el comportamiento humano predecible.
  • 🛠️ Conjunto de herramientas de cracking: John the Ripper, Hashcat, Cain & Abel, Ophcracky Hydra automatizan la recuperación fuera de línea y en línea a partir de los hashes capturados.
  • 🤖 Ataques impulsados ​​por IA: Los modelos generativos predicen contraseñas realistas a partir de volcados de datos filtrados, lo que mejora drásticamente la eficiencia del diccionario frente a credenciales débiles.
  • 🛡️ Controles defensivos: Las funciones hash con sal, la autenticación multifactor, las políticas de bloqueo y los gestores de contraseñas neutralizan la mayoría de los intentos de descifrado en entornos de producción.

¿Cómo descifrar (hackear) una contraseña?

El descifrado de contraseñas es una de las técnicas más antiguas de la seguridad ofensiva, pero sigue siendo tan relevante como siempre, ya que los usuarios continúan eligiendo contraseñas predecibles. En este tutorial, presentaremos las técnicas comunes que utilizan los atacantes para recuperar contraseñas, las herramientas que automatizan este proceso y las contramedidas que los administradores pueden implementar para proteger los sistemas contra estos ataques.

¿Qué es el descifrado de contraseñas?

El descifrado de contraseñas es el proceso de intentar obtener acceso no autorizado a un sistema restringido recuperando la clave secreta que protege un mecanismo de autenticación. Este proceso puede consistir en comparar hashes de contraseñas almacenadas con una lista de palabras precalculada o ejecutar algoritmos que generen contraseñas candidatas hasta encontrar una coincidencia. Una vez encontrada la coincidencia, el atacante puede autenticarse como un usuario legítimo sin necesidad de adivinar la contraseña en línea.

¿Qué es la fuerza de la contraseña?

La seguridad de una contraseña es la medida de su eficacia para resistir ataques de descifrado. La seguridad de cualquier contraseña está determinada por tres propiedades:

  • Eslora: el número total de caracteres que contiene la contraseña.
  • Complejidad: ya sea que utilice una combinación de letras mayúsculas, letras minúsculas, números y símbolos.
  • Imprevisibilidad: si un atacante que conoce al usuario puede adivinar fácilmente la contraseña.

Comparemos tres contraseñas: la contraseña, password1, y #contraseña1$Para este ejemplo, utilizaremos el indicador de seguridad de contraseñas de cPanel. Las imágenes a continuación muestran la seguridad de cada contraseña candidata.

El indicador de seguridad de contraseña de cPanel muestra una calificación muy débil para el valor de contraseña.

Nota: la contraseña utilizada es la contraseña; la fuerza es 1, lo cual es muy débil.

El indicador de seguridad de contraseñas de cPanel muestra una calificación débil para el valor password1.

Nota: la contraseña utilizada es password1; la fuerza es 28, lo cual sigue siendo débil.

El indicador de seguridad de contraseña de cPanel muestra una calificación alta para el valor hashpassword1dollar.

Nota: la contraseña utilizada es #contraseña1$La seguridad es de 60, lo cual es alto. Cuanto mayor sea el número de seguridad, mejor será la contraseña.

Ahora supongamos que necesitamos almacenar las mismas contraseñas usando el algoritmo de hash MD5. Usaremos un generador de hash MD5 en línea para convertir cada contraseña en su valor hash. La tabla a continuación muestra los hashes resultantes.

Contraseña Hash MD5 Indicador de fuerza de cPanel
la contraseña 5f4dcc3b5aa765d61d8327deb882cf99 1
password1 7c6a180b36896a0a8c02787eeafb0e4c 28
#contraseña1$ 29e08fb7103c327d68327f23d8d9256c 60

Ahora utilizaremos un sitio web público de búsqueda inversa MD5 para descifrar los hashes anteriores. Las imágenes a continuación muestran los resultados del descifrado de contraseñas para cada valor.

Resultado de la búsqueda inversa MD5 para el hash del valor contraseña

Resultado de la búsqueda inversa MD5 para el hash del valor password1

Resultado de la búsqueda inversa MD5 que muestra el fallo al descifrar el valor seguro hashpassword1dollar

Como se puede observar en los resultados anteriores, logramos descifrar las dos primeras contraseñas, que tenían un nivel de seguridad menor. No conseguimos descifrar la tercera, que era más larga, compleja e impredecible. Además, tenía un nivel de seguridad mayor.

Técnicas para descifrar contraseñas

Existen diversas técnicas comprobadas que los atacantes utilizan para recuperar contraseñas. A continuación, describiremos las categorías más comunes.

  • Ataque de diccionario: Este método utiliza una lista de palabras candidatas probables y compara cada una de ellas con las contraseñas de usuario capturadas o con los hashes de contraseñas.
  • Ataque de fuerza bruta: Los ataques de fuerza bruta combinan caracteres alfanuméricos y símbolos utilizando algoritmos para generar sistemáticamente todas las contraseñas posibles hasta que se encuentra una coincidencia. Por ejemplo, una contraseña como la contraseña También se puede probar como p@$$word utilizando una regla híbrida de fuerza bruta.
  • Ataque de mesa arcoíris: Este método se basa en hashes precalculados. Supongamos que una base de datos almacena contraseñas como hashes MD5. El atacante crea otra tabla que almacena hashes MD5 de contraseñas comunes y compara el hash capturado con la tabla de hashes precalculados. Si encuentra una coincidencia, recupera la contraseña.
  • Adivinar: Como su nombre indica, este método implica adivinar. Contraseñas como QWERTY, la contraseña, y Admin Suelen utilizarse o configurarse como valores predeterminados. Si no se modifican, pueden verse comprometidos rápidamente.
  • Araña: La mayoría de las organizaciones utilizan contraseñas que contienen información de la empresa. Esta información se puede obtener de sitios web corporativos y redes sociales como Facebook y Twitter. El rastreo web recopila datos de estas fuentes para crear listas de palabras específicas, que luego se utilizan en ataques de diccionario y de fuerza bruta.
  • Relleno de credenciales: Los atacantes utilizan pares de nombres de usuario y contraseñas filtrados en una brecha de seguridad contra servicios no relacionados, aprovechándose de los usuarios que reutilizan sus credenciales.

Una lista de palabras clave para una empresa ficticia podría combinar: 1976 (año de nacimiento del fundador); smith, jones (apellidos); acme (nombre de la empresa); built, to, last (palabras clave de la visión); golf, chess, soccer (pasatiempos).

La tabla que aparece a continuación compara las técnicas en función de la velocidad, los requisitos previos y la detectabilidad.

Tecnologia Velocidad ¿Requiere hash? ¿Detectable en línea?
Diccionario Rápido Opcional Sí:
Fuerza bruta Lenta Opcional Sí:
Mesa arcoiris Muy rápido Sí: No (fuera de línea)
Adivinación Variable No Sí:
Araña Lenta No Sí:
Relleno de credenciales Rápido No Sí:

Password Cracker Accesorios

Las herramientas para descifrar contraseñas son programas informáticos que automatizan las técnicas descritas anteriormente. Ya mencionamos una de estas herramientas en el ejemplo de seguridad, donde una consulta pública MD5 utiliza una tabla arcoíris para invertir hashes comunes. Ahora veremos otras herramientas que los profesionales utilizan durante las evaluaciones autorizadas.

1) John the Ripper
John the Ripper Utiliza la línea de comandos y acepta listas de palabras con reglas para generar candidatos. Detecta automáticamente muchos formatos de hash comunes. El programa es gratuito, mientras que las listas de palabras comerciales seleccionadas están disponibles por separado. Visite https://www.openwall.com/john/.

2) Cain & Abel
Cain & Abel se ejecuta en Windows y recupera contraseñas de usuario, realiza análisis de red y más. Su interfaz gráfica la hace popular entre los principiantes. La herramienta no ha recibido mantenimiento activo desde 2014, por lo que solo debe usarse en sistemas de laboratorio antiguos. Ver https://sectools.org/tool/cain/.

3) Ophcrack
Ophcrack es una plataforma multiplataforma Windows Descifrador de contraseñas que utiliza tablas arcoíris. Se ejecuta en Windows, Linux y macOSy incluye un módulo de fuerza bruta. Visite https://ophcrack.sourceforge.io/.

4) Hashcat
Hashcat es el estándar moderno para la recuperación de contraseñas sin conexión. Admite más de 300 algoritmos hash, aprovecha la aceleración por GPU y ofrece ataques basados ​​en reglas. La documentación se encuentra en https://hashcat.net/hashcat/.

5) Hidra
Hydra (THC-Hydra) está dirigido a servicios en línea como SSH, FTP, RDP y formularios de inicio de sesión HTTP. Se distribuye con Kali Linux y se utiliza ampliamente en operaciones de equipo rojo autorizadas.

¿Cómo protegerse contra ataques de descifrado de contraseñas?

Una organización puede utilizar las siguientes medidas para reducir las posibilidades de que sus contraseñas sean descifradas:

  • Se requiere un mínimo de 12 caracteres y se deben evitar patrones predecibles como 11552266 o qwerty1234.
  • Almacene las contraseñas con una función hash unidireccional lenta como bcrypt, scrypt o Argon2, en lugar de funciones hash rápidas como MD5 o SHA-1.
  • Se añade sal a cada contraseña antes de aplicarle el hash; la sal dificulta las búsquedas en tablas arcoíris, incluso cuando el propio hash es rápido.
  • Adopte políticas de contraseñas que prioricen la seguridad y promuevan el uso de frases de contraseña, tal como recomienda la norma NIST SP 800-63B.
  • Habilita la autenticación multifactor (MFA) para que una contraseña robada por sí sola no otorgue acceso.
  • Utilice un gestor de contraseñas para generar credenciales únicas para cada servicio, neutralizando así los ataques de relleno de credenciales.
  • Configure el bloqueo de cuentas, la limitación de velocidad y la monitorización continua para detectar a tiempo cualquier actividad de fuerza bruta en línea.

Actividad de piratería: ¡Hackea ahora!

En este escenario práctico, vamos a descifrar un Windows cuenta que utiliza una contraseña sencilla. Windows Almacena las credenciales locales como hashes NTLM (un esquema basado en MD4), y utilizaremos el módulo de descifrado NTLM de Cain and Abel para recuperar el valor.

Caín y Abel pueden descifrar contraseñas mediante un ataque de diccionario, fuerza bruta o criptoanálisis (tablas precalculadas). Aquí utilizaremos el ataque de diccionario. Descarga la lista de palabras. 10k-más-común.zip desde un espejo de buena reputación. Para esta demostración, creamos una cuenta llamada Cuentas con la contraseña QWERTY en un Windows 7 máquinas de laboratorio.

Windows Se crearon 7 cuentas de usuario de laboratorio con la contraseña simple qwerty para la demostración.

Cómo descifrar una contraseña

La guía que aparece a continuación relaciona cada pantalla de Caín y Abel con la acción que se debe realizar. Sigue los pasos en orden utilizando tu propia cuenta de laboratorio, nunca en un sistema que no te pertenezca.

Paso 1) Abrir Caín y Abel.
Inicie la aplicación; verá la siguiente pantalla principal.

Interfaz principal de Caín y Abel con la pestaña Cracker visible

Paso 2) Busca el botón Agregar.
Asegúrese de que la pestaña Cracker esté seleccionada como se muestra arriba y haga clic en el botón Agregar en la barra de herramientas.

Pestaña Cracker seleccionada con el botón Agregar resaltado en la barra de herramientas de Cain y Abel

Paso 3) Elija la fuente de importación.
Aparece la siguiente ventana de diálogo. Seleccione Importar hashes desde el sistema local y haz clic en Siguiente.

Diálogo entre Caín y Abel en el que se preguntan de qué fuente importar los hashes NTLM.

Paso 4) Revver las cuentas importadas.
Las cuentas de usuario locales se muestran a continuación. Los resultados exactos reflejarán las cuentas de usuario de su equipo de laboratorio.

Lista de productos locales importados Windows Cuentas listas para ser descifradas dentro de Caín y Abel

Paso 5) Haga clic con el botón derecho en la cuenta de destino.
Haz clic derecho en la cuenta que quieres hackear. Para este tutorial, usaremos la Cuentas .

Haz clic con el botón derecho en el menú contextual del usuario Cuentas dentro de Cain and Abel.

Paso 6) Abra el panel de ataque del diccionario.
En la ventana de ataque de diccionario, haga clic con el botón derecho en la sección del diccionario y seleccione Agregar a la lista como se muestra a continuación.

Panel de ataque de diccionario con la opción Agregar a la lista resaltada.

Paso 7) Busque el archivo de la lista de palabras.
Navega hasta el 10k-más-comunes.txt Archivo que acabas de descargar y selecciónalo.

El explorador de archivos se abre dentro de Caín y Abel para elegir la lista de las 10 palabras de contraseñas más comunes.

Paso 8) RevVer la contraseña recuperada.
Si el usuario eligió una contraseña simple como QWERTYVerá resultados similares a la pantalla que aparece a continuación, con el valor en texto plano junto a la cuenta de usuario.

Caín y Abel mostrando la contraseña en texto plano recuperada qwerty para el usuario Cuentas.

Nota: el tiempo necesario para descifrar una contraseña depende de su robustez, la complejidad de la lista de contraseñas candidatas y la potencia de procesamiento de su equipo. Si el ataque de diccionario no logra recuperar la contraseña, intente un ataque de fuerza bruta o criptoanálisis.

Cómo la IA es Reshaping Descifrado y defensa de contraseñas

La inteligencia artificial se ha convertido en una fuerza importante en ambos lados del descifrado de contraseñas. Los atacantes entrenan modelos de lenguaje con datos filtrados de credenciales para predecir contraseñas realistas, mientras que los defensores combinan esos mismos modelos con sistemas de telemetría para detectar intrusiones más rápidamente.

Así es como la IA está transformando el sector hoy en día:

  • Generación de listas de palabras más inteligente: Los modelos generativos como PassGAN aprenden patrones de contraseñas humanas y producen listas de candidatos que descifran más hashes que los diccionarios estáticos.
  • Puntuación de riesgo conductual: La IA defensiva inspecciona la geografía de inicio de sesión, la huella digital del dispositivo y el tipoping ritmo, enviando contextos inusuales para reforzar la autenticación.
  • Detección de anomalías en tiempo real: Los clasificadores de aprendizaje automático supervisan los registros de autenticación e identifican el relleno de credenciales o las campañas de fuerza bruta lenta que las reglas de firma no detectan.
  • Asesoramiento automatizado sobre políticas: Las plataformas de identidad evalúan las nuevas contraseñas comparándolas con bases de datos específicas de la organización y sugieren alternativas más seguras antes de que los usuarios las finalicen.
  • Defensa resistente al phishing: La IA acelera la implementación de los flujos FIDO2 y de claves de acceso mediante el análisis de señales de riesgo y la reducción de la fricción para el usuario.

Combine la monitorización mediante IA con la autenticación multifactor, el hash moderno como Argon2 y las notificaciones rápidas de intrusiones para que la defensa automatizada se anticipe a los ataques automatizados.

Preguntas Frecuentes

El descifrado de contraseñas solo es legal cuando se realiza con autorización explícita por escrito, como en pruebas de penetración, auditorías internas o para la recuperación de credenciales propias. El descifrado no autorizado infringe las leyes sobre el uso indebido de sistemas informáticos en casi todas las jurisdicciones.

El hashing es una transformación unidireccional: el valor original no se puede recuperar. El cifrado es reversible con la clave correcta. Las contraseñas siempre deben almacenarse como hashes con sal utilizando algoritmos como bcrypt, scrypt o Argon2, nunca como cadenas cifradas.

Para descifrar sin conexión, Hashcat Generalmente es el más rápido porque utiliza la aceleración por GPU y admite ataques basados ​​en reglas en más de 300 formatos de hash. John the Ripper Sigue siendo popular cuando los recursos de la GPU son limitados.

Un valor aleatorio único (salt) se añade a cada contraseña antes de aplicarle una función hash. El uso de sal evita los ataques de tablas arcoíris, ya que las tablas precalculadas solo funcionan con hashes sin sal. Además, el uso de sal garantiza que dos usuarios con la misma contraseña generen valores almacenados diferentes.

Una contraseña de 12 caracteres que combine letras, números y símbolos puede tardar siglos en ser descifrada por fuerza bruta contra una función hash lenta como bcrypt. Contra una función MD5 rápida y sin sal, la misma contraseña puede caer en cuestión de días. Tanto la elección de la función hash como su longitud son importantes.

Los atacantes entrenan modelos generativos como PassGAN en volcados de credenciales filtrados para que predigan frases de contraseña humanas realistas. Las listas de palabras resultantes descifran notablemente más hashes que los diccionarios estáticos durante el mismo tiempo de ejecución, especialmente cuando se combinan con mutaciones basadas en reglas en Hashcat.

Sí. La IA defensiva establece parámetros de referencia para el comportamiento normal de inicio de sesión, evalúa el riesgo de cada intento y detecta oleadas de relleno de credenciales o campañas lentas de fuerza bruta que los motores de reglas no detectan. Para obtener los mejores resultados, combine la monitorización con IA con la autenticación multifactor y técnicas de hash modernas como Argon2.

La autenticación multifactor bloquea la gran mayoría de los intentos de acceso no autorizado, ya que una contraseña recuperada por sí sola no permite iniciar sesión. Los factores de seguridad resistentes al phishing, como las claves de seguridad FIDO2 y las contraseñas, ofrecen la mayor protección y deben activarse siempre que sea posible.

Resumir este post con: