Un investigador de seguridad francés ha descubierto una falla de seguridad en el sistema operativo Windows que puede explotarse para obligar a las máquinas Windows remotas a autenticarse y compartir sus hashes de contraseña con un atacante.
El problema, descubierto por Gilles Lionel (aka Topotam), un investigador de seguridad francés con sede en París, recibió el apodo de PetitPotam, y el código de prueba de concepto (PoC) se publicó a principios de esta semana en GitHub.
¿Qué son los ataques de retransmisión (relay) NTLM?
A pesar de sus muchas debilidades de seguridad, NTLM todavía es compatible con muchos sistemas y aplicaciones heredados. Más de 20 años después de la introducción del «reemplazo» natural de NTLM: Kerberos. La compatibilidad hacia atrás con los sistemas y aplicaciones heredados de Windows ha mantenido NTLM, agregando complejidad y debilidad a las implementaciones de Active Directory en particular.
En NTLM, se utiliza un protocolo de desafío-respuesta para la autenticación. Para cualquier solicitud de autenticación:
- NTLM establece un protocolo de enlace de tres vías durante la autenticación cliente-servidor con el cliente, estableciendo una ruta al servidor y negociando la autenticación.
- El servidor responde al mensaje de negociación del cliente con un desafío, pidiéndole al cliente que cifre una secuencia de caracteres usando un secreto que posee: un hash de su contraseña.
- El cliente envía una respuesta al servidor, que se pone en contacto con un servicio de autenticación de dominio alojado en un controlador de dominio para verificar la respuesta.
En un ataque de retransmisión (relay) NTLM, un atacante establece una posición entre el cliente y el servidor en la red e intercepta el tráfico de autenticación. Las solicitudes de autenticación del cliente son enviadas al servidor por el atacante, de manera similar, los desafíos se transmiten al cliente y las respuestas de autenticación válidas al desafío del cliente se envían de vuelta al servidor, lo que permite al atacante, en lugar del cliente, autenticarse utilizando los datos y credenciales del cliente.
En los ataques de relay, el cliente cree que está negociando con el servidor de destino al que desea autenticarse. Mientras tanto, el servidor cree que el atacante es un cliente legítimo que intenta autenticarse.
Este riesgo de ataques de relay se masificó en octubre de 2019, cuando Microsoft parcheó dos vulnerabilidades críticas en todas las versiones de NTLM. Los exploits exitosos podrían permitir a un atacante ejecutar código de forma remota en una máquina con Windows o moverse lateralmente en la red a sistemas críticos como servidores que alojan controladores de dominio.
Los investigadores descubrieron un método para forzar un controlador de dominio para autenticarse contra un relay de NTLM malicioso que luego reenvía la solicitud a los servicios de certificados de Active Directory a través de HTTP.
PetitPotam
PetitPotam es un ataque increíblemente poderoso. Dentro de las grandes redes corporativas, los atacantes podrían usarlo para obligar a los controladores de dominio a entregar sus contraseñas, lo que podría llevar a la toma total de control de la red interna de una empresa.
Según Lionel, el PetitPotam es posible cuando un atacante abusa de MS-EFSRPC, un protocolo que permite a las máquinas con Windows realizar operaciones con datos cifrados almacenados en sistemas remotos.
MS-EFSRPC es el protocolo de cifrado remoto del sistema de archivos de Microsoft y se utiliza para realizar «operaciones de mantenimiento y administración en los datos cifrados que se almacenan de forma remota y se accede a través de una red».
La PoC permite que un atacante envíe solicitudes SMB a la interfaz MS-EFSRPC de un sistema remoto y obligue a la computadora víctima a iniciar un procedimiento de autenticación y compartir su hash de autenticación NTLM. El script se puede usar para forzar un controlador de dominio para autenticarse contra un NTLM remoto bajo el control de un atacante utilizando la API MS-EFSRPC.
Luego, los atacantes pueden recopilar este hash y abusar de él de dos maneras, ya sea usándolo como parte de un ataque de retransmisión NTLM o guardando el hash y descifrándolo fuera de línea para obtener una versión en texto claro de la contraseña de la cuenta de la víctima.
Los investigadores de seguridad han sido rápidos para probar el PoC y su efectividad.
El investigador de seguridad y el creador de Mimikatz, Benjamin Delpy, también probó la nueva técnica, y creó un video demostrando cómo los actores de la amenaza pueden abusar de ella.
Además, las pruebas realizadas por Gilles y varios investigadores de seguridad han demostrado que la desactivación del soporte para MS-EFSRPC no impide que el ataque funcionara. Lionel dice que «no ve esto como una vulnerabilidad, sino más bien el abuso de una función legítima. Función que no debería usar la cuenta de la máquina para autenticarse».
Además de la autenticación SMB, este ataque podría utilizarse para realizar «NTLMV1 Downgrade y relaying en sistemas donde la cuenta de la máquina es el administrador local (SCCM, Exchange Server, por ejemplo)».
El ataque se ha probado contra los sistemas Windows 10, Windows Server 2016 y Windows Server 2019, pero los investigadores de seguridad creen que PetitPotam afecta a la mayoría de las versiones de Windows compatibles en la actualidad.
No se conocen mitigaciones que puedan detener este ataque y Lionel dice que detener el servicio EFS no impide que se explote. El investigador dice que la única forma de mitigar esta técnica es deshabilitar la autenticación de NTLM o permitir protecciones, como la firma de SMB, la firma de LDAP y la unión de canales.
«El problema con este tipo de ataque es que se necesitará una cantidad considerable de tiempo y consideraciones para desarrollar las contramedidas adecuadas», dijo Florian Roth, Jefe de Investigación de Nextron Systems. «Estos son defectos de diseño que son más difíciles de solucionar. Es mucho más fácil simplemente parchear una DLL de controlador de fuente vulnerable o una biblioteca de Internet Explorer», agregó Roth.
Con todo esto, Microsoft está pasando por una mala racha, en cuanto a seguridad. Este es el tercer problema importante de seguridad de Windows revelado durante el último mes después de las vulnerabilidades PrintNightmare y SeriousSAM (HiveNightmare).
El investigador Rémi Escourrou ha publicado un script PS para enumerar la «posible» (puede tener FP) configuración incorrecta de ADCS.
Mitigaciones
Hay una serie de mitigaciones y cambios que pueden eliminar el riesgo de ataques de retransmisión NTLM:
- Utilizar Kerberos: el paso más importante que pueden dar las organizaciones para eliminar la amenaza de los ataques de retransmisión NTLM es dejar de usarlo. Kerberos es el reemplazo preferido de Microsoft para NTLM desde el lanzamiento de la plataforma Windows 2000. A diferencia de NTLM, Kerberos utiliza la autenticación mutua entre el cliente y el servidor en lugar del desafío-respuesta de NTLM. Los clientes deben ser parte de un dominio y tener acceso a un controlador de dominio para intentar la autenticación. Con NTLM, los clientes se comunican con el servidor, que luego se comunica con el controlador de dominio. Kerberos existe en Windows Server y es más seguro que NTLM, que adolece de una serie de vulnerabilidades nativas, incluida la falta de autenticación del servidor y una criptografía débil, además de un rendimiento más lento en comparación con Kerberos.
- Configuraciones, parches y actualizaciones para mitigar los ataques de retransmisión:
- Activar firmas de SMB para mitigar los ataques de retransmisión NTLM
- Aplicar la firma LDAP y el enlace de canales LDAPS en los controladores de dominio.
- Habilitar la protección mejorada para la autenticación para mitigar los ataques de retransmisión NTLM en ADFS y servidores web
- Configurar ADFS y servidores web para aceptar solo solicitudes donde EPA esté activado
- Validar Kerberos y Active Directory: las tecnologías como Kerberos deben estar completamente monitoreadas para prevenir una amplia gama de otros ataques populares, incluidos los ataques Golden y Silver Ticket.
En otra investigación semejante, los investigadores Will Schroeder y Lee Christensen se han sumergido en la seguridad de los Servicios de certificados de Active Directory (AD CS). Si bien varios aspectos de Active Directory han recibido una atención exhaustiva desde una perspectiva de seguridad, los Servicios de Certificados de Active Directory se han pasado relativamente por alto. AD CS es la implementación de PKI de Microsoft que proporciona todo, desde sistemas de archivos cifrados, firmas digitales, autenticación de usuarios y mucho más. Esta investigación [PDF] será presentada en Black Hat 2021.