
Monitora ataques DCSYNC e DCSHADOW e cria Eventos Personalizados do Windows para esses eventos.
Esta ferramenta é um aplicativo/serviço que pode ser implantado em controladores de domínio para alertar sobre tentativas de sincronização do Controlador de Domínio. Quando uma tentativa é detectada, a ferramenta grava um evento no Log de Eventos do Windows. Esses eventos podem ser correlacionados em um SIEM. Além disso, esta ferramenta pode aceitar uma lista de IPs de DC válidos e, nessa configuração, alertar apenas quando uma tentativa de DC SYNC vier de um IP que não seja de DC. Esta ferramenta tem como objetivo fornecer às Equipes Azuis uma maneira de combater ataques DC SYNC e DC SHADOW sem ferramentas comerciais como Microsoft ATA ou IDS/IPS sofisticados.
Breve vídeo no Youtube: https://www.youtube.com/watch?v=oLND9QZfaJc
Para instalar esta ferramenta, você pode usar os binários pré-construídos ou compilar a ferramenta você mesmo. O link para os binários pré-construídos está aqui:
Serviço 32 bits: https://github.com/shellster/DCSYNCMonitor/raw/master/Release/DCSYNCMONITORSERVICE.exe
Serviço 64 bits: https://github.com/shellster/DCSYNCMonitor/raw/master/x64/Release/DCSYNCMONITORSERVICE.exe
Você precisará ter o Winpcap ou o Npcap instalado em seu controlador de domínio. O Winpcap deve funcionar, mas não é recomendado, pois os métodos de captura de pacotes não são tão eficientes ou completos quanto o NPcap. Esta ferramenta foi testada apenas brevemente com o Winpcap.
Para instalar o Npcap, baixe o instalador daqui: https://nmap.org/npcap/
Você deve garantir que as seguintes opções estejam marcadas:
Após a instalação, você precisará reiniciar o controlador de domínio.
O Npcap não instala as DLLs da biblioteca de suporte no caminho de pesquisa de DLLs do Sistema, então você precisará executar as seguintes tarefas após a instalação:
copy "%WINDIR%\System32\Npcap\*.dll" "%WINDIR%\System32\"
#Se aplicável (Serviço de 32 bits em sistema de 64 bits):
copy "%WINDIR%\SYSWOW64\Npcap\*.dll" "%WINDIR%\SYSWOW64\"
nota: Se a etapa anterior não for concluída, você receberá erros sobre wpcap.dll ou Packet.dll ausentes ao tentar executar a ferramenta.
Agora copie o DCSYNCMONITOR.EXE deste projeto para um local apropriado. Recomendamos %WINDIR%\SYSTEM32 para sistemas de 32 bits ou sistemas de 64 bits com um serviço de 64 bits, ou %WINDIR%\SYSWOW64 se você estiver usando o serviço de 32 bits em um sistema de 64 bits.
A ferramenta agora pode ser executada. No entanto, você pode executá-la de duas maneiras:
Neste modo, a ferramenta gravará um evento de Aviso DCSYNCALERT no Log de Eventos do Aplicativo do Windows sempre que um novo IP (não visto nos últimos cinco minutos) tentar realizar um DC SYNC contra o controlador de domínio. Isso incluirá atividades legítimas de sincronização entre controladores de domínio.
Um arquivo de configuração chamado "dc_ip_list.conf" pode ser colocado no mesmo diretório da ferramenta. Se este arquivo existir, ele deve conter um endereço IPv4 (ou IPv6 na forma longa) por linha. A ferramenta ingerirá esta lista na inicialização. Neste modo, nenhum evento será gravado para tentativas de DC Sync provenientes de endereços IP correspondentes. No entanto, se uma tentativa de DC Sync ocorrer de qualquer outro endereço IP, um evento de Erro DCSYNCALERT será gravado no Log de Eventos do Aplicativo do Windows.
nota As alterações no arquivo dc_ip_list.conf não terão efeito até que o serviço seja parado e reiniciado.
A maneira usual de usar esta ferramenta é instalá-la como um serviço. Depois que a ferramenta estiver na pasta correta, isso pode ser facilmente realizado executando:
DCMONITORSERVICE.exe -install
Depois de instalar o serviço, você precisará iniciá-lo manualmente no menu Services.msc ou usando comandos net ou sc apropriados. Ele será iniciado automaticamente em reinicializações futuras.
Caso precise desinstalar o serviço, execute o seguinte comando:
DCMONITORSERVICE.exe -remove
Finalmente, para executar a ferramenta no modo autônomo, sem instalar um serviço (especialmente útil para depuração):
DCMONITORSERVICE.exe -standalone
Eventos de Aviso DC SYNC ocorrem quando não há lista de IPs de DC válidos fornecida, ou quando um DC SYNC ocorre a partir de um IP de DC válido:

Eventos de Erro DC SYNC ocorrem quando uma lista de IPs de DC válidos é fornecida e um DC SYNC ocorre a partir de qualquer outro endereço IP:

Você precisará do Visual Studio 2015 ou posterior. A edição Community (gratuita) é perfeitamente aceitável. Depois de abrir o projeto, você deve ser capaz de construir imediatamente as versões Dev e Release tanto para 32 bits quanto para 64 bits. As edições Debug não devem ser implantadas em ambiente de produção. Elas exibem muitas informações de erro e depuração, incluindo despejos de pacotes TCP (se você descomentar a linha seguinte no arquivo monitor.cpp):
#ifdef _DEBUG
//debug_print("TCP SRC IP: %s\nData:\n", tcppacket.source_ip.address.c_str());
//print_payload((const u_char *)tcppacket.data, tcppacket.data_length);
#endif
As versões Release são muito menores e removem automaticamente as declarações de depuração.
Esta ferramenta possui as seguintes limitações conhecidas:
Esta ferramenta é fornecida sob a Licença MIT (Veja LICENSE)
Ferramenta escrita por Shelby Spencer:
A FusionX generosamente me forneceu tempo para atualizar e refinar esta ferramenta, bem como uma plataforma para anunciá-la. No entanto, este projeto é de propriedade e desenvolvimento exclusivos meus.
Sugestões, feedback e PRs são todos bem-vindos e incentivados.