¿Las tablas de arco iris son una herramienta viable para romper hashes NTLMv2?

1

Fondo

No estoy seguro de la diferencia entre hashes NTLM y el protocolo NTLM , independientemente de la versión.

Mi entendimiento tentativo es que existe como un "hash NTLMv2", y que estos hash, sin sal, serían objetivos viables para ataques de precálculo usando rainbow tables .

Siendo así, me sorprendió encontrar que una búsqueda en la web de "NTLMv2 rainbow tables" no muestra las tablas de rainbow publicadas para NTLMv2. El Proyecto de Tabla Arcoiris Distribuida creó tablas arcoiris para NTLM pero no, hasta Puedo ver , para NTLMv2. Tampoco aparece, hizo su comunidad show mucho interés en generar tablas de arco iris NTLMv2. Quizás esto se deba a que las tablas de arco iris de NTLMv2 son más caras de computar , y nadie que haya invertido en generarlas tiene ¿Hasta ahora has estado dispuesto a publicar alguna?

Preguntas

¿Existe tal cosa como un "hash NTLMv2" y, de ser así, serían objetivos viables para los ataques de precálculo que usan tablas de arco iris? Si no es así, ¿es porque no existe el "hash NTLMv2" o porque existe, pero las tablas de arco iris no son ataques viables contra ellos?

    
pregunta sampablokuper 30.08.2016 - 15:53
fuente

3 respuestas

1

Al considerar el riesgo aplicable a los ataques de fuerza bruta contra las contraseñas de usuario en un entorno Windows, vale la pena considerar la naturaleza del compromiso que permitirá a un atacante capturar un hash.

Para un ataque que se basa en una captura de red de hash durante la autenticación del usuario, las tablas de arco iris no serán efectivas: el protocolo NTLMv2 proporciona los cálculos de hashing adicionales que introducen efectivamente una sal (como se describe en la respuesta anterior). >

Sin embargo, si un atacante puede extraer correctamente los hashes de contraseña de la base de datos SAM, esto no es cierto. Los 'hashes NT' almacenados no han tenido operaciones de hashing / salting adicionales aplicadas.

La siguiente cita es de este Artículo de Microsoft :

  

El hash de NT de la contraseña se calcula utilizando un algoritmo de hash MD4 sin sal. MD4 es una función unidireccional criptográfica que produce una representación matemática de una contraseña. Esta función de hashing está diseñada para producir siempre el mismo resultado desde la misma entrada de contraseña y para minimizar las colisiones donde dos contraseñas diferentes pueden producir el mismo resultado. Este hash siempre tiene la misma longitud y no se puede descifrar directamente para revelar la contraseña de texto sin formato. Debido a que el hash de NT solo cambia cuando cambia la contraseña, un hash de NT es válido para la autenticación hasta que se cambie la contraseña de un usuario.

     

Nota Para protegerse contra los ataques de fuerza bruta en los hashes NT o sistemas en línea, los usuarios que se autentican con contraseñas deben establecer contraseñas o frases de contraseña seguras que incluyan caracteres de varios conjuntos y sean tan largas como el usuario Se puede recordar fácilmente.

    
respondido por el R15 30.08.2016 - 18:13
fuente
2

NTLMv1 o NTLMv2 es un protocolo de autenticación de Windows Challenge-Response que se usa para autenticar usuarios en inicios de sesión interactivos y no interactivos. Los inicios de sesión interactivos y los inicios de sesión no interactivos se explican aquí

enlace y enlace

Los protocolos de autenticación NTLMv1 y NTLMv2 tienen vulnerabilidades como pasar el hash, la reflexión y los ataques de relevo, pero son inmunes a los ataques de Rainbow Tables.

NT Hash se conoce como función unidireccional de NT (NTOWF) en la documentación de MSDN en NTLMv1 y NTLMv2 y utiliza el algoritmo de hash MD4 o MD5 para obtener el hash de la contraseña del usuario. NTOWF utiliza algoritmos de hash MD4 o MD5 para calcular el hash a partir de la contraseña de un usuario. Los elementos hash de NT de todos los usuarios en un dominio de Windows se almacenan en el archivo ntds.dit en los controladores de dominio. Si bien el Hash de NT de la contraseña del usuario también puede recuperarse de las secciones de Security Account Manager (SAM) y SECURITY Registry de los sistemas Windows, se inicia sesión de forma interactiva.

NTLM a menudo se usa indistintamente para referirse al NTLM Challenge-Response Protocol y al NTOWF, que es la causa principal de esta confusión.

La falta de uso de la sal en el almacenamiento de la contraseña NTOWF de los usuarios en sistemas Windows o controladores de dominio lo hace vulnerable a los ataques de Rainbow Tables.

Aquí es cómo se ve la cadena "hashcat" como NTOWF y cuando se usa en NTLMv1 y NTLMv2. He tomado esto prestado de la página web de hashes de hashcat.

NTOWF b4b9b02e6f09a9bd760f388b67351e2b = > Esto permanece estático y se almacenará en un formato idéntico en el controlador de dominio o SAM hasta que se cambie la contraseña.

NTLMv2 admin :: N46iSNekpT: 08ca45b7d. Esta respuesta de autenticación cambiará incluso si la contraseña es "hashcat", ya que el desafío utilizado para calcular esta respuesta cambia cada vez que se negocia el protocolo de desafío-respuesta.

NTLMv1 u4-netntlm :: kNS: 338d08f8e26de93300000000000000000000000000000000: 9526fb8c23a90751cd619beccccccc5 Esta respuesta de autenticación cambiará incluso si la contraseña es "hashcat", ya que los desafíos utilizados para calcular esta respuesta cambian cada vez que se negocia el protocolo de desafío-respuesta.

Wikipedia tiene una buena reseña sobre cómo NTLMv1 y NTLMv2 autentican a los usuarios mediante el uso de sus contraseñas (también conocido como NTOWF) en "NT Lan Manager".

En caso de que tenga curiosidad sobre por qué NTLMv1 y NTLMv2, el anterior autentica al cliente en el servidor y no viceversa, mientras que el último autentica al cliente y al servidor entre sí.

    
respondido por el sh4ilesh 31.05.2017 - 21:00
fuente
1

A pesar de que los hashes NTLMv2 no tienen un verdadero valor de sal, sigue siendo el caso de que la contraseña por sí sola no es la única cosa que se hasheado. Desde tu enlace wiki:

  

Tanto LMv2 como NTv2 incluyen el desafío del cliente y el servidor con el hash NT de la contraseña del usuario y otra información de identificación. La fórmula exacta es comenzar con el hash NT, que se almacena en el SAM o AD, y continuar con el hash, usando HMAC-MD5, el nombre de usuario y el nombre de dominio.

En este caso, el nombre de usuario y el nombre de dominio actúan efectivamente como sal única.

Como tales, los hashes salados que son únicos no son vulnerables al ataque a través de tablas de arco iris.

    
respondido por el TTT 30.08.2016 - 16:22
fuente

Lea otras preguntas en las etiquetas