Abusando de ACLs/ACEs do Active Directory
Reading time: 5 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao đŹ grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter đŠ @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositĂłrios do github.
VisĂŁo Geral
Contas de Serviço Gerenciadas Delegadas (dMSAs) sĂŁo um novo tipo de principal do AD introduzido com Windows Server 2025. Elas foram projetadas para substituir contas de serviço legadas, permitindo uma âmigraçãoâ com um clique que copia automaticamente os Nomes de Principal de Serviço (SPNs), associaçÔes de grupo, configuraçÔes de delegação e atĂ© mesmo chaves criptogrĂĄficas da conta antiga para a nova dMSA, proporcionando uma transição suave para as aplicaçÔes e eliminando o risco de Kerberoasting.
Pesquisadores da Akamai descobriram que um Ășnico atributo â msDSâManagedAccountPrecededByLink
â informa ao KDC qual conta legada uma dMSA âsucedeâ. Se um atacante puder escrever esse atributo (e alternar msDSâDelegatedMSAState
ââŻ2), o KDC construirĂĄ felizmente um PAC que herda todos os SIDs da vĂtima escolhida, permitindo efetivamente que a dMSA se passe por qualquer usuĂĄrio, incluindo Administradores de DomĂnio.
O que exatamente Ă© uma dMSA?
- ConstruĂda sobre a tecnologia gMSA, mas armazenada como a nova classe AD
msDSâDelegatedManagedServiceAccount
. - Suporta uma migração opt-in: chamar
StartâADServiceAccountMigration
vincula a dMSA Ă conta legada, concede Ă conta legada acesso de gravação amsDSâGroupMSAMembership
e alteramsDSâDelegatedMSAState
âŻ=âŻ1. - ApĂłs
CompleteâADServiceAccountMigration
, a conta substituĂda Ă© desativada e a dMSA se torna totalmente funcional; qualquer host que anteriormente usou a conta legada Ă© automaticamente autorizado a obter a senha da dMSA. - Durante a autenticação, o KDC incorpora uma dica KERBâSUPERSEDEDâBYâUSER para que clientes Windows 11/24H2 tentem novamente de forma transparente com a dMSA.
Requisitos para atacar
- Pelo menos um Windows Server 2025 DC para que a classe LDAP dMSA e a lĂłgica KDC existam.
- Quaisquer direitos de criação de objeto ou gravação de atributo em uma OU (qualquer OU) â por exemplo,
Create msDSâDelegatedManagedServiceAccount
ou simplesmente Create All Child Objects. A Akamai descobriu que 91% dos inquilinos do mundo real concedem tais permissĂ”es âbenignasâ de OU a nĂŁo administradores. - Capacidade de executar ferramentas (PowerShell/Rubeus) de qualquer host associado ao domĂnio para solicitar tickets Kerberos. Nenhum controle sobre o usuĂĄrio vĂtima Ă© necessĂĄrio; o ataque nunca toca a conta alvo diretamente.
Passo a passo: escalonamento de privilégios BadSuccessor
- Localize ou crie uma dMSA que vocĂȘ controla
NewâADServiceAccount Attacker_dMSA `
âDNSHostName ad.lab `
âPath "OU=temp,DC=lab,DC=local"
Como vocĂȘ criou o objeto dentro de uma OU que pode gravar, vocĂȘ possui automaticamente todos os seus atributos.
- Simule uma âmigração concluĂdaâ em duas gravaçÔes LDAP:
- Defina
msDSâManagedAccountPrecededByLink = DN
de qualquer vĂtima (por exemplo,CN=Administrator,CN=Users,DC=lab,DC=local
). - Defina
msDSâDelegatedMSAState = 2
(migração concluĂda).
Ferramentas como SetâADComputer, ldapmodify, ou atĂ© mesmo ADSI Edit funcionam; nĂŁo sĂŁo necessĂĄrios direitos de administrador de domĂnio.
- Solicite um TGT para a dMSA â Rubeus suporta a flag
/dmsa
:
Rubeus.exe asktgs /targetuser:attacker_dmsa$ /service:krbtgt/aka.test /dmsa /opsec /nowrap /ptt /ticket:<Machine TGT>
O PAC retornado agora contĂ©m o SID 500 (Administrador) alĂ©m dos grupos Administradores de DomĂnio/Administradores de Empresa.
Coletar todas as senhas dos usuĂĄrios
Durante migraçÔes legĂtimas, o KDC deve permitir que a nova dMSA decifre tickets emitidos para a conta antiga antes da transição. Para evitar quebrar sessĂ”es ativas, ele coloca tanto as chaves atuais quanto as chaves anteriores dentro de um novo blob ASN.1 chamado KERBâDMSAâKEYâPACKAGE
.
Como nossa migração falsa afirma que a dMSA sucede a vĂtima, o KDC copia diligentemente a chave RC4âHMAC da vĂtima para a lista de chaves anteriores â mesmo que a dMSA nunca tenha tido uma senha âanteriorâ. Essa chave RC4 nĂŁo Ă© salteada, portanto, Ă© efetivamente o hash NT da vĂtima, dando ao atacante capacidade de cracking offline ou âpass-the-hashâ.
Portanto, vincular em massa milhares de usuĂĄrios permite que um atacante despeje hashes âem escalaâ, transformando BadSuccessor em um primitivo de escalonamento de privilĂ©gios e comprometimento de credenciais.
Ferramentas
- https://github.com/akamai/BadSuccessor
- https://github.com/logangoins/SharpSuccessor
- https://github.com/LuemmelSec/Pentest-Tools-Collection/blob/main/tools/ActiveDirectory/BadSuccessor.ps1
ReferĂȘncias
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o HackTricks
- Confira os planos de assinatura!
- Junte-se ao đŹ grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter đŠ @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositĂłrios do github.