Protección Avanzada de Credenciais: Credential Guard e Mimikatz
En contornas de Active Directory, o roubo de credenciais é unha das ameazas máis graves, xa que permite a un atacante moverse lateralmente pola rede e escalar privilexios. Ferramentas como Mimikatz fixeron estas técnicas accesibles. Para combatelo, Microsoft desenvolveu solucións robustas como Credential Guard e Remote Credential Guard.
1. A Ameaza: Que é Mimikatz?
Definición e Obxectivo:
Mimikatz é unha potente ferramenta de post-explotación creada polo investigador de seguridade Benjamin Delpy. O seu obxectivo principal é extraer credenciais (contrasinais en texto plano, hashes, tíckets Kerberos) directamente da memoria dun sistema Windows, principalmente do proceso lsass.exe (Local Security Authority Subsystem Service).
Aínda que é fundamental para auditores de seguridade, é igualmente perigosa en mans de atacantes.
Técnicas Principais:
A súa función máis coñecida é sekurlsa::logonpasswords, que permite a un atacante con privilexios de administrador no equipo local obter as credenciais de todos os usuarios que iniciaron sesión. Con estas credenciais, pode realizar ataques devastadores como Pass-the-Hash (usar o hash NTLM para autenticarse noutros sistemas) ou Pass-the-Ticket (usar un tícket Kerberos roubado).
2. A Defensa: Credential Guard e Remote Credential Guard
Ambas son características de seguridade deseñadas especificamente para neutralizar o roubo de credenciais.
Credential Guard: Protección Local
- Para que serve? Protexe as credenciais (hashes de contrasinal e tíckets de Kerberos) que están almacenadas na memoria do ordenador local.
- Como funciona? Usa a Seguridade Baseada en Virtualización (VBS) para crear unha "caixa forte" virtual e illada. O proceso que xestiona as credenciais (LSASS) divídese en dous: a parte principal segue sendo visible para o sistema operativo, pero a parte que contén os segredos (
LsaIso.exe) execútase nesta contorna protexida, inaccesible incluso para un administrador ou o propio kernel do sistema. - Obxectivo: Mitigar ataques como Pass-the-Hash e Pass-the-Ticket ao facer imposible que ferramentas como Mimikatz poidan ler os segredos da memoria de LSASS.
Remote Credential Guard: Protección en Sesións Remotas
- Para que serve? Protexe as credenciais durante as sesións de Escritorio Remoto (RDP).
- Como funciona? Evita que as túas credenciais viaxen a través da rede e se almacenen na memoria do servidor remoto ao que te conectas. A autenticación xestiónase dende o teu equipo local mediante solicitudes de Kerberos, proporcionando unha experiencia de Single Sign-On (SSO) sen expoñer os teus segredos no destino.
- Obxectivo: Impedir que un atacante roube as túas credenciais se o servidor ao que te conectas por RDP está comprometido.
3. Mimikatz en Acción: Exemplos Prácticos
Para executar os seguintes comandos, un atacante primeiro necesitaría privilexios de administrador e logo executaría o comando privilege::debug en Mimikatz para poder interactuar co proceso LSASS.
Escenario 1: Sen Credential Guard Activado (Ataque Exitoso)
O atacante gañou acceso a unha estación de traballo e executa Mimikatz para roubar as credenciais dos administradores que iniciaron sesión nela.
Comando:
Resultado (Exemplo): Mimikatz le a memoria de LSASS sen restricións e mostra os segredos.
Authentication Id : 0 ; 99181
Session : Interactive from 1
User Name : meuadmin
Domain : O_MEU_DOMINIO
Logon Server : DC01
Logon Time : 13/11/2025 10:30:15
SID : S-1-5-21-123456-789012-1111-500
[msv1_0]
msv:
[00000003] Primary
* Username : meuadmin
* Domain : O_MEU_DOMINIO
* NTLM : 8846f7eaee8fb117ad06bdd830b7586c <-- ATAQUE EXITOSO! Hash NTLM roubado.
* SHA1 : 92c8d2c67624c810a5611844b68a183510522122
[kerberos]
kerberos:
* Username : meuadmin
* Domain : O_MEU_DOMINIO
* Password : (null)
8846f7ea...), o atacante pode usar Pass-the-Hash para autenticarse noutros servidores como se fose meuadmin.
Escenario 2: Con Credential Guard Activado (Ataque Fracasado)
O mesmo atacante tenta o mesmo ataque nun equipo protexido con Credential Guard.
Comando:
Resultado (Exemplo): Mimikatz aínda pode ver as sesións iniciadas, pero cando intenta ler os segredos, estes xa non están aí.
Authentication Id : 0 ; 102436
Session : Interactive from 1
User Name : meuadmin
Domain : O_MEU_DOMINIO
Logon Server : DC01
Logon Time : 13/11/2025 11:00:45
SID : S-1-5-21-123456-789012-1111-500
[msv1_0]
msv:
[00000003] Primary
* Username : meuadmin
* Domain : O_MEU_DOMINIO
* NTLM : *NA* (Credentials delegated to LSAISO) <-- ATAQUE FRACASADO!
* SHA1 : *NA* (Credentials delegated to LSAISO)
[kerberos]
kerberos:
* Username : meuadmin
* Domain : O_MEU_DOMINIO
* Password : *NA* (Credentials delegated to LSAISO)
*NA* (Credentials delegated to LSAISO) é a proba de que Credential Guard está funcionando. Mimikatz non pode acceder aos hashes nin aos tíckets porque foron movidos á contorna virtual illada (LsaIso.exe), deixando ao atacante sen nada que roubar.
En conclusión, Credential Guard e Remote Credential Guard son defensas directas e esenciais contra as técnicas de roubo de credenciais, inutilizando de forma efectiva as funcións máis perigosas de ferramentas como Mimikatz.