6 - NetNTLM
La Familia de Protocolos NTLM
NTLM utiliza un modelo de "Desafío-Respuesta" (Challenge-Response). En este modelo, el servidor envía un desafío aleatorio al cliente, y el cliente debe responder cifrando ese desafío con su hash de contraseña.
Es importante destacar que LM y NTLM son nombres de los algoritmos de hash (la forma en que se guarda la clave), mientras que NTLMv1 y NTLMv2 son los protocolos de autenticación que utilizan esos hashes.
La Distinción Crítica: Algoritmo de Hash vs. Protocolo de Red
Es frecuente encontrar confusión en la terminología de Windows debido a que las mismas siglas se utilizan en contextos diferentes. Para comprender la seguridad de estos sistemas, es fundamental separar el método de almacenamiento del método de transmisión, el hash del protocolo.
El Hash (LM y NTLM): El Almacenamiento de la Credencial
Cuando se habla de LM (LAN Manager) o NTLM (NT LAN Manager) en el contexto de "Hash", se hace referencia exclusivamente a la criptografía estática. Es el formato en el que el sistema operativo guarda la contraseña del usuario en la base de datos de seguridad (SAM o Active Directory).
El sistema nunca almacena la contraseña en texto plano. En su lugar, aplica un algoritmo matemático a la contraseña para convertirla en una cadena de caracteres única (el hash). Por tanto, el hash LM o el hash NTLM son simplemente la representación digital de la clave guardada en el disco duro.
El Protocolo (NTLMv1 y NTLMv2): El Proceso de Autenticación
Por otro lado, NTLMv1 y NTLMv2 son protocolos de comunicación de red. Definen las reglas y los pasos que deben seguir el cliente y el servidor para validar una identidad a través del cable de red.
Estos protocolos son el "lenguaje" que utilizan las máquinas para conversar. Su función es transportar la prueba de identidad desde el usuario hasta el servidor de forma segura, utilizando un mecanismo de desafío y respuesta.
Para entender mas a fondo cada parte del método NTLM recomiendo leer el siguiente articulo:
La Relación entre Ambos
La clave para entender la diferencia de cada elemento radica en cómo interactúan: el protocolo (el proceso dinámico) utiliza el hash (el dato estático) como materia prima para realizar sus cálculos.
Cuando un usuario se autentica utilizando el protocolo moderno NTLMv2, el sistema toma el Hash NTLM almacenado y lo utiliza para resolver el desafío matemático que envía el servidor. De esta forma, aunque el protocolo de transporte ha evolucionado para ser más seguro (pasando de v1 a v2), la base fundamental que valida la operación sigue siendo el hash criptográfico almacenado previamente.
El flujo se visualizaría de la siguiente manera:
Pass-through Authentication
El siguiente diagrama muestra el proceso de autenticación mediante el mecanismo de "Desafío-Respuesta" (NTLMv1 y NTLMv2). Este escenario es muy común cuando un servidor (como el Mail Server en la imagen) necesita autenticar a un usuario de dominio, pero no tiene la contraseña del usuario almacenada localmente. Por lo tanto, debe consultar al Controlador de Dominio (Domain Controller).

1. Negociación (Type 1 Message)
AUTHENTICATION_REQ.
Detalle Técnico: El cliente inicia la conexión enviando un mensaje
NEGOTIATE_MESSAGE.El cliente dice: "Hola, quiero autenticarme" y envía una lista de sus capacidades (por ejemplo, si soporta cifrado de 128 bits, si soporta Unicode, la versión de NTLM, etc.).
En este punto, no se envía ni el usuario ni la contraseña.
2. El Desafío del Servidor (Type 2 Message)
NTLM CHALLENGE_MESSAGE.
Detalle Técnico: El servidor de correo responde con un
CHALLENGE_MESSAGE.El servidor genera un número aleatorio de 64 bits (8 bytes) llamado Nonce (o "Server Challenge").
Este número es crucial porque asegura que cada autenticación sea única y previene ataques de repetición (replay attacks) básicos.
3. La Respuesta del Cliente (Type 3 Message)
NTLM HASH + CHALLENGE = RESPONSE y NTLM RESPONSE_MESSAGE.
Detalle Técnico: Aquí ocurre la criptografía en el lado del cliente:
El cliente toma la contraseña del usuario y genera un Hash NTLM (usualmente MD4 en versiones antiguas o HMAC-MD5 en NTLMv2).
El cliente usa ese Hash para cifrar el Nonce (el desafío) que recibió del servidor.
El resultado de esa operación es la Respuesta (Response).
El cliente envía el mensaje
AUTHENTICATE_MESSAGEque contiene: El nombre de usuario, el nombre del dominio y la Respuesta calculada. La contraseña nunca viaja por la red.
4. Validación mediante Netlogon (Pass-through)
SEND CHALLENGE + RESPONSE
Detalle Técnico:
Como el Mail Server no conoce la contraseña del usuario, no puede verificar si la respuesta es correcta por sí mismo.
El servidor toma tres datos: El Usuario, el Desafío original (que él mismo generó en el paso 2) y la Respuesta del cliente (del paso 3).
Envía estos datos al Controlador de Dominio (DC) a través del servicio Netlogon.
5. Verificación en el Controlador de Dominio
NTLM HASH + CHALLENGE = RESPONSE
Detalle Técnico:
El DC busca al usuario en su base de datos (SAM o NTDS.dit) y recupera el Hash NTLM almacenado de ese usuario.
El DC realiza la misma operación matemática que hizo el cliente: Toma el Hash almacenado y cifra el Desafío original que le pasó el servidor de correo.
El DC compara su resultado con la Respuesta del cliente.
Si coinciden: Significa que el cliente tiene la contraseña correcta.
Si no coinciden: La autenticación falla.
6. Resultado Final
ALLOW / DENY AUTHENTICATION.
Detalle Técnico:
El DC informa al servidor de correo si la validación fue exitosa (
NETLOGON_VALIDATION_SAM_INFO).Finalmente, el servidor de correo permite o deniega el acceso al cliente.
Existe una diferencia entre NTLMv1 y NTLMv2 que no es visible en la imagen, sino que ocurre matemáticamente dentro del NTLM RESPONSE_MESSAGE ("Calculo de la Respuesta").
En NTLMv1, la respuesta se calcula usando algoritmos más antiguos y débiles (MD4 y DES).
En NTLMv2, la respuesta utiliza algoritmos más robustos (HMAC-MD5) y agrega información de tiempo para evitar ataques, pero el "dibujo" del proceso sigue siendo el mismo.
Aquí tienes las respuestas detalladas para cada una de tus preguntas, manteniendo el enfoque conceptual y el formato solicitado.
Versión del protocolo en la imagen
La imagen refleja la estructura genérica del protocolo, por lo que el esquema es válido tanto para NTLMv1 como para NTLMv2.
A nivel visual y de flujo de mensajes (pasos 1 al 6), ambas versiones funcionan exactamente igual: negociación, desafío y respuesta. La diferencia real no es visible en las flechas, sino que ocurre matemáticamente dentro del paso 3 ("Calculo de la Respuesta").
En NTLMv1, la respuesta se calcula usando algoritmos más antiguos y débiles (MD4 y DES).
En NTLMv2, la respuesta utiliza algoritmos más robustos (HMAC-MD5) y agrega información de tiempo para evitar ataques, pero el "dibujo" del proceso sigue siendo el mismo.
Tipo de cifrado en NTLM
NTLM es un proceso basado puramente en cifrado simétrico.
El concepto clave aquí es el "secreto compartido". Para que la validación funcione, tanto el Cliente (quien se quiere autenticar) como el Controlador de Dominio (quien verifica) deben tener exactamente la misma información de base: el hash de la contraseña del usuario. Si fuera asimétrico, utilizarían un par de claves (pública y privada), como ocurre en los certificados digitales. En NTLM, la seguridad depende totalmente de que ambas partes conozcan el mismo secreto (la contraseña) de antemano
Seguridad y Desacoplamiento de Credenciales
La ventaja crítica de Kerberos sobre NTLM reside en el desacoplamiento. Kerberos separa las credenciales del usuario de sus solicitudes a los recursos. Al acceder a un sitio interno de SharePoint, por ejemplo, el servidor web nunca interactúa con la contraseña real, solo con el ticket.
Por el contrario, los protocolos NTLM heredados son más susceptibles a ataques de interceptación y fuerza bruta porque dependen de intercambios constantes que pueden ser capturados si no están debidamente asegurados. Por ello, aunque NTLM sigue presente por compatibilidad, Kerberos es el estándar moderno robusto para la gestión de identidades en red.
Comparación de protocolos hash
Hash / Protocolo
Técnica Criptográfica
Autenticación Mutua
Tipo de Mensaje
Tercero de Confianza
NTLM
Criptografía de clave simétrica
No
Número aleatorio
Controlador de dominio
NTLMv1
Criptografía de clave simétrica
No
Hash MD4, número aleatorio
Controlador de dominio
NTLMv2
Criptografía de clave simétrica
No
Hash MD4, número aleatorio
Controlador de dominio
Kerberos
Criptografía de clave simétrica y asimétrica
Sí
Ticket cifrado mediante DES, MD5
Controlador de dominio / KDC
Last updated