
Monitora per attacchi DCSYNC e DCSHADOW e crea eventi di Windows personalizzati per questi eventi.
Questo strumento è un'applicazione/servizio che può essere distribuita sui controller di dominio per avvisare sui tentativi di sincronizzazione del controller di dominio. Quando viene rilevato un tentativo, lo strumento scrive un evento nel registro eventi di Windows. Questi eventi possono essere correlati in un SIEM. Inoltre, questo strumento può accettare un elenco di IP DC validi e, in questa configurazione, avvisare solo quando un tentativo di DC SYNC proviene da un IP non DC. Questo strumento ha lo scopo di fornire ai Blue Team un modo per contrastare gli attacchi DC SYNC e DC SHADOW senza strumenti commerciali come Microsoft ATA o IDS/IPS sofisticati.
Brief Youtube Video: https://www.youtube.com/watch?v=oLND9QZfaJc
Per installare questo strumento, puoi utilizzare i binari precompilati o compilarlo da solo. Il link per i binari precompilati è qui:
Servizio 32bit: https://github.com/shellster/DCSYNCMonitor/raw/master/Release/DCSYNCMONITORSERVICE.exe
Servizio 64bit: https://github.com/shellster/DCSYNCMonitor/raw/master/x64/Release/DCSYNCMONITORSERVICE.exe
Avrai bisogno di Winpcap o Npcap installato sul tuo controller di dominio. Winpcap dovrebbe funzionare, ma non è raccomandato poiché i metodi di cattura dei pacchetti non sono efficienti o accurati come NPcap. Questo strumento è stato testato solo brevemente con Winpcap.
Per installare Npcap, scarica il programma di installazione da qui: https://nmap.org/npcap/
Dovresti assicurarti che le seguenti opzioni siano selezionate:
Dopo l'installazione, sarà necessario riavviare il controller di dominio.
Npcap non installa le DLL delle librerie di supporto nel percorso di ricerca DLL del sistema, quindi sarà necessario eseguire le seguenti operazioni dopo l'installazione:
copy "%WINDIR%\System32\Npcap\*.dll" "%WINDIR%\System32\"
#If Applicable (32bit Service on 64bit System):
copy "%WINDIR%\SYSWOW64\Npcap\*.dll" "%WINDIR%\SYSWOW64\"
nota: Se il passaggio precedente non viene completato, riceverai errori riguardanti wpcap.dll o Packet.dll mancanti quando tenti di eseguire lo strumento.
Ora copia DCSYNCMONITOR.EXE da questo progetto in una posizione appropriata. Raccomandiamo %WINDIR%\SYSTEM32 per sistemi a 32 bit o sistemi a 64 bit con un servizio a 64 bit, o %WINDIR%\SYSWOW64 se stai utilizzando il servizio a 32 bit su un sistema a 64 bit.
Lo strumento può ora essere eseguito. Tuttavia, puoi eseguirlo in uno dei due modi:
In questa modalità, lo strumento scriverà un evento di avviso DCSYNCALERT nel registro eventi dell'applicazione di Windows ogni volta che un nuovo IP (non visto nei cinque minuti precedenti) tenta di eseguire una DC SYNC contro il controller di dominio. Ciò includerà le attività di sincronizzazione legittime tra controller di dominio.
Un file di configurazione chiamato "dc_ip_list.conf" può essere posizionato nella stessa directory dello strumento. Se questo file esiste, deve contenere un indirizzo IPv4 (o IPv6 in forma lunga) per riga. Lo strumento carica questo elenco all'avvio. In questa modalità, non verranno scritti eventi per tentativi di DC Sync provenienti da indirizzi IP corrispondenti. Tuttavia, se un tentativo di DC Sync avviene da qualsiasi altro indirizzo IP, verrà scritto un evento di errore DCSYNCALERT nel registro eventi dell'applicazione di Windows.
nota Le modifiche al file dc_ip_list.conf non avranno effetto fino a quando il servizio non viene fermato e riavviato.
Il modo usuale per utilizzare questo strumento è installarlo come servizio. Una volta posizionato lo strumento nella cartella corretta, ciò può essere facilmente realizzato eseguendo:
DCMONITORSERVICE.exe -install
Una volta installato il servizio, dovrai avviarlo manualmente dal menu Services.msc o utilizzando i comandi net o sc appropriati. Si avvierà automaticamente ai riavvii successivi.
Se hai bisogno di disinstallare il servizio, esegui il comando seguente:
DCMONITORSERVICE.exe -remove
Infine, per eseguire lo strumento in modalità autonoma, senza installare un servizio (particolarmente utile per il debug):
DCMONITORSERVICE.exe -standalone
Gli eventi di avviso DC SYNC si verificano quando non viene fornito un elenco di IP DC validi, o quando una DC SYNC avviene da un IP DC valido:

Gli eventi di errore DC SYNC si verificano quando viene fornito un elenco di IP DC validi e una DC SYNC avviene da qualsiasi altro indirizzo IP:

Avrai bisogno di Visual Studio 2015 o successivo. L'edizione Community (gratuita) è perfettamente accettabile. Una volta aperto il progetto, dovresti essere in grado di compilare immediatamente le versioni Dev e Release sia a 32 bit che a 64 bit. Le edizioni di debug non dovrebbero essere distribuite in un ambiente di produzione. Forniscono ampie informazioni di errore e debug, inclusi dump dei pacchetti TCP (se decommenti la riga seguente) nel file 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
Le versioni Release sono molto più piccole e rimuovono automaticamente le istruzioni di debug.
Questo strumento presenta le seguenti limitazioni note:
Questo strumento è fornito sotto licenza MIT (Vedi LICENSE)
Tool was written by Shelby Spencer:
FusionX mi ha generosamente concesso tempo per aggiornare e perfezionare questo strumento, oltre a una piattaforma per annunciarlo. Tuttavia, questo progetto è di mia esclusiva proprietà e sviluppo.
Suggerimenti, feedback e PR sono tutti benvenuti e incoraggiati.