Parece que hay una presentación DEFCON donde el presentador ataca SSPI para obtener hashes de contraseña cuando no se pudieron usar todos los otros métodos:
- Léelo! ( PDF )
- ¡Véalo! ( Altavoz y diapositivas | Diapositivas de video )
- ¡Escúchalo! ( Audio m4b )
Anton Sapozhnikov también ha escrito un documento técnico sobre este tema, que está disponible en Github .
La vulnerabilidad explotada según el documento es la siguiente:
Microsoft ha desarrollado tantas interfaces diferentes para usuarios
Autentificación que tenemos para explotarlos de alguna manera.
Creamos una aplicación que usa SSPI para autenticar al usuario actual, no
en el otro sistema pero en el host del usuario.
SSPI permite llamar directamente a sus rutinas para obtener una solicitud / respuesta
mensajes Se supone que la aplicación en sí debería de alguna manera
transmita más mensajes, por ejemplo, a través de una red. Pero nuestra aplicación
No los pasará a través de la red. Todos los mensajes permanecerán en el
memoria de la aplicación.
Dependiendo de qué SSP seleccionado se transmitirán los mensajes transmitidos
diferente, así que si elegimos la aplicación NTLM transferiremos el
siguientes mensajes:
- NTLM_NEGOTIATE. El cliente envía un mensaje de Tipo 1 al servidor.
Esto contiene principalmente una lista de características soportadas por el cliente
y solicitado del servidor.
- NTLM_CHALLENGE. El servidor responde con un mensaje de tipo 2. Esta
contiene una lista de características admitidas y acordadas por el servidor.
Lo más importante, sin embargo, contiene un desafío generado por el
servidor.
- NTLM_AUTHENTICATE. El cliente responde al reto con un Tipo 3.
mensaje. Esto contiene varias piezas de información sobre el
cliente, incluido el dominio y el nombre de usuario del usuario cliente. Eso
también contiene una o más respuestas al desafío Tipo 2. [7]
Dado que todos los intercambios realizados en la memoria no hay necesidad de transferir
Cualquier dato sobre red e interceptarlo luego. Significa que nosotros no
Necesito privilegios de alto nivel. SSPI nos preparará Tipo 1, 2 y
3 mensajes que contendrán todos los datos de autenticación necesarios. Eso
Sólo queda por sacar datos de autenticación.
Para facilitar la implementación no modificamos los mensajes. Mejorar
ataque podríamos generarlos y forzar a SSPI a usar menos seguro
protocolo NTLMv1 en lugar de NTLMv2.
Cuando se recibe un desafío / respuesta, podemos ejecutar un ataque de fuerza bruta sobre ellos
y obtener la contraseña del usuario.
Debido a la amplia propagación de los ataques pass-the-hash, hay una tendencia a
Deshabilitación parcial o total de la familia de protocolos NTLM y la
transición a Kerberos, pero en este caso todavía tenemos un protocolo
Compendio definido en RFC 2617 y RFC 2069.
Como puede observar, Digest es dos veces más rápido que NTLMv2, lo que significa que
Podemos usarlo en lugar de NTLMv2 para realizar una fuerza bruta más efectiva
ataques.
Por lo tanto, sin ningún privilegio en el sistema, pudimos obtener un
Contraseña del usuario local. Entonces podemos usar la contraseña recuperada para
conectarse a servicios empresariales desde Internet, como Webmail,
VPN, Citrix y así sucesivamente.