¿Qué es el descifrado de contraseñas?
Descifrar contraseñas es el proceso de intentar obtener acceso no autorizado a sistemas restringidos utilizando contraseñas comunes o algoritmos que adivinan contraseñas. En otras palabras, es un arte de obtener la contraseña correcta que da acceso a un sistema protegido por un método de autenticación.
El descifrado de contraseñas emplea una serie de técnicas para lograr sus objetivos. El proceso de descifrado puede implicar comparar las contraseñas almacenadas con la lista de palabras o utilizar algoritmos para generar contraseñas que coincidan.
En este tutorial, le presentaremos las técnicas comunes para descifrar contraseñas y las contramedidas que puede implementar para proteger los sistemas contra dichos ataques.
¿Qué es la seguridad de la contraseña?
La seguridad de la contraseña es la medida de la eficiencia de una contraseña para resistir ataques de descifrado de contraseñas . La seguridad de una contraseña está determinada por;
- Longitud : el número de caracteres que contiene la contraseña.
- Complejidad : ¿utiliza una combinación de letras, números y símbolos?
- Imprevisibilidad : ¿es algo que un atacante puede adivinar fácilmente?
Veamos ahora un ejemplo práctico. Usaremos tres contraseñas, a saber
1. contraseña
2. contraseña 1
3. #contraseña 1$
Para este ejemplo, usaremos el indicador de seguridad de contraseña de Cpanel al crear contraseñas. Las imágenes a continuación muestran la seguridad de cada una de las contraseñas enumeradas anteriormente.
Nota : la contraseña utilizada es contraseña, la fuerza es 1 y es muy débil.
Nota : la contraseña utilizada es contraseña 1, la seguridad es 28 y aún es débil.
Nota : La contraseña utilizada es #contraseña 1$, la seguridad es 60 y es segura.
Cuanto mayor sea el número de seguridad, mejor será la contraseña.
Mira Tambien¿Diferencia entre virus, gusanos y caballos de Troya?Supongamos que tenemos que almacenar nuestras contraseñas anteriores utilizando cifrado md5. Usaremos un generador de hash md5 en línea para convertir nuestras contraseñas en hashes md5.
La siguiente tabla muestra los hashes de contraseña.
Contraseña | Hash MD5 | Indicador de fuerza del panel |
contraseña | 5f4dcc3b5aa765d61d8327deb882cf99 | 1 |
contraseña 1 | 7c6a180b36896a0a8c02787eeafb0e4c | 28 |
#contraseña 1$ | 29e08fb7103c327d68327f23d8d9256c | 60 |
Ahora usaremos http://www.md5this.com/para descifrar los hashes anteriores. Las imágenes a continuación muestran los resultados de descifrado de contraseñas para las contraseñas anteriores.
Como puede ver en los resultados anteriores, logramos descifrar la primera y la segunda contraseña que tenían números de seguridad más bajos. No logramos descifrar la tercera contraseña, que era más larga, compleja e impredecible. Tenía un número de fuerza más alto.
¿Cómo Funciona el Hash de Contraseñas?
El hash de contraseñas es un proceso que convierte una contraseña en una cadena de caracteres única utilizando un algoritmo criptográfico. Cuando un usuario crea una contraseña, esta es procesada por la aplicación para generar un valor hash, que se almacena en la base de datos. El resultado es un conjunto de caracteres de longitud fija, representado en bits, la unidad mínima de datos que un ordenador puede gestionar.
Cuando el usuario intenta iniciar sesión, el sistema vuelve a aplicar el algoritmo de hash a la contraseña que se ingresa y compara el resultado con el valor almacenado en la base de datos. Si coinciden, la autenticación es exitosa y se permite el acceso.
Veamos un ejemplo para entender cómo funciona. Supongamos que eliges la contraseña «hAsh! nGisC00L» y la sometes a un algoritmo de hash como MD5. El resultado es «5d640ca634edfaa17813cab1492208f2», un conjunto de caracteres que no revela nada sobre la contraseña original.
Un aspecto importante del hash de contraseñas es su sensibilidad a cambios mínimos. Si modificas la contraseña, por ejemplo, cambiando «!» por «i», y la vuelves a hashear, el resultado será completamente diferente. El nuevo valor podría ser «1c70088b4b9c650d49fd3ee04349dfb9», mostrando que incluso una pequeña alteración en la entrada cambia por completo el valor hash.
¿Qué Significa Salar una Contraseña?
Aunque el hash es un método robusto para asegurar contraseñas, los ciberdelincuentes pueden utilizar técnicas avanzadas para descifrarlo. Una estrategia para aumentar la seguridad es «salar» las contraseñas.
«Salar» en este contexto no tiene nada que ver con la cocina. Se refiere a agregar una cadena de caracteres aleatoria y única a la contraseña antes de aplicar el hash. Esta «sal» adicional complica el proceso de descifrado y dificulta la tarea de los atacantes. Con la adición de una sal, incluso si dos usuarios tienen la misma contraseña, sus valores hash serán distintos, lo que brinda una capa adicional de seguridad.
Este método de salado aumenta la robustez de las contraseñas sin dificultar su uso por parte de los usuarios. Es una estrategia esencial para proteger las bases de datos de contraseñas contra ataques de fuerza bruta y ataques de diccionario.
Técnicas para descifrar contraseñas
Hay una serie de técnicas que se pueden utilizar para descifrar contraseñas . A continuación describiremos los más utilizados;
- Ataque de diccionario : este método implica el uso de una lista de palabras para compararlas con las contraseñas de los usuarios.
- Ataque de fuerza bruta : este método es similar al ataque de diccionario. Los ataques de fuerza bruta utilizan algoritmos que combinan caracteres alfanuméricos y símbolos para generar contraseñas para el ataque. Por ejemplo, una contraseña con el valor «contraseña» también se puede probar como p@$$word usando el ataque de fuerza bruta.
- Ataque de tabla Rainbow : este método utiliza hashes precalculados. Supongamos que tenemos una base de datos que almacena contraseñas como hashes md5. Podemos crear otra base de datos que tenga hashes md5 de contraseñas de uso común. Luego podemos comparar el hash de contraseña que tenemos con los hashes almacenados en la base de datos. Si se encuentra una coincidencia, entonces tenemos la contraseña.
- Adivina : como sugiere el nombre, este método implica adivinar. Contraseñas cómo qwerty, contraseña, admin, etc. se utilizan comúnmente o se configuran como contraseñas predeterminadas. Si no se han modificado o si el usuario es descuidado al seleccionar las contraseñas, pueden verse comprometidas fácilmente.
- Spidering : la mayoría de las organizaciones utilizan contraseñas que contienen información de la empresa. Esta información se puede encontrar en los sitios web de la empresa, redes sociales como Facebook, Twitter, etc. Spidering recopila información de estas fuentes para elaborar listas de palabras. Luego, la lista de palabras se utiliza para realizar ataques de diccionario y de fuerza bruta.
Lista de palabras de ataque de diccionario de muestra de Spidering
1976 <año de nacimiento del fundador>
Mira Tambien¿Qué es el envenenamiento por ARP (ARP Spoofing)?smith jones <nombre del fundador>
acme <nombre de la empresa/iniciales>
construido|hasta|las últimas <palabras en la visión/misión de la empresa>
golf|ajedrez|fútbol <aficiones de los fundadores
Herramientas para descifrar contraseñas
Estos son programas de software que se utilizan para descifrar contraseñas de usuarios . Ya vimos una herramienta similar en el ejemplo anterior sobre la seguridad de las contraseñas. El sitio web http://www.md5this.com/utiliza una tabla de arcoíris para descifrar contraseñas. Ahora veremos algunas de las herramientas más utilizadas.
1) John the Ripper
John the Ripper usa el símbolo del sistema para descifrar contraseñas. Esto lo hace adecuado para usuarios avanzados que se sienten cómodos trabajando con comandos. Utiliza una lista de palabras para descifrar contraseñas. El programa es gratuito, pero es necesario comprar la lista de palabras. Tiene listas de palabras alternativas gratuitas que puedes utilizar. Visite el sitio web del producto https://www.openwall.com/john/ para obtener más información y cómo utilizarlo.
2) Caín y Abel
Caín y Abel se ejecutan en Windows. Se utiliza para recuperar contraseñas de cuentas de usuario, recuperación de contraseñas de Microsoft Access, rastreo de redes, etc. A diferencia de John the Ripper, Cain & Abel utiliza una interfaz gráfica de usuario. Es muy común entre los novatos y los guionistas debido a su simplicidad de uso. Visite el sitio web del producto https://sectools.org/tool/cain/ para obtener más información y cómo utilizarlo.
3) Ophcrack
Ophcrack es un descifrador de contraseñas de Windows multiplataforma que utiliza tablas de arcoíris para descifrar contraseñas. Se ejecuta en Windows, Linux y Mac OS. También cuenta con un módulo para ataques de fuerza bruta entre otras características. Visite el sitio web del producto https://ophcrack.sourceforge.io/ para obtener más información y cómo utilizarlo.
mSpy
Con mspy , una aplicación de registro de pulsaciones de teclas, puedes observar discretamente todas las palabras que alguien escribe sin necesidad de estar físicamente presente. Esta herramienta le permite realizar un seguimiento de cada pulsación de tecla y toque en un dispositivo, así como monitorear aplicaciones de chat populares como WhatsApp, Instagram, Tinder, Snapchat y Viber. Vea sin esfuerzo todos los mensajes de texto y mensajes instantáneos, y utilice el rastreador GPS integrado para localizar la posición de un dispositivo.
¿Cómo protegerse contra ataques de descifrado de contraseñas?
- Una organización puede utilizar los siguientes métodos para reducir las posibilidades de que se descifren las contraseñas.
- Evite contraseñas cortas y fácilmente predecibles
- Evite el uso de contraseñas con patrones predecibles como 11552266.
- Las contraseñas almacenadas en la base de datos siempre deben estar cifradas. Para cifrados md5, es mejor salar los hashes de contraseñas antes de almacenarlos. La salazón implica agregar alguna palabra a la contraseña proporcionada antes de crear el hash.
- La mayoría de los sistemas de registro tienen indicadores de seguridad de contraseñas; las organizaciones deben adoptar políticas que favorezcan números altos de seguridad de contraseñas.
Actividad de piratería: ¡Hackea ahora!
En este escenario práctico, vamos a descifrar una cuenta de Windows con una simple contraseña . Windows utiliza hashes NTLM para cifrar contraseñas . Usaremos la herramienta de cracker NTLM en Caín y Abel para hacer eso.
Cain and Abel cracker se puede utilizar para descifrar contraseñas usando;
- Ataque de diccionario
- Fuerza bruta
- Criptoanálisis
Usaremos el ataque de diccionario en este ejemplo. Deberá descargar la lista de palabras de ataque del diccionario aquí 10k-Most-Common.zip
Para esta demostración, hemos creado una cuenta llamada Cuentas con la contraseña qwerty en Windows 7.
Cómo descifrar una contraseña
Paso 1) Abre Caín y Abel.
Mira TambienTutorial de Wireshark: Rastreador de Redes y ContraseñasObtendrá la siguiente pantalla principal.
Paso 2) Busque 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.
Paso 3) Verifique el cuadro de diálogo.
Aparecerá la siguiente ventana de diálogo. Importe usuarios locales y haga clic en el botón siguiente.
Paso 4) Las cuentas de usuario locales se mostrarán de la siguiente manera.
Tenga en cuenta que los resultados mostrados serán de las cuentas de usuario en su máquina local.
Paso 5) Haz clic derecho en la cuenta que deseas descifrar.
Para este tutorial, usaremos Cuentas como cuenta de usuario.
Paso 6) Verifique la siguiente pantalla.
Haga clic derecho en la sección del diccionario y seleccione Agregar al menú de la lista como se muestra arriba.
Paso 7) Examinar archivo.
Busque los 10.000 archivos.txt más comunes que acaba de descargar
Paso 8) Verifique los resultados.
Mira TambienCómo descifrar la contraseña de WiFi (Hackear red Wi-Fi)Si el usuario utilizó una contraseña simple como qwerty, entonces debería poder obtener los siguientes resultados.
- Nota : el tiempo necesario para descifrar la contraseña depende de la seguridad, la complejidad y la potencia de procesamiento de la contraseña de su máquina.
- Si la contraseña no se descifra mediante un ataque de diccionario, puede intentar ataques de fuerza bruta o criptoanálisis.
Resumen
- Descifrar contraseñas es el arte de recuperar contraseñas almacenadas o transmitidas.
- La seguridad de la contraseña está determinada por la longitud, la complejidad y la imprevisibilidad del valor de una contraseña.
- Las técnicas de contraseñas comunes incluyen ataques de diccionario, fuerza bruta, tablas de arco iris, arañas y craqueo.
- Las herramientas para descifrar contraseñas simplifican el proceso de descifrar contraseñas.