
Si bien las contraseñas siguen siendo la primera línea de defensa para proteger las cuentas de los usuarios contra el acceso no autorizado, los métodos para crear contraseñas seguras y protegerlas están evolucionando continuamente. Por ejemplo, Recomendaciones de contraseña de NIST ahora están priorizando la longitud de la contraseña sobre la complejidad. El hashing, sin embargo, sigue siendo un no negociable. Incluso las frases de contraseña largas y seguras deben estar hash para evitar que estén completamente expuestos en caso de que una violación de datos, y nunca se almacenen en texto sin formato.
Este artículo examina cómo los atacantes cibernéticos de hoy intentan descifrar las contraseñas de hash, explora los algoritmos de hash comunes y sus limitaciones, y analiza las medidas que puede tomar para proteger sus contraseñas hash, independientemente de qué algoritmo esté utilizando.
Técnicas de agrietamiento de contraseña moderna
Los actores maliciosos tienen una variedad de herramientas y métodos a su disposición para descifrar las contraseñas de hash. Algunos de los métodos más utilizados incluyen ataques de fuerza bruta, ataques de diccionario de contraseña, ataques híbridos y ataques de máscaras.
Ataques de fuerza bruta
A ataque de fuerza bruta implica intentos excesivos y de error contundentes para obtener acceso a la cuenta. Los actores maliciosos emplean herramientas especializadas para probar sistemáticamente las variaciones de contraseña hasta que se descubra una combinación de trabajo. Aunque poco sofisticados, los ataques de fuerza bruta son altamente efectivos utilizando un software de agrietamiento de contraseña y hardware informático de alta potencia, como unidades de procesamiento de gráficos (GPU).
Ataque de diccionario de contraseña
Como su nombre lo indica, un ataque de diccionario de contraseña dibuja sistemáticamente las palabras de un diccionario a las variaciones de contraseña de fuerza bruta hasta encontrar una combinación de trabajo. El contenido del diccionario puede contener todas las palabras comunes, listas de palabras específicas y combinaciones de palabras, así como derivados de palabras y permutaciones con caracteres alfanuméricos y no alfanuméricos (por ejemplo, sustituir un “A” con “@”). Los ataques de diccionario de contraseña también pueden contener contraseñas previamente filtradas o frases clave expuestas en violaciones de datos.
Ataques híbridos
A Ataque de contraseña híbrida Combina la fuerza bruta con métodos basados en diccionario para lograr una mejor agilidad y eficacia de ataque. Por ejemplo, un actor malicioso puede usar una lista de palabras de diccionario de credenciales de uso común con técnicas que integran combinaciones de caracteres numéricos y no alfanuméricos.
Ataques de máscaras
En algunos casos, los actores maliciosos pueden conocer patrones de contraseña específicos o parámetros/requisitos. Este conocimiento les permite usar ataques de máscara para reducir el número de iteraciones e intentos en sus esfuerzos de agrietamiento. Los ataques de máscaras usan la fuerza bruta para verificar los intentos de contraseña que coinciden con un patrón específico (por ejemplo, ocho caracteres, comienzan con una letra mayúscula y terminan con un número o carácter especial).
Cómo los algoritmos de hash protegen contra los métodos de agrietamiento
Los algoritmos de hash son un pilar en una gran cantidad de aplicaciones de seguridad, desde monitoreo de integridad de archivos hasta firmas digitales y almacenamiento de contraseñas. Y aunque no es un método de seguridad infalible, el hashing es mucho mejor que almacenar contraseñas en texto sin formato. Con las contraseñas de hash, puede asegurarse de que incluso si los atacantes cibernéticos obtienen acceso a las bases de datos de contraseña, no pueden leerlas o explotarlas fácilmente.
Por diseño, el hash obstaculiza significativamente la capacidad de un atacante para descifrar las contraseñas, actuando como un elemento disuasorio crítico haciendo que el tiempo de contraseña sea el tiempo y los recursos que es probable que los atacantes cambien su enfoque a objetivos más fáciles.
¿Pueden los hackers descifrar los algoritmos de hash?
Debido a que los algoritmos de hash son funciones unidireccionales, el único método para comprometer las contraseñas de hash es a través de técnicas de fuerza bruta. Los atacantes cibernéticos emplean hardware especial como GPU y software de agrietamiento (por ejemplo, hashcat, l0phtcrack, John the Ripper) para ejecutar ataques de fuerza bruta a escala, típicamente millones o miles de millones o combinaciones a la vez.
Incluso con estas sofisticadas herramientas de craqueo especialmente diseñadas, los tiempos de descifrado de contraseña pueden variar dramáticamente dependiendo del algoritmo de hash de hash utilizado y la longitud de la contraseña/combinación de caracteres. Por ejemplo, las contraseñas largas y complejas pueden tardar miles de años en romper, mientras que las contraseñas cortas y simples se pueden descifrar de inmediato.
Los siguientes puntos de referencia de agrietamiento fueron encontrados por Especificaciones en investigadores sobre una GPU NVIDIA RTX 4090 y utilizaron software hashcat.
MD5
Una vez considerado un algoritmo de hash de fuerza industrial, MD5 ahora se considera criptográficamente deficiente debido a sus diversas vulnerabilidades de seguridad; Dicho esto, sigue siendo uno de los algoritmos de hash más utilizados. Por ejemplo, el popular CMS WordPress todavía usa MD5 por defecto; Esto representa aproximadamente 43.7% de sitios web con CMS.
Con GPU y software de agrietamiento fácilmente disponibles, los atacantes pueden descifrar instantáneamente contraseñas numéricas de 13 caracteres o menos aseguradas por el hash de 128 bits de MD5; Por otro lado, una contraseña de 11 caracteres que consiste en números, caracteres mayúsculas/minúsculas y símbolos tomarían 26.5 mil años.
SHA256
El Algoritmo de hash de SHA256 Pertenece al grupo de funciones de hash del algoritmo hash seguro 2 (SHA-2) diseñados por la Agencia de Seguridad Nacional (NSA) y publicado por el Instituto Nacional de Normas y Tecnología (NIST). Como actualización del algoritmo SHA-1 defectuoso, SHA256 se considera un algoritmo robusto y altamente seguro adecuado para las aplicaciones de seguridad de hoy.
Cuando se usa con contraseñas largas y complejas, SHA256 es casi impenetrable utilizando métodos de fuerza bruta: una contraseña hash de 11 caracteres SHA256 utilizando números, caracteres superiores/minúsculas y símbolos tardan 2052 años en agrietarse usando GPU y software de agrietamiento. Sin embargo, los atacantes pueden descifrar instantáneamente nueve contraseñas con moldes de SHA256 que consisten en solo caracteres numéricos o minúsculas.
Bcrypt
Los expertos en seguridad consideran que tanto SHA256 como BCrypt como algoritmos de hashing suficientemente fuertes para aplicaciones de seguridad modernas. Sin embargo, a diferencia de SHA256, BCrypt refuerza su mecanismo de hashing al emplear saling, agregando un dato aleatorio a cada hash de contraseña para garantizar la singularidad, Bcrypt hace que las contraseñas sean altamente resistentes contra el diccionario o los intentos de la fuerza bruta. Además, BCRYPT emplea un factor de costo que determina el número de iteraciones para ejecutar el algoritmo.
Esta combinación de sal y factorización de costos hace que Bcrypt sea extremadamente resistente al diccionario y los ataques de fuerza bruta. Un atacante cibernético que usa GPU y software de agrietamiento tomaría 27,154 años para romperse Una contraseña de ocho caracteres que consta de números, letras mayúsculas/minúsculas y símbolos hash por BCRYPT. Sin embargo, las contraseñas BCrypt numéricas o solo en minúsculas son triviales para romper, tomando entre una cuestión de horas y unos segundos para comprometerse.
¿Cómo se ven los hackers algoritmos de hash?
Independientemente del algoritmo de hash, la vulnerabilidad común son las contraseñas cortas y simples. Las contraseñas largas y complejas que incorporan números, letras mayúsculas y minúsculas, y símbolos son la fórmula ideal para la fuerza y la resistencia de la contraseña. Sin embargo, la reutilización de contraseña sigue siendo un problema importante; Solo una contraseña compartida, sin importar cuán fuerte, almacenada en texto sin formato en un sitio web o servicio mal asegurado, puede dar a los ciber atacantes acceso a cuentas sensibles.
En consecuencia, es más probable que los atacantes cibernéticos obtengan credenciales violadas y listas de contraseñas expuestas de la web oscura en lugar de intentar descifrar contraseñas largas y complejas aseguradas con algoritmos de hashing modernos. Romper una contraseña larga con BCRYPT es prácticamente imposible, incluso con hardware y software especialmente diseñados. Pero usar una contraseña comprometida conocida es instantánea y efectiva.
Para proteger a su organización contra contraseñas violadas, Política de contraseña de especificaciones Escanea continuamente su activo directorio contra una base de datos creciente de más de 4 mil millones de contraseñas comprometidas únicas. Póngase en contacto para una prueba gratuita.


