
Bypass de Credential Guard mediante parcheo de la memoria de Wdigest
Adam Chester (@xpn) escribió un artículo titulado "Exploring Mimikatz - Part 1 - WDigest" sobre el parcheo de memoria para habilitar UseLogonCredential y hacer que Wdigest almacene en caché credenciales en texto claro, lo que me intrigó.
El módulo wdigest.dll cargado por el proceso LSASS tiene dos variables globales interesantes: g_fParameter_useLogonCredential y g_IsCredGuardEnabled; su función es evidente por el propio nombre: la primera se utiliza para determinar si la contraseña en texto claro debe almacenarse en memoria, mientras que la segunda contiene el estado de Windows Defender Credential Guard dentro del módulo. El almacenamiento en caché de contraseñas en texto plano de Wdigest puede habilitarse en sistemas con Credential Guard parcheando los valores de estas dos variables globales en memoria.
Para un análisis más detallado, lee mi blog: "Revisiting a Credential Guard Bypass From Wdigest"
Ejecuta el POC que escribimos en el sistema con la protección de Credential Guard habilitada. Cuando el usuario vuelve a introducir el nombre de usuario y la contraseña para iniciar sesión, obtenemos de nuevo su contraseña en texto plano, como se muestra en la siguiente figura.
BypassCredGuard.exe

De hecho, ya en agosto de 2020, Team Hydra (@N4k3dTurtl3) publicó en su blog un artículo titulado "Bypassing Credential Guard" en el que analiza este truco tan ingenioso y sencillo y publica brevemente un CredGuard_PoC conceptual, pero no funciona en todos los sistemas Windows.
Team Hydra envió un informe a Microsoft sobre este problema y recibió la siguiente respuesta:
"Después de investigar este problema, no creemos que se trate de un bypass de Credential Guard. Credential Guard está diseñado para proteger las credenciales que se almacenan en caché mientras la función está habilitada. Si un usuario privilegiado deshabilita Credential Guard, la función no puede proteger los inicios de sesión posteriores. Actualizaremos nuestra documentación pública para aclarar este comportamiento"
Dada esta respuesta, sospecho que este será un método fiable para obtener credenciales en texto claro en sistemas con Credential Guard habilitado en un futuro previsible.