RemoteMonologue: cómo hacer que Windows revele contraseñas — sin virus

RemoteMonologue: cómo hacer que Windows revele contraseñas — sin virus

¿Aún confías en tus sesiones? Mejor no lo hagas.

image

Los tiempos dorados en los que obtener credenciales mediante Mimikatz era pan comido están quedando atrás. Microsoft sigue reforzando la protección contra el robo de credenciales, y las soluciones EDR se vuelven cada vez más perspicaces. Por ello, los métodos habituales de las Red Team — desde el movimiento lateral en red hasta el trabajo con LSASS — despiertan sospechas con mayor frecuencia. Sin embargo, la creatividad de los investigadores no se agota: están recurriendo a técnicas menos evidentes, pero igualmente eficaces.

Uno de estos métodos es el uso de la tecnología COM y su versión distribuida, DCOM. Aunque estos mecanismos existen en Windows desde finales del siglo pasado, los ataques que los emplean siguen siendo poco comunes debido a la complejidad de su arquitectura. COM permite que las aplicaciones interactúen entre sí, y DCOM amplía esa interacción a través de la red. Bajo ciertas condiciones, pueden utilizarse para secuestrar sesiones y forzar la autenticación NTLM.

Un elemento clave es el parámetro RunAs, que determina con qué usuario se ejecutará un objeto DCOM. Especial interés tiene el valor "Interactive User", que permite que el objeto se ejecute en el contexto del usuario actualmente conectado. Si se modifica la entrada correspondiente en el registro, es posible “inyectar” un objeto DCOM que se ejecute en el contexto de otro usuario. Aunque los permisos de TrustedInstaller impiden cambios por defecto, un administrador local con el privilegio SeTakeOwnershipPrivilege puede eludir esta restricción.

Uno de los métodos descritos consiste en forzar la autenticación NTLM de un usuario sin necesidad de ejecutar archivos maliciosos. Este enfoque permite interceptar los hashes NTLM para intentar romperlos offline o retransmitirlos directamente a otros servicios como LDAP o SMB. Esto reduce las posibilidades de detección y evita el acceso a LSASS. Es especialmente eficaz cuando se emplea NTLMv1, cuya ruptura se acelera significativamente mediante tablas arcoíris públicas.

Uno de los objetos COM usados en estos ataques es ServerDataCollectorSet. Su método Extract permite especificar una ruta a un archivo CAB, incluso mediante una dirección UNC, lo que provoca autenticación en red. Si el objeto se ejecuta bajo otro usuario (gracias a RunAs modificado), se puede interceptar su hash. Un efecto similar se logra con el objeto FileSystemImage al cambiar el valor de la propiedad WorkingDirectory. Finalmente, UpdateSession demostró un comportamiento interesante: incluso cuando se lanza bajo un usuario, las operaciones en red se ejecutan bajo la cuenta SYSTEM.

Especialistas de IBM desarrollaron una herramienta que automatiza este proceso, permitiendo elegir objetos DCOM y activar el servicio WebClient para realizar autenticaciones HTTP. También permite forzar configuraciones del sistema para migrar a NTLMv1 y probar credenciales.

En cuanto a la defensa, se recomiendan varias medidas. Primero, habilitar la firma obligatoria en LDAP y SMB, y desactivar NTLMv1. Segundo, monitorear cambios en el registro relacionados con RunAs y LmCompatibilityLevel, así como el lanzamiento del servicio WebClient y el uso de ciertos objetos DCOM. Estas acciones ayudarán a detectar anomalías en las etapas tempranas.

Tu privacidad está muriendo lentamente, pero nosotros podemos salvarla

¡Únete a nosotros!