
Überwacht DCSYNC- und DCSHADOW-Angriffe und erstellt benutzerdefinierte Windows-Ereignisse für diese Ereignisse.
Dieses Tool ist eine Anwendung/ein Dienst, der auf Domänencontrollern bereitgestellt werden kann, um über Domänencontroller-Synchronisierungsversuche zu alerten. Wenn ein Versuch erkannt wird, schreibt das Tool ein Ereignis in das Windows-Ereignisprotokoll. Diese Ereignisse können in einem SIEM korreliert werden. Zusätzlich kann dieses Tool eine Liste gültiger DC-IPs aufnehmen und in dieser Konfiguration nur dann alarmieren, wenn ein DC-SYNC-Versuch von einer Nicht-DC-IP kommt. Dieses Tool soll Blue Teams eine Möglichkeit bieten, DC-SYNC- und DC-SHADOW-Angriffe ohne kommerzielle Tools wie Microsoft ATA oder ausgefeilte IDS/IPS zu bekämpfen.
Kurzes YouTube-Video: https://www.youtube.com/watch?v=oLND9QZfaJc
Um dieses Tool zu installieren, können Sie entweder die vorkompilierten Binärdateien verwenden oder das Tool selbst bauen. Der Link für vorkompilierte Binärdateien ist hier:
32bit-Dienst: https://github.com/shellster/DCSYNCMonitor/raw/master/Release/DCSYNCMONITORSERVICE.exe
64bit-Dienst: https://github.com/shellster/DCSYNCMonitor/raw/master/x64/Release/DCSYNCMONITORSERVICE.exe
Sie benötigen entweder Winpcap oder Npcap, das auf Ihrem Domänencontroller installiert ist. Winpcap sollte funktionieren, wird aber nicht empfohlen, da die Paketerfassungsmethoden nicht so effizient oder gründlich sind wie NPcap. Dieses Tool wurde nur kurz mit Winpcap getestet.
Um Npcap zu installieren, laden Sie das Installationsprogramm von hier herunter: https://nmap.org/npcap/
Sie sollten sicherstellen, dass die folgenden Optionen aktiviert sind:
Nach der Installation müssen Sie den Domänencontroller neu starten.
Npcap installiert die unterstützenden Bibliotheks-DLLs nicht in den DLL-Suchpfad des Systems, daher müssen Sie nach der Installation die folgenden Aufgaben ausführen:
copy "%WINDIR%\System32\Npcap\*.dll" "%WINDIR%\System32\"
#If Applicable (32bit Service on 64bit System):
copy "%WINDIR%\SYSWOW64\Npcap\*.dll" "%WINDIR%\SYSWOW64\"
Hinweis: Wenn der vorherige Schritt nicht abgeschlossen wird, erhalten Sie Fehler über eine fehlende wpcap.dll oder Packet.dll, wenn Sie versuchen, das Tool auszuführen.
Kopieren Sie nun die DCSYNCMONITOR.EXE aus diesem Projekt an einen geeigneten Ort. Wir empfehlen %WINDIR%\SYSTEM32 für 32-Bit-Systeme oder 64-Bit-Systeme mit einem 64-Bit-Dienst oder %WINDIR%\SYSWOW64, wenn Sie den 32-Bit-Dienst auf einem 64-Bit-System verwenden.
Das Tool kann nun ausgeführt werden. Sie können es jedoch auf zwei Arten ausführen:
In diesem Modus schreibt das Tool jedes Mal ein DCSYNCALERT-Warnereignis in das Windows-Anwendungsereignisprotokoll, wenn eine neue IP (die in den letzten fünf Minuten nicht gesehen wurde) versucht, einen DC-SYNC gegen den Domänencontroller durchzuführen. Dies schließt legitime Synchronisierungsaktivitäten zwischen Domänencontrollern ein.
Eine Konfigurationsdatei namens "dc_ip_list.conf" kann im selben Verzeichnis wie das Tool abgelegt werden. Wenn diese Datei existiert, sollte sie eine IPv4-Adresse (oder lange IPv6-Adresse) pro Zeile enthalten. Das Tool liest diese Liste beim Start ein. In diesem Modus werden keine Ereignisse für DC-SYNC-Versuche von übereinstimmenden IP-Adressen geschrieben. Wenn jedoch ein DC-SYNC-Versuch von einer anderen IP-Adresse erfolgt, wird ein DCSYNCALERT-Fehlerereignis in das Windows-Anwendungsereignisprotokoll geschrieben.
Hinweis Änderungen an der dc_ip_list.conf-Datei werden nicht wirksam, bis der Dienst gestoppt und neu gestartet wird.
Die übliche Methode, dieses Tool zu verwenden, besteht darin, es als Dienst zu installieren. Sobald das Tool im richtigen Ordner platziert ist, kann dies einfach durch Ausführen von:
DCMONITORSERVICE.exe -install
Nach der Installation des Dienstes müssen Sie ihn manuell über das Services.msc-Menü oder mit entsprechenden net- oder sc-Befehlen starten. Er wird bei zukünftigen Neustarts automatisch gestartet.
Falls Sie den Dienst deinstallieren müssen, führen Sie den folgenden Befehl aus:
DCMONITORSERVICE.exe -remove
Schließlich, um das Tool im eigenständigen Modus auszuführen, ohne einen Dienst zu installieren (besonders nützlich zur Fehlersuche):
DCMONITORSERVICE.exe -standalone
DC-SYNC-Warnereignisse treten auf, wenn keine Liste gültiger DC-IPs bereitgestellt wird oder wenn ein DC-SYNC von einer gültigen DC-IP aus erfolgt:

DC-SYNC-Fehlerereignisse treten auf, wenn eine Liste gültiger DC-IPs bereitgestellt wird und ein DC-SYNC von einer anderen IP-Adresse aus erfolgt:

Sie benötigen Visual Studio 2015 oder höher. Die Community-Edition (kostenlos) ist völlig ausreichend. Sobald Sie das Projekt geöffnet haben, sollten Sie sofort Dev- und Release-Versionen sowohl in 32-Bit- als auch in 64-Bit-Varianten erstellen können. Die Debug-Editionen sollten nicht in einer Produktionsumgebung eingesetzt werden. Sie geben umfangreiche Fehler- und Debugging-Informationen aus, einschließlich TCP-Paketdumps (wenn Sie die folgende Zeile in der Datei monitor.cpp auskommentieren):
#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
Release-Versionen sind viel kleiner und entfernen Debug-Anweisungen automatisch.
Dieses Tool hat die folgenden bekannten Einschränkungen:
Dieses Tool wird unter der MIT-Lizenz bereitgestellt (siehe LICENSE)
Das Tool wurde von Shelby Spencer geschrieben:
FusionX hat mir großzügig Zeit zur Verfügung gestellt, um dieses Tool zu aktualisieren und zu verfeinern, sowie eine Plattform, um es anzukündigen. Dieses Projekt wird jedoch ausschließlich von mir besessen und entwickelt.
Vorschläge, Feedback und PRs sind alle willkommen und erwünscht.