Principios técnicos de descifrado de contraseñas, cómo mejorar la tasa de éxito de descifrado, cómo descifrar y recuperar contraseñas con éxito

Publicado en: · Autor:Recuperación de contraseña

Piensa como un hacker y pregúntate qué tan rápido se puede descifrar una contraseña, dependiendo de su estructura.

Cuando un hacker o probador de penetración corrompe un sistema y quiere acceder a una contraseña de texto claro desde un volumen de la base de datos, primero debe descifrar el hash de contraseña almacenado. Muchos atacantes se sumergen en el concepto: intentan cualquier ataque criptográfico arbitrario que quieren, con poca razón. Esta discusión mostrará algunos métodos eficaces de descifrado de contraseñas y cómo combinar el análisis estadístico de contraseñas con herramientas para crear un método limitado en el tiempo para lograr un descifrado eficiente y exitoso.

¿Por qué es importante?

El descifrado de contraseñas es una causa moribunda. Los usuarios necesitan crear contraseñas más complejas, y algunos desarrolladores de back-end están empezando a usar mecanismos como   Bcrypt   para reemplazar las funciones de hash estándar. Los hash de Bcrypt tardan más en generarse y, como resultado, las contraseñas se vuelven más difíciles de descifrar. Los hackers necesitan generar hash muy rápidamente para descifrar contraseñas de manera eficiente, por lo que Bcrypt es una herramienta muy poderosa para combatir este tipo de ataques. Para ilustrar este ejemplo, el programa de descifrado de contraseñas realizado por 25 clústeres de GPU, lanzado en 2012, fue capaz de lograr una velocidad de generación de hash NTLM de 350 mil millones de hash por segundo, frente a 71.000 hash Bcrypt. Usando esto como modelo de comparación, se pueden generar 5 millones de hash NTLM para cada hash Bcrypt generado. Cuando se enfrenta al algoritmo Bcrpyted, los hackers tienen que hacer adivinaciones más calculadas sobre la contraseña y no pueden confiar en el uso de la fuerza bruta para cada posibilidad.

执行流程的顺序

Nota: Si el atacante sabe que la longitud de la contraseña es tan corta que no tardará mucho en hackear el espacio clave con fuerza bruta, no es necesario tomar pasos de ataque incrementales.

Línea de tiempo

La eficiencia del tiempo se convierte en un factor clave para el descifrado exitoso de contraseñas. Aunque sería bueno cubrir todo el espacio crítico de la contraseña del usuario, el tiempo necesario para hacerlo a menudo no es factible. Por lo tanto, al hackear, es importante intentar primero el ataque que más ahorra tiempo y, si no tiene éxito, continuar con un ataque criptográfico más lento que cubre más espacio clave. El método más rápido es un ataque de diccionario simple basado en contraseñas de usuario comunes y volques de contraseñas anteriores. A partir de ahí, debería tratar de manipular el diccionario para añadir números o símbolos al final o cambiar las letras. Esto se llama ataque híbrido o ataque basado en reglas. A continuación, puede intentar generar posibles contraseñas utilizando funciones de aprendizaje automático. La cadena de Markov es un buen ejemplo. Al combinar elementos comunes presentes en inglés para formar palabras (por ejemplo, "ing", "er", "qu"), se puede generar una buena adivinación de una contraseña, como la siguiente. Aunque es fácil descifrar esta contraseña específica con cualquier método, para simplificar todos los vectores de ataque, usaremos esta contraseña. Contraseña1234Contraseña1234

Pa +   ss   +   Word   +   1234

Finalmente, los ataques de brute fuerza dirigidos (llamados ataques de máscara) cubren todo el espacio clave de una contraseña dada basándose en una estructura criptográfica. Por "estructura" de una contraseña me refiero al tipo y orden de caracteres utilizados para crearla. Por ejemplo, una "estructura" con letras mayúsculas, seguida de 7 letras minúsculas, seguidas de 4 dígitos (denotados como). Contraseña1234ULLLLLLLDDDD

Letras minúsculas, letras mayúsculas, símbolos, números (l) (u) (s) (d)

Por lo tanto, si un atacante decide utilizar esta estructura para crear todas las posibilidades de una combinación de caracteres, él o ella eventualmente encontrará la contraseña. Entonces la pregunta del atacante se convierte en: ¿qué estructura debe apuntarse primero al atacar un conjunto de hash? Contraseña1234

Análisis estadístico

Para ayudar a responder a esta pregunta, hice un análisis estadístico de los volques de contraseñas populares para ver si existe una estructura de contraseña más común que otras y hasta qué punto esta estructura es correcta. El tamaño de muestra de más de 34 millones de contraseñas expuestas públicamente incluye famosos volques de contraseñas como RockYou, LinkedIn, phpBB, etc.

 

La siguiente figura muestra la frecuencia de la estructura de máscara para cada máscara única. La línea roja indica la línea del 50%, que aparece después de la máscara 13 más frecuente.


从示例图派生的密码掩码

Esto significa que las primeras 13 estructuras de máscara únicas representan el 50% de las contraseñas de muestra. Las estructuras de más de 20 millones de contraseñas en la muestra se encuentran en las primeras 13 máscaras. Estos resultados son bastante alarmantes en términos de la universalidad de las contraseñas estructuradas. El otro 50% está presente dentro de la larga cola derecha, que se ha reducido en este gráfico. De hecho, de las 260.500 máscaras únicas, solo 400 se muestran en esta figura. Este concepto de cifrado estructurado universal es increíble; Sin embargo, esto no es sorprendente cuando se piensa en cómo los usuarios crean y recuerdan sus contraseñas. A partir de los datos del análisis, hay algunos factores lógicos que ayudan a explicar cómo esto es posible. Cuando se le pide a un usuario que proporcione una contraseña que contiene letras mayúsculas, se utiliza como el primer carácter más del 90% de las veces. Cuando se les pide que utilicen números, la mayoría de los usuarios añaden dos dígitos al final de su contraseña (probablemente el año de graduación). La siguiente opción más popular es cerrar la contraseña con cuatro dígitos (probablemente el año anterior o este). En este caso, el siguiente número más popular tiene un número al final y tres al final. Las comunidades estructurales tales permiten a los atacantes predecir cuál es la estructura más probable de la contraseña del usuario.

Mezcla estadística – aceleración

Con este conocimiento estructural, es seguro suponer que es muy probable que los usuarios establezcan sus contraseñas en than (letras aleatorias), incluso si ambas comienzan con 9 letras y tienen 9 letras. Por lo tanto, supongamos que dada una estructura cifrado, si vemos letras consecutivas, es probable que sea una palabra. Esta es una hipótesis muy útil para crackers, ya que elimina una gran cantidad de espacio clave. Esto luego se convierte en un ataque híbrido que aprovecha la significancia estadística de una estructura criptográfica universal. potatoespwivwdhpp

Limitaciones de eficiencia y tiempo

Por lo general, como probadores de penetración, incluso si rompamos un conjunto de hash, es posible que no tengamos tiempo para descifrar todos los hash. Sin embargo, corromperlos puede ayudar a actualizar el acceso al sistema y llevar a descubrimientos más útiles para los clientes. Por lo tanto, al descifrar una contraseña, puede ser útil determinar cuánto tiempo se asignará para descifrar un conjunto de valores hash. Usando las estructuras encontradas en el análisis anterior, un atacante puede determinar las 10 principales estructuras populares que desea cubrir en función de los requisitos de complejidad de la contraseña ordenados por el tiempo de finalización más rápido. Finalmente, un atacante puede imponer un límite de tiempo a su método al realizar el crack en no más de una hora. Esto fue descubierto durante una prueba de penetración reciente para obtener hash. A continuación se muestra una instantánea de los resultados de cracker basado en CPU.

受损结果表

En este caso, la estructura más rápida de completar es la que definimos como una letra mayúscula seguida de tres letras minúsculas ("W" para "palabra") y luego de cuatro dígitos. Hay 69 contraseñas que coinciden con la estructura en el conjunto de hash, y mi CPU estándar es capaz de recorrer todas las posibilidades de la estructura en un minuto. Dejamos de hackear a los 62 minutos y el hackeo generó 221 hash de hackeo únicos que coincidieron con 491 cuentas, lo que resultó en un total de 11% de filtraciones. La razón de la gran diferencia en el número de contraseñas descifradas y filtraciones de cuentas es que la configuración de Office tiende a llevar a las personas a usar contraseñas comunes. Si un atacante determina que se está utilizando una contraseña genérica en el entorno, todos los usuarios con la misma contraseña también estarán amenazados. U (W3) dddd

Aunque los ataques híbridos o basados en reglas (por ejemplo) pueden descifrar varias de estas contraseñas más rápidamente, la estructura de las contraseñas de ataque nos permite cubrir más espacio clave. Este método es un siguiente paso válido si se demuestra que el ataque Faster no puede destruir con éxito el hash objetivo. Además, es importante recordar que este ejemplo se hizo en una CPU bastante mediocre, y que realizar el mismo ataque en una potente GPU puede reducir este tiempo a unos segundos. Por lo tanto, el momento exacto es menos importante que la ejecución efectiva de la teoría. best64

El análisis estadístico de

nos ayuda a atacar estructuras de contraseñas comunes en general; Sin embargo, hay algunas herramientas que pueden ayudar a localizar aplicaciones específicas. Herramientas como CeWL   pueden rastrear palabras de páginas web y utilizarlas para generar listas de palabras o diccionarios específicos para empresas. Funciona porque las empresas tienden a usar contraseñas relacionadas con su industria, empresa o trabajo. Además, dado que hemos determinado que las contraseñas de uso común son populares en el entorno de trabajo, también es posible utilizar contraseñas que ya han sido descifradas como base para otras contraseñas, que podrían ser similares. Por ejemplo, si descubrimos que "" es la contraseña de un usuario, podemos poner "" en una nueva lista de palabras, ponerla en el conjunto de reglas y descubrir que alguien más tiene la contraseña "". Este concepto de usar palabras básicas descifradas (como ' ') y modificarlas con los caracteres circundantes funciona muy bien al descifrar valores hash vertidos desde el entorno empresarial, que se remonta al concepto de reutilización de contraseñas. Según las pruebas de penetración que hemos realizado, esto es lo más adecuado para descifrar el último 20% de hash sin descifrar. AcmeCorp1234AcmeCorpAcmeCorp@2015AcmeCorp

También es importante recortar el diccionario para que todas las contraseñas adivinadas cumplan con los requisitos establecidos por la aplicación, de modo que no se pierda tiempo adivinando contraseñas que no se pueden adivinar debido a su longitud o composición de caracteres.

Ponerlo juntos

Comenzando con el ataque más rápido, cubriendo el menor espacio clave (ataque de diccionario estándar) hasta el espacio clave más lento y máximo (fuerza bruta pura) es el progreso más ideal para considerar el tiempo asignado a un ataque. Por lo tanto, los atacantes deberían implementar un enfoque estándar que tenga esto en cuenta. Si la cuenta que el atacante quiere hackear se completa en la primera fase, entonces puede que no haya razón para continuar con otros ataques; Sin embargo, en muchos casos, un simple ataque de diccionario puede no ser suficiente si existen cuentas de destino, o el atacante simplemente quiere comprometer tantas cuentas como sea posible, por lo que puede ser necesario utilizar ataques híbridos estructurados estadísticamente y ataques de bruta fuerza dirigida. Por lo tanto, es esencial establecer métodos para hackear con éxito, que pueden incluir los métodos mencionados anteriormente, así como algunos procesos automatizados. Las herramientas más recientes (como   PRINCE) pueden ayudar a facilitar el descifrado de contraseñas. Es importante desarrollar una correa de herramientas, por ejemplo, PRINCE para probar en el método, pero comprender las funciones detrás de las herramientas, en lugar de depender completamente de ellas, hará que el cracking sea más eficiente.

Defensa – Cómo combatir las estadísticas

Mediante el análisis utilizando estas contraseñas, es posible identificar las estructuras más populares, dado el nivel de complejidad requerido. Por lo tanto, los desarrolladores probablemente deberían implementar algunos controles para evitar que los usuarios utilicen algunas de estas estructuras muy populares para aplanar la curva del gráfico anterior. Sin embargo, el problema con esta idea es que sin una estructura simple, los usuarios pueden encontrar dificultades para recordar sus contraseñas. Recomiendo usar un administrador de contraseñas que requiera autenticación doble. Estas aplicaciones generarán y almacenarán todas sus contraseñas para usted, por lo que la memoria no es un problema. Las contraseñas que generan son estructuralmente aleatorias y se pueden usar siempre que la aplicación lo permita. Como he mencionado anteriormente, las contraseñas criptográficas son otra forma muy eficaz de frenar las perspectivas de desarrollo de los atacantes. Por último, implementar estrategias dentro de la oficina que ayuden a los usuarios a comprender los peligros de compartir o reutilizar contraseñas es un paso exitoso en la dirección correcta, incluso si los usuarios no siempre cumplen. Aunque es muy probable que no se cumplan siempre, es un control eficaz.

Conclusiones y ganancias

Descifrado de contraseñas puede ser un concepto vago. A medida que la dificultad de descifrado aumenta, se necesitan ataques específicos basados en la eficiencia y se deben establecer métodos individuales de descifrado. No vale la pena invertir dinero para, en última instancia, aumentar la velocidad de generación de hash. Por lo tanto, el uso de estadísticas y herramientas como medio de ataque para implementar un método y procesos simplificados puede facilitar el descifrado de contraseñas. Los desarrolladores pueden desarrollar controles para hacer frente a esta situación y los usuarios pueden utilizar un administrador de contraseñas seguro para minimizar la efectividad de estos ataques; Sin embargo, tales implementaciones no son muy populares. Actualmente, los ataques estadísticos contra contraseñas son efectivos tanto en términos de número de descifrados como de eficiencia de conexión temporal. Piensa en tu propia contraseña y pregúntate qué tan rápido se pueden descifrar dependiendo de la estructura de la contraseña y qué controles dentro de tu oficina podrían hacer que un atacante invadiera la cuenta de un usuario.

Siguiente artículo:Hashcat es conocido como la herramienta de descifrado de contraseñas más rápida del mundo. ¿Cómo usar Hashcat para descifrar contraseñas?
Siguiente artículo:Tutorial sobre el uso de software de descifrado profesional para descifrar contraseñas en formatos Exlce, Word, PDF y paquetes comprimidos en su propia computadora.
  • Centrarse en Word, Excel, PPT, PDF, RAR, ZIP, 7Z, paquetes comprimidos, desbloqueo y descifrado de archivos cifrados de Office
  • Proporcionamos a los usuarios recuperación de contraseña de paquete comprimido de archivos de alta calidad, recuperación de contraseña de palabra de desbloqueo de PDF
  • Derechos de autor © Document Password Recovery Master Plataforma de descifrado en línea