Seguridad en Active Directory: LM, NTLM y Kerberos ¿Cuál es mejor?

Si quieres proteger tu red de intrusos maliciosos, necesitas configurar un protocolo de autenticación seguro para tu Active Directory. Pero ¿cuál es el mejor? ¿LM, NTLM o Kerberos? En esta entrada vemos cuál de los tres protocolos es mejor y por qué deberías utilizarlo.

Antes de empezar, si quieres saber de antemano si tu organización está en peligro pásate por la siguiente entrada, donde te indico cómo hacerlo:

POR SI ACASO TE LO PERDISTE…

Ahora vamos con la literatura 🙂

LOS CULPABLES: lm y ntlm

El talón de Aquiles de toda infraestructura basada en Active Directory (AD) es el uso de protocolos de autenticación de red obsoletos. Por defecto, Windows Server tiene activados, por motivos de retrocompatibilidad, a dos protocolos inseguros y es labor de la organización desactivarlos. Querido lector, te presento a los responsables de este problema de ciberseguridad: LM y NTLM.

LAN MANAGER

Por un lado, tenemos el protocolo LAN Manager (LM) el más viejo de los dos y su funcionamiento se basa en un algoritmo que convierte la contraseña del usuario en una cadena hash de 16 caracteres. Este viejo conocido es un protocolo de autenticación que fue introducido en 1990 con el lanzamiento de Windows NT 3.1 y que fue utilizado como el protocolo de autenticación de red predeterminado para Windows hasta finales de los 2000.

EL principal problema que presenta este protocolo es que utiliza un cifrado de clave simétrica muy débil en la actualidad para proteger las contraseñas de los usuarios, lo que lo hace vulnerable a los ataques de fuerza bruta y otros tipos de ataques de contraseña. Además, LM no soporta caracteres no ASCII ni contraseñas mayores de 14 caracteres. Por estas razones, LM se considera obsoleto y no se recomienda su uso.

NTLM

Por otro lado, tenemos a NTLM (NT LAN Manager) que es la evolución a LM y por tanto su sustituto natural. NTLM por tanto se utilizó también para autenticar usuarios y compartir recursos en una red dentro de los, prácticamente extintos, servicios de directorio de Windows NT 4.0. NTLM utiliza un algoritmo de hash más fuerte (MD4) y un mecanismo de desafío-respuesta que evita el envío de la contraseña en texto plano. Antes de seguir, permíteme que te haga un inciso para comentarte que el hash MD4 que usa NTLM ya está obsoleto y superado a día de hoy, de hecho, hay pequeños desarrollos gratuitos en los que podemos hacer colisiones a propósito con algoritmos MD4 y MD5. Volviendo a NTLM, quisiera añadir también que soporta caracteres no ASCII y contraseñas de cualquier longitud. Sin embargo, NTLM sigue siendo vulnerable a ataques de retransmisión, captura de hashes y cracking offline. Además, NTLM no ofrece cifrado ni integridad de los datos. Es, por lo tanto, otra tecnología superada para autenticar usuarios y un vector de ataque muy suculento para los ciberdelincuentes.

La principal diferencia entre NTLM y LM es que NTLM utiliza un cifrado más seguro y una mayor complejidad en el proceso de autenticación en comparación con LM: Mientras que LM utiliza un cifrado de clave simétrica débil para proteger las contraseñas de los usuarios, NTLM utiliza un cifrado de clave pública y privada más seguro para autenticar las contraseñas.

Como habrás notado, ambos protocolos convivieron y permanecieron como predeterminados hasta la aparición del estándar Kerberos, integrado en Windows 2000.

Existe una evolución del protocolo NTLM, una versión mejorada donde los hashes son más fuertes, que es NTLMv2. De ser posible, lo mejor es que fuerces el uso de NTLMv2 (puedes hacerlo en la entrada que te muestro al principio). Aun así, existe una mejor solución que además es la que recomienda Microsoft para autenticar usuarios y compartir recursos en red.

KERBEROS ES LA SOLUCIÓN DESDE HACE MÁS DE 20 AÑOS…

Con el nacimiento de Windows 2000, Microsoft introduce su tecnología Active Directory o Directorio Activo (AD), ofreciendo a las organizaciones una solución de directorio más escalable, distribuida y basada en estándares, que permitía a los administradores de red gestionar usuarios y recursos de manera centralizada en una jerarquía de dominios y árboles de dominio. Esta nueva tecnología trajo consigo un nuevo protocolo de autenticación: Kerberos. Que mejora por mucho las deficiencias de NTLM y LM, e incluso a NTLMv2.

Kerberos es una tecnología diseñada por la prestigiosa y popular universidad Massachusetts Institute of Technology (MIT) a finales del siglo pasado. Microsoft implementó su propia versión de Kerberos con Windows 2000 dotando así a su nueva versión de Windows de un protocolo de autenticación de red puntero y seguro.

Kerberos es el protocolo más avanzado y seguro de los tres. Su funcionamiento se basa en un sistema de tickets que usa criptografía simétrica y asimétrica. Este protocolo requiere la existencia de un servidor central llamado KDC (Key Distribution Center) que emite los tickets a los usuarios y los servidores después de verificar sus credenciales. Los tickets contienen información cifrada sobre la identidad y el tiempo de validez de las partes. Kerberos ofrece autenticación mutua, cifrado e integridad de los datos, y previene los ataques de retransmisión y captura de hashes. El principal inconveniente de Kerberos es su complejidad y dependencia del KDC.

Como sabes Microsoft es una empresa que destaca, entre otros valores, por mantener la retrocompatibilidad, prácticamente total, con todos sus sistemas antiguos. Esto provoca que los administradores de sistemas tengan multitud de opciones configuradas por defecto, que deben ajustar a mano para solventar las posibles deficiencias de seguridad creadas por esta política. ¡Ojo! no estoy diciendo que la retrocompatibilidad sea mala, es más, ¡estoy a favor! Y hay casos en los que te encuentras con sistemas heredados en los que no tienes más remedio que operar con ellos. Lo que quiero decir, es que el uso de estos protocolos antiguos y débiles, crea un vector de ataque del cual un atacante malintencionado podría explotar si tiene acceso a la infraestructura en cuestión. Y muchas veces, las empresas no tienen conocimiento de estar explotando sistemas con esta amenaza.

Cuando realizas una instalación limpia o heredas la configuración de una máquina antigua, NTLM está activado por defecto. Es por ello que el uso de NTLM sea muy frecuente en las organizaciones y representa un objetivo común y habitual de los atacantes. Estos ataques pueden permitir que un atacante obtenga acceso no autorizado en el AD, con el peligro que esto conlleva: tomar el control de toda la organización.