
The ADSyncDump BOF is a port of Dirk-Jan Mollema's adconnectdump.py / ADSyncDecrypt into a Beacon Object File (BOF) with zero dependencies.
O BOF ADSyncDump é uma adaptação do adconnectdump.py / ADSyncDecrypt de Dirkjan Mollema para um Beacon Object File (BOF) para uso com Cobalt Strike, Sliver e Havoc.
[!NOTE] A ferramenta foi testada em um Windows Server 2019 com Azure AD Connect versão
2.2.1.0. A versão de 32 bits do BOF não foi testada, mas eu a incluí por uma questão de completude. Use por sua conta e risco.
Para compilar o BOF, basta executar make no diretório que contém o código-fonte. Isso gerará as versões de 32 bits e 64 bits do BOF.
make
No Cobalt Strike, carregue o script adsyncdump.cna; para Sliver, use os comandos extension install e extension load para instalar o BOF. Após a instalação, mova-se lateralmente para o servidor AD Sync como NT AUTHORITY\SYSTEM e execute o comando adsyncdump:
beacon> adsyncdump


Este BOF surgiu há alguns anos durante um engagement, depois que me deparei com problemas relacionados ao fato de o script Python original ser intrusivo demais nos sistemas dos clientes, e tive dificuldade para fazer a versão .NET funcionar corretamente. Sendo assim, decidi fazer engenharia reversa das chamadas exatas da API Win32 usadas no processo de descriptografia no meu tempo livre e portá-lo para um BOF.
Originalmente, eu não planejava compartilhar este projeto porque sentia que fazer isso seria irresponsável, já que a conta ADSync possuía privilégios absurdos, e a detecção das ferramentas existentes não era boa. No entanto, desde então, os privilégios da conta ADSync foram severamente limitados pela Microsoft, tornando o impacto menos grave (ainda não é ótimo, mas pelo menos você não pode mais editar políticas de acesso condicional1).
Além disso, como outros pesquisadores já publicaram informações sobre o funcionamento interno do processo de descriptografia (muitos créditos ao Dr. Syynimaa2 e a Dirkjan Mollema3), e como a detecção se tornou mais difundida, agora me sinto mais confortável em compartilhar este BOF com o restante da comunidade (desculpem a demora).
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes. Não me responsabilizo por qualquer uso indevido ou danos causados pelo uso desta ferramenta. Utilize-a apenas em ambientes nos quais você tenha permissão explícita para fazê-lo.
https://raw.githubusercontent.com/paradoxis/adsyncdump-bof/HEAD/%3Chttps:/x.com/_dirkjan/status/1715263925971821008%3E ↩
https://raw.githubusercontent.com/paradoxis/adsyncdump-bof/HEAD/%3Chttps:/aadinternals.com/post/adsync/%3E ↩
https://raw.githubusercontent.com/paradoxis/adsyncdump-bof/HEAD/%3Chttps:/dirkjanm.io/updating-adconnectdump-a-journey-into-dpapi/%3E ↩