Autenticacion Net-NTLMv2 y tipos de hashes
LM Hashes
Con los Hashes LM (Lan Manager) se guardaban las contraseñas en windows hasta Windows XP -Windows server 2003, aunque se lo puede activar en versiones posteriores por temas de compatibilidad. Es un algoritmo muy inseguro debido a lo fácil que es crackearlo ya que se puede aplicar fuerza bruta a una mitad de la contraseña.
NT Hash (NTLM)
Este es el hash utilizado actualmente para guardar las contraseñas en Windows, es el hash que se puede utilizar para realizar pass the hash. Es simplemente la contraseña pasada a un formato MD4.
Protocolo de Autenticación Net-NTLMv2 (NTLMv2)
Es un protocolo de autenticación utilizado en entornos Windows, permitiendo a un cliente demostrar su identidad ante un servidor. Esta autenticación puede ser de dos tipos:
En la que el servidor tiene almacenada la contraseña del usuario para realizar la validación.
En la que las credenciales están almacenadas en un controlador de dominio al cual el servidor le va a pedir que haga la autenticación.
Pero en ambos casos la autenticacion se da con un desafio challenge/response:
El cliente envía un nombre de usuario al host.
El host responde con un número aleatorio, el desafío.
El cliente crea un valor hash a partir de ese número y la contraseña del usuario y lo devuelve como respuesta.
Del mismo modo, el host, que también conoce la contraseña, crea el valor hash y, a continuación, lo compara con la respuesta del cliente.
Si ambos valores coinciden, se confirma la autenticidad del cliente y se permite el acceso. Si no hay coincidencia, se bloquea al cliente.
Cuenta local -> Servidor
Cuando un cliente se autenticar, el servidor le mandará un desafio.
El cliente encriptará este desafío con su contraseña y se lo envía al servidor junto con su usuario.
El servidor buscará la contraseña hasheada en la base de datos SAM.
Y procederá a encriptar el desafío que le ha enviado al cliente que se quiere autenticar en el paso 1.
El servidor compara los desafíos encriptados, y si son iguales el cliente estará autenticado en el servidor.
Cuenta a nivel de dominio
Cuando un cliente se autenticar, el servidor le mandará un desafio.
El cliente encriptará el desafio, enviandoselo al servidor junto con su nombre de usuario y el nombre de dominio. Una vez el servidor tiene esta información, establece un canal seguro con el protocolo netlogon y le reenvía la información del cliente.
Ahora el servidor buscará en la base de datos NTDS.DIT la contraseña hasheada del usuario y encriptará el desafío del servidor.
Se hace la comparación del desafío encriptado por el cliente y el que realizó el controlador de dominio.
Si los desafíos encriptados se corresponden, el cliente estará autenticado.
Referencias
Last updated