CARGANDO

Escribe para buscar

Seguridad en el dominio II. NTLM

¿Qué es eso de NTLM?

Es posible que a algunos no os suenen estas cuatro letras y a muchos os sean especialmente familiares. NTLM es uno de los conjuntos de protocolos que son usados para la autenticación entre clientes y servidores en red. Fue desarrollado por Microsoft como evolución de LM, y adoptado como estándar hace ya unos años en los sistemas Windows, y como todo, el tiempo va dejando obsoletas casi todas las tecnologías.

¿Cómo funciona?

NTLM (o NT LAN) utiliza un mecanismo de desafío/respuesta para la autenticación entre el cliente y el servidor, esto es:

1.- El cliente envía al servidor un nombre de usuario

2.- El servidor, como respuesta, envía un desafío al cliente en forma de numero aleatorio

3.- Según el procedimiento, el cliente crea hash a partir del numero aleatorio y la contraseña del nombre del usuario. Este hash es enviado de vuelta al servidor.

4.- De forma equivalente, el servidor realiza esta misma acción, crea el hash a partir del numero aleatorio y la contraseña del usuario que tiene registrada.

5.- Ambos valores son comparados. Si son iguales la autenticación se dará como satisfactoria y, en caso contrario, se rechazara la conexión.

(Si no lo habéis visto, en esta entrada del blog hablamos de criptografía. Tiene un poquito de relación no? 😉 )

Inconvenientes y soluciones

Como se ha comentado, NTLM tiene ya unos añitos, y acumula una serie de vulnerabilidades según su construcción base como,

  • Creación de hash mediante MD4, lo que es bastante inseguro
  • El hash se guarda en memoria sin “salt” antes de ser enviado
  • Debido al desafío que se tiene que realizar, se expone la contraseña a un descifrado fuera de línea

Debido a estas vulnerabilidades, apareció NTLMv2 como evolución y solución de algunos de estos problemas, incluyendo características como un hashing mas fuerte o un timestamp en el desafío. Aun así, esta segunda versión no tiene porque ser utilizada por defecto, por lo que será necesario configurarlo manualmente.

Restringir NTLMv2 en el dominio

La configuración por defecto en un dominio basado en Active Directory permite la autenticación de LM y NTLM, considerándose este un fallo grave. Por suerte, es fácilmente configurable mediante GPOs.

Por ello, se puede crear una política de dominio en la ubicación,

Configuración de equipo > Configuración de Windows > Configuración de seguridad > Directivas locales > Opciones de seguridad > Seguridad de red: nivel de autenticación LAN Manager

Tambien tenemos la opción de modificar este valor mediante el registro de Windows. De esta forma, en la ruta,

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lsa

Creamos (o modificamos si ya está disponible) una entrada DWORD llamada “LmCompatibilityLevel” y la establecemos en valor 5.

Ah, hola 👋
Un placer conocerte.

Veo que te gusta la tecnología, ¿quieres que te mandemos una newsletter semanal?.

Acepto la política de privacidad *

¡No enviamos spam!. yo también lo odio a muerte!.

Tags:

Deja un Comentario

Your email address will not be published. Required fields are marked *