La autenticación basada en formularios sobre TLS validada y adecuada es el camino moderno para la autenticación de aplicaciones web que requieren capacidades que no sean SSO (inicio de sesión único) (por ejemplo, SAML, OpenID, OAuth2, FIDO, etc.).
La autenticación NTLM solo se utiliza en redes heredadas. Microsoft ya no lo activa de manera predeterminada desde IIS 7. Dominios de Microsoft y / o Bosques con Windows Server 2012 R2 nivel funcional ni siquiera admite la autenticación NTLM de forma predeterminada. Por lo tanto, su uso está contraindicado.
La autenticación de texto claro, por ejemplo, a través de HTTP / TLS HTTP, comprometerá las credenciales de la aplicación web, independientemente de cuán sólida sea la autenticación NTLM (u otra autenticación), principalmente debido a Man-in-the Middle (MITM), pero también por muchos otros motivos de recopilación de credenciales (consulte net-creds o PCredz herramientas).
Si desea ver cómo se ve NTLM en el cable (escenario MITM opcional), eche un vistazo a este publicación de blog que establece lo siguiente:
La diferencia esencial entre NTLM y NTLMv2 es cómo se calcula la respuesta. NTLM usa MD4 y DES de una manera débil que es bien conocida (5 bytes NULL yada yada yada yada); NTLMv2 usa HMAC-MD5 basado en algo más que la contraseña y el desafío, que es donde entra el "blob". Así que eso está cubierto del "desafío", "HMAC-MD5" y "blob" que falta en el hash de John Estoy teniendo que construir desde cero.
El autor luego muestra un mensaje HTTP con la herramienta Wireshark.
En algunos escenarios, creo que es posible revertir el protocolo NTLM exacto que se está utilizando simplemente conectándose a un servidor web de autenticación HTTP-NTLM.
Como se ve en el libro, Evaluación de seguridad de red, 3ª edición:
root@kali:~# telnet 192.168.0.10 80
Trying 192.168.0.10...
Connected to 192.168.0.10.
Escape character is '^]'.
GET / HTTP/1.1
Host: iis-server
Authorization: Negotiate TlRMTVNTUAABAAAAB4IAoAAAAAAAAAAAAAAAAAAAAAA
HTTP/1.1 401 Access Denied
Server: Microsoft-IIS/5.0
Date: Mon, 09 Jul 2007 19:03:51 GMT
WWW-Authenticate: Negotiate TlRMTVNTUAACAAAADgAOADAAAAAFgoGg9IrB7KA92AQAAAAAAAAAAGAAYAA+AAAAVwBJAEQARwBFAFQAUwACAA4AVwBJAEQARwBFAFQAUwABAAgATQBBAFIAUwAEABYAdwBpAGQAZwBlAHQAcwAuAGMAbwBtAAMAIABtAGEAcgBzAC4AdwBpAGQAZwBlAHQAcwAuAGMAbwBtAAAAAAA=
Content-Length: 4033
Content-Type: text/html
Al decodificar los datos, se revelan las siguientes cadenas:
NTLMSSP0
WIDGETS
MARS
widgets.com
mars.widgets.com
Para comprender esas variables y una mayor autenticación NTLM basada en HTTP, consulte los recursos aquí: enlace - así como en la presentación anterior sobre la autenticación NTLMv2 de craqueo - enlace (para los diferentes elementos internos del proveedor NTLM SSP)