De acuerdo con el artículo de Wikipedia sobre NTLM aquí: enlace
... en la descripción NTLMv2 menciona que
NTLMv2 envía dos respuestas a un desafío de servidor de 8 bytes
Básicamente, de acuerdo con el artículo, la respuesta de NTLMv2 se convierte en esto:
SC = 8-byte server challenge, random
CC = 8-byte client challenge, random
CC* = (X, time, CC2, domain name)
v2-Hash = HMAC-MD5(NT-Hash, user name, domain name)
LMv2 = HMAC-MD5(v2-Hash, SC, CC)
NTv2 = HMAC-MD5(v2-Hash, SC, CC*)
response = LMv2 | CC | NTv2 | CC*
Estoy tratando de entender los desafíos de seguridad de NTLMv2 y lo difícil que sería para un atacante que capture la respuesta anterior de NTLMv2 mediante el rastreo de la red, para forzarla a que acceda a la contraseña.
Dado que el hash incluye el desafío de servidor aleatorio (SC), ya lo hace difícil. Pero supongamos que el atacante ha estado olfateando y ya había capturado el SC cuando el servidor lo envió al cliente.
El atacante también debe poder ver el desafío del cliente (CC & CC *) de la respuesta como
respuesta = LMv2 | CC | NTv2 | CC *
¿verdad? .. por lo tanto, ¿esto significa que el atacante puede tener una oportunidad justa para forzar la aplicación de los hashes NTV2 o LMV2 incluidos en la respuesta, dado que la siguiente información está con ellos ahora?
- SC (Server Challenge)
- CC & CC *
- respuesta
- nombre de usuario, nombre de dominio (fácilmente adquirido por un atacante que ya está en la red)
¿Es esta la forma correcta de entenderlo?
Muchas gracias