¿Qué es el descifrado de contraseñas?
El descifrado de contraseñas es el proceso de intentar obtener acceso no autorizado a sistemas restringidos utilizando contraseñas comunes o algoritmos que adivinan contraseñas. Es decir, conseguir la contraseña correcta es un arte que da acceso a un sistema que está protegido por un método de autenticación.
El descifrado de contraseñas utiliza una serie de técnicas para lograr sus objetivos. El proceso de descifrado puede implicar la comparación de contraseñas almacenadas con una lista de palabras o el uso de algoritmos para generar contraseñas coincidentes.
En este tutorial, le presentaremos las técnicas comunes de descifrado de contraseñas y las contramedidas que puede implementar para proteger los sistemas de tales ataques.
Materiales cubiertos en este tutorial
¿Qué es la seguridad de la contraseña?
La seguridad de las contraseñas es una medida de la eficacia de las contraseñas para combatir los ataques de descifrado de contraseñas.. La seguridad de la contraseña está determinada por;
- Moda: número de caracteres en la contraseña.
- Complejidad: ¿utiliza una combinación de letras, números y símbolos?
- Previsibilidad: ¿Qué puede adivinar fácilmente un atacante?
Veamos ahora un ejemplo práctico. Usaremos tres contraseñas, a saber
1. contraseña
2. contraseña1
3. # contraseña1 $
Por ejemplo, usaremos el indicador de fortaleza de contraseña de Cpanel al crear contraseñas. Las imágenes a continuación muestran las propiedades de la contraseña de cada una de las contraseñas anteriores.
Nota: la contraseña utilizada es una contraseña, la fuerza es 1 y es muy débil.
Nota: la contraseña utilizada es contraseña1, la fuerza es 28 y aún es débil.
Nota: La contraseña utilizada es # contraseña1 $ la fuerza es 60 y es fuerte.
Cuanto mayor sea el número de seguridad, mejor será la contraseña.
Creemos que debemos almacenar nuestras contraseñas anteriores utilizando cifrado md5. Usaremos una linea generador de hash md5 para convertir nuestras contraseñas en hashes md5.
La siguiente tabla muestra los hash de contraseña
Contraseña | Hash MD5 | Indicador de fuerza de Cpanel |
---|---|---|
contraseña | 5f4dcc3b5aa765d61d8327deb882cf99 | 1 |
contraseña1 | 7c6a180b36896a0a8c02787eeafb0e4c | 28 |
# contraseña1 $ | 29e08fb7103c327d68327f23d8d9256c | 60 |
Lo usaremos ahora http://www.md5this.com/ para ramificar los hash 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 romper la primera y la segunda contraseñas que tenían números de seguridad más bajos. No pudimos romper la tercera contraseña, que era más larga, complicada e impredecible. Tenía un número de fuerza más alto.
Técnicas de descifrado de contraseñas
Hay algunos técnicas que se pueden utilizar para dividir contraseñas. A continuación, describiremos los más utilizados;
- Ataque de vocabulario– Este método implica el uso de una lista de palabras para comparar 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 y símbolos alfanuméricos para crear contraseñas para el ataque. Por ejemplo, una contraseña del valor «contraseña» se puede probar como una palabra p @ $$ utilizando el ataque de fuerza bruta.
- Ataque de mesa arcoiris– Este método utiliza hashes precalculados. Suponemos que tenemos una base de datos que almacena las contraseñas como hashes md5. Podemos crear otra base de datos que contenga hashes md5 para las contraseñas de uso común. Luego podemos comparar nuestro hash de contraseña con los hash almacenados en la base de datos. Si se encuentran sirvientas, entonces tenemos la contraseña.
- Adivina qué– Como su nombre lo indica, este método es una suposición. Las contraseñas como qwerty, contraseña, admin, etc. se utilizan comúnmente o se establecen como contraseñas predeterminadas. Si no se han cambiado o si el usuario es descuidado al seleccionar las contraseñas, pueden verse comprometidas fácilmente.
- Pisoteando– 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. Spiding recopila información de estas fuentes para establecer listas de palabras. La lista de palabras se utiliza para realizar ataques de fuerza bruta y de vocabulario.
Mirando un ejemplo de lista de palabras de ataque de diccionario
1976 <founder birth year> smith jones <founder name> acme <company name/initials> built|to|last <words in company vision/mission> golfing|chess|soccer <founders hobbies
Herramienta para descifrar contraseñas
Estos son programas de software que se utilizan para descifrar las contraseñas de los usuarios.. Ya hemos visto una herramienta similar en el ejemplo anterior sobre la seguridad de las contraseñas. El sitio web www.md5this.com utiliza una tabla de arco iris para dividir las contraseñas. Ahora veremos algunas de las herramientas de uso común.
Juan el destripador
John the Ripper usa el símbolo del sistema para dividir las contraseñas. Esto lo hace ideal para usuarios de alto nivel que se sienten cómodos trabajando con comandos. Utiliza una lista de palabras para dividir las contraseñas. El programa es gratuito, pero la lista de palabras debe comprarse. Tiene listas de palabras alternativas gratuitas que puede utilizar. Visite el sitio web del producto https://www.openwall.com/john/ para obtener más información y cómo utilizarlo.
Caín y Abel
Caín y Abel corren en las ventanas. Se utiliza para recuperar contraseñas de cuentas de usuario, recuperar contraseñas de Microsoft Access; olfateo en red, etc. A diferencia de John the Ripper, Cain & Abel usa una interfaz gráfica de usuario. Es muy popular entre los novatos y los script kiddies debido a su simplicidad de uso. Visite el sitio web del producto https://www.softpedia.com/get/Security/Decrypting-Decoding/Cain-and-Abel.shtml para obtener más información y cómo utilizarlo.
Ophcrack
Ophcrack es un descifrador de contraseñas de Windows multiplataforma que utiliza tablas de arco iris para dividir contraseñas. Funciona 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.
Medidas de cálculo 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 las contraseñas cortas que son fáciles de predecir
- Evite el uso de contraseñas con patrones predecibles como 11552266.
- Las contraseñas almacenadas en la base de datos siempre deben estar encriptadas. Para el cifrado md5, es mejor agregar sal a los hashes de contraseña antes de almacenarlos. La salazón implica agregar alguna contraseña a la contraseña proporcionada antes de que se cree el hash.
- La mayoría de los sistemas de registro tienen indicadores de seguridad de contraseñas, las organizaciones deben adoptar políticas que prefieran un alto número de contraseñas.
Actividad de piratería: ¡piratea ahora!
En este caso práctico, debemos crackear una cuenta de Windows con una simple contraseña. Windows utiliza hashes NTLM para cifrar contraseñas. Usaremos la herramienta de craqueo NTLM en Cain y Abel para hacer eso.
El cracker de Cain y Abel se puede utilizar para dividir contraseñas usando;
- Ataque de vocabulario
- 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.
Pasos para descifrar contraseñas
- Abierto Caín y Abel, obtendrá la siguiente pantalla principal
- Asegúrese de que la pestaña de la galleta esté seleccionada como se muestra arriba
- Haga clic en el botón Agregar en la barra de herramientas.
- Aparecerá la siguiente ventana de diálogo
- Las cuentas de usuarios locales se mostrarán de la siguiente manera. Tenga en cuenta que los resultados mostrados de las cuentas de usuario estarán en su máquina local.
- Haga clic derecho en la cuenta que desea dividir. Para este tutorial, usaremos Cuentas como cuenta de usuario.
- La siguiente pantalla aparecerá
- Haga clic con el botón derecho en la sección del diccionario y seleccione Agregar al menú Agregar como se muestra arriba
- Busque el archivo.txt de 10k más popular que acaba de descargar
- Haga clic en el botón de inicio
- Si el usuario usó una contraseña simple como qwerty, debería poder obtener los siguientes resultados.
- Nota: el tiempo necesario para descifrar la contraseña depende de la solidez, la complejidad y la capacidad de procesamiento de la contraseña de su máquina.
- Si la contraseña no se descifra con un ataque de diccionario, puede intentar ataques de fuerza bruta o de cifrado.
Resumen
- El descifrado de 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 la contraseña.
- Las técnicas comunes de contraseña incluyen ataques de vocabulario, fuerza bruta, tablas de arco iris, espionaje y división.
- Las herramientas para descifrar contraseñas simplifican el proceso de división de contraseñas.