Lectura de contraseñas gMSA
Una gMSA (Group Managed Service Account) es una cuenta de servicio cuya contraseña gestiona y rota Active Directory de forma automática. Esa contraseña vive en el atributo msDS-ManagedPassword del objeto, y AD deja leerla a los principales listados en msDS-GroupMSAMembership. Si comprometemos uno de esos principales (o una ACL nos deja escribir ese atributo), podemos recuperar el blob, derivar el hash NT de la cuenta y usarla, a menudo con privilegios altos.
BloodHound marca esta relación con la arista ReadGMSAPassword. La extracción es directa:
python3 gMSADumper.py -u <user> -p <pass> -d <domain> -l <dc-ip>
netexec ldap <dc> -u <user> -p <pass> --gmsaLa salida entrega el hash NT de la cuenta gMSA$, listo para Pass-the-Hash o para un Kerberoasting si además tiene SPN. Desde Windows, Get-ADServiceAccount con -Properties msDS-ManagedPassword y las utilidades de DSInternals (ConvertFrom-ADManagedPasswordBlob) hacen lo mismo.
Cómo detectarlo. La firma es una lectura LDAP del atributo msDS-ManagedPassword por un principal que no es el servicio esperado (evento 4662 sobre el objeto gMSA con la propiedad de la contraseña), y consultas LDAP a msDS-GroupMSAMembership. Correlacionar con un uso posterior de la cuenta gMSA$ desde un host inusual delata el abuso.
Defensa. Restringir msDS-GroupMSAMembership solo a los hosts que ejecutan el servicio, auditar quién puede leer msDS-ManagedPassword, y vigilar las membresías de grupos que otorgan esa lectura de forma transitiva. Es un caso de abuso de ACL detectado por BloodHound y alimenta la caza de credenciales en el dominio.