Das Active Directory ist für Angreifer ein beliebtes Ziel, um Anmeldedaten zu erbeuten und sich damit in Netzwerke vorzuarbeiten. Um das zu verhindern, sollten sich Admins mit dem Thema Schwachstellen auf Domänencontrollern beschäftigen. Hierfür gibt es Tools wie Nessus, die nach Lücken suchen und helfen, diese zu schließen. Wir zeigen das Setup von Nessus und klopfen einen DC ab.
Es ist grundsätzlich besser, als Admin Schwachstellen im Firmennetzwerk aufzudecken, bevor dies Angreifer tun. Daher ist es sinnvoll, wenn sich Verantwortliche für Netzwerke und Active Directory mit den gängigen Werkzeugen beschäftigen und diese zur Suche nach Schwachstellen nutzen. Für unseren Workshop verwenden wir Kali Linux. Dieses bietet sich als Basis für Penetrationstests an, da es bereits zahlreiche passende Tools mitbringt. Die Werkzeuge lassen sich aber auch auf anderen Linux-Distributionen installieren sowie auf dem Windows-Subsystem für Linux.
Wir wollen uns auf einen Domänencontroller (DC) fokussieren. Dieser bietet verschiedene Dienste an, die Sie für das gezielte Scannen nach Schwachstellen kennen sollten:
- LDAP (Lightweight Directory Access Protocol): LDAP läuft standardmäßig auf Port 389 (TCP/UDP) für unverschlüsselte Verbindungen und auf Port 636 (TCP) für LDAPS, also LDAP über SSL/TLS.
Es ist grundsätzlich besser, als Admin Schwachstellen im Firmennetzwerk aufzudecken, bevor dies Angreifer tun. Daher ist es sinnvoll, wenn sich Verantwortliche für Netzwerke und Active Directory mit den gängigen Werkzeugen beschäftigen und diese zur Suche nach Schwachstellen nutzen. Für unseren Workshop verwenden wir Kali Linux. Dieses bietet sich als Basis für Penetrationstests an, da es bereits zahlreiche passende Tools mitbringt. Die Werkzeuge lassen sich aber auch auf anderen Linux-Distributionen installieren sowie auf dem Windows-Subsystem für Linux.
Wir wollen uns auf einen Domänencontroller (DC) fokussieren. Dieser bietet verschiedene Dienste an, die Sie für das gezielte Scannen nach Schwachstellen kennen sollten:
- LDAP (Lightweight Directory Access Protocol): LDAP läuft standardmäßig auf Port 389 (TCP/UDP) für unverschlüsselte Verbindungen und auf Port 636 (TCP) für LDAPS, also LDAP über SSL/TLS.
- Kerberos: Der Authentifizierungsdienst verwendet Port 88 (TCP/UDP).
- DNS: Häufig fungiert ein DC auch als DNS-Server, der über Port 53 (TCP/ UDP) erreichbar ist.
- SMB (Server Message Block): dient der Datei- und Druckerfreigabe sowie der Kommunikation zwischen Computern im Netzwerk. Die relevanten Ports sind 445 (TCP) und 137-139 (NetBIOS, TCP/UDP).
- Globaler Katalog: Für die standortübergreifende Suche verwendet AD den globalen Katalog, der auf Port 3268 (unverschlüsselt, TCP) und 3269 (verschlüsselt, TCP) läuft.
- RPC (Remote Procedure Call): verwendet dynamische Ports, typischerweise ab Port 49152, aber Port 135 (TCP/ UDP) ist der initiale Endpunkt.
Behalten Sie diese Ports im Hinterkopf, wenn Sie nach DCs suchen oder über Nessus nach Schwachstellen auf den Domänencontrollern scannen.
Lücken finden im Netzwerk
Der Schwachstellen-Scanner Nessus ermöglicht das kostenlose Durchsuchen von Netzwerken und der darin betriebenen Server nach Lücken. Das bietet einen idealen Einstieg in das Finden und Beheben von Schwachstellen. Mit einer umfassenden Datenbank an Sicherheitslücken und Konfigurationsfehlern begibt sich Nessus gezielt auf die Suche nach potenziellen Angriffspunkten in der Domänenstruktur. So spüren Sie beispielsweise unsichere Benutzerkonten, falsch konfigurierte Richtlinien oder veraltete Software auf, die auf den DCs läuft.
Durch die Integration mit dem Active Directory ist es möglich, Berechtigungs- und Authentifizierungsprobleme auszumachen, die Angreifer für eine Rechteausweitung oder anderweitigen unbefugten Zugriff nutzen könnten. Nessus liefert nach dem Scan detaillierte Berichte, die Sie zur Behebung der gefundenen Schwachstellen nutzen können. Das Tool lässt sich auf Kali Linux installieren, gehört jedoch nicht zu dessen Lieferumfang.
Bild 1: Nmap findet die offenen Ports auf einem Domänencontroller schnell heraus.
Das Netzwerk kartografieren
In diesem Workshop nutzen wir als internes Netzwerk 10.0.0.0/16. Kennen Sie die genauen IP-Adressen der DCs nicht, lässt sich diese problemlos mit Nmap herausfinden. In Kali Linux ist Nmap standardmäßig installiert. Um gezielt Domänencontroller in einem Netzwerk mit dem Subnetz 10.0.0.0/16 zu finden und zu scannen, verwenden Sie das Tool in Kombination mit den entsprechenden Optionen. So starten Sie in der Befehlszeile eine erste Untersuchung mit nmap -sP 10.0.0.0/16. Die Parameter "-sP" stehen für den Ping-Scan, der zunächst untersucht, welche IP-Adressen aktuell im Netzwerk aktiv sind. Nach kurzer Zeit zeigt Nmap alle aktiven Geräte an, inklusive IP-Adresse, MAC-Adresse und, falls möglich, auch den Hersteller.
Mit nmap -sP 10.0.1.6-8 führen Sie einen Portscan auf die IP-Adressen 10.0.1.6 bis 10.0.1.8 durch. Dabei sendet der Nmap-Client ein ARP-Paket an die Rechner und erhält ein ARP-Paket mit Informationen zurück. Dazu gehören zum Beispiel die MAC-Adresse und der Hersteller des Geräts. Um das Betriebssystem eines bestimmten Clients und die installierte Version in Erfahrung zu bringen, kommt nmap -O 10.0.1.9 zum Einsatz. Dabei sehen Sie auch gleich die offenen Ports auf dem Betriebssystem und welche Dienste dahinterstehen. Das funktioniert in Windows trotz aktivierter Firewalls.
Etwas aggressiver geht der Befehl nmap -sT 10.0.0.0/16 vor. Der TCP-Connect sendet an alle Clients, die auch der Parameter "sP" findet, ein SYN-Paket. Aktive Geräte antworten darauf mit einem SYN-ACK-Paket und geben damit bekannt, dass sie auf Verbindungen warten. Der Nmap-Client schickt daraufhin ein ACK-Paket zurück und kommuniziert mit dem Ziel im Netzwerk. Denial-of-Service-Angriffe (DoS) und Distributed-Denial-of-Service-Attacken (DDoS)-Angreifer gehen ähnlich vor.
Um nicht nur die bekanntesten Ports zu scannen, sondern ganz bestimme – zum Beispiel in Bezug auf das Active Directory – bietet sich der Befehl nmap -sV -p 1-3389 10.0.0.0/16 an. Dieser nimmt natürlich mehr Zeit in Anspruch, scannt im Subnetz aber alle aktiven Geräte auf den Ports 1 bis 3389. Diese Aktion lässt sich auch für nur eine IP-Adresse durchführen wie auch für mehrere Ports. Das folgende Kommando klopft die IP-Adressen 10.0.1.6 bis 10.0.1.8 auf offene Ports ab: nmap -sS 10.0.1.6-8. Sie können dadurch vor einem Scan mit Nessus schnell in Erfahrung bringen, hinter welchen IP-Adressen ein DC steckt und welche Ports dieser nutzt.
Mittels nmap -A 10.0.1.230 versucht Nmap, mit Ports des Geräts unter der IP-Adresse 10.0.1.6 zu kommunizieren und Daten auszulesen. Um die Untersuchung auf unseren Domänencontroller anzupassen und die Ports für LDAP (Port 389), Kerberos (Port 88) oder RPC (Port 135) abzuscannen, verwenden Sie
nmap -p 88,389,135 --open 10.0.0.0/16
Damit scannen Sie das gesamte Subnetz 10.0.0.0/16 ab und suchen nach Hosts, die auf den spezifischen Ports für Kerberos, LDAP und RPC Verbindungen akzeptieren. Um Domänencontroller gezielter zu identifizieren, scannen Sie auch nach den Windows-spezifischen SMB-Ports (445, 139) und nutzen das Betriebssystem-Erkennungssystem:
nmap -p 88,389,135,139,445 -O 10.0.0.0/16
Durch die erwähnte Option "-O" findet eine Betriebssystemerkennung statt, um zu ermitteln, ob es sich um einen Windows-Server handelt, was die Identifizierung von DCs erleichtert. Dies ist auch vor einem Scanvorgang möglich, in unserem Beispiel mit der IP-Adresse 10.0.1.230 über den Befehl nmap -O 10.0.1.230. Nmap sendet dabei eine Reihe speziell gestalteter TCP/IP-Pakete an offene und geschlossene Ports des Zielsystems. Diese Pakete enthalten bestimmte Flags, Optionen und andere Felder, die von verschiedenen Betriebssystemen unterschiedlich implementiert werden. Das Tool analysiert dann die Antworten des Zielsystems auf diese Pakete und vergleicht sie mit einer Datenbank von Betriebssystemsignaturen.
Installation auf Kali Linux
Nessus gehört zu den bekanntesten Schwachstellen-Scannern für Netzwerke und das Tool steht unter [1] beim Anbieter zum Download bereit. Die Einrichtung ist auch in einer VM möglich. Für unseren Workshop haben wir Nessus auf einer Kali-Installation in Hyper-V auf Windows Server 2025 genutzt. Bei "Platform" wählen Sie im Rahmen des Setups auf Kali "Linux – Debian – amd64" aus. Über "Checksum" lässt sich die SHA256-Checksumme in die Zwischenablage kopieren. Dadurch können Sie später verifizieren, dass es sich bei lokalen Installationen, die Sie durchführen, um die originale Version der Software handelt. Zum Einspielen von Nessus öffnen Sie ein Terminal und wechseln in das Downloadverzeichnis der Installationsdateien. Für das Setup kommt zunächst der folgende Befehl zum Einsatz:
Im Anschluss befindet sich im Verzeichnis die neue Datei "sha256sum". Danach gleichen Sie mittels sha256sum -c sha256sum_nessus die Checksumme der Installationsdatei ab. Im Terminal sollten Sie anschließend den Status "OK" für die das Setup-File angezeigt bekommen. Ist die Checksumme in Ordnung, erfolgt als Nächstes die Installation mit dem Befehl
sudo apt install ./<Installationsdatei>
Tauchen dabei Fehler auf, testen Sie zunächst, ob ein erneuter Versuch die Installation zum Laufen bringt. Gelingt das nicht, überprüfen Sie Ihre Kali-Linux-Installation. Haben Sie diese schon länger in Betrieb, stören unter Umständen zuvor installierte Tools die Integration von Nessus. Bei einer Neuinstallation von Kali Linux ist das nicht der Fall.
Kostenfreie Lizenz
Um Nessus zu nutzen, ist eine Lizenz notwendig. Diese lässt sich über Tenable abrufen [2]. Diese kostenlose Lizenz ermöglicht das Scannen von bis zu 16 Geräten. Das reicht in vielen Fällen für die Überprüfung der DCs aus. Neben der Essentials-Lizenz können Unternehmen natürlich auch eine kommerzielle Nessus-Expert- oder Professional-Lizenz erwerben und an dieser Stelle nutzen. Für den kostenlosen Einsatz von Nessus Essentials erhalten Sie nach Registrierung einen Aktivierungscode. Diesen müssen Sie in Kali Linux hinterlegen. Dazu starten Sie zunächst den Nessus-Dienst über das Terminal mit
sudo systemctl start nessusd.service
Danach erfolgt die weitere Verwaltung von Nessus im Webbrowser. Die Weboberfläche öffnen Sie mit dem Link "https://127.0.0.1:8834". Nach der Bestätigung der Lizenzwarnung sehen Sie die Benutzeroberfläche. Hier nutzen Sie zunächst den Punkt "Register Offline". Nach einem Klick auf "Continue" wählen Sie die Edition aus, die Sie auf dem System registrieren möchten. Nach der Auswahl von "Nessus Expert / Continue" und dem Kopieren des lokal erzeugten Challenge-Codes in die Zwischenablage ist ein Klick auf "Offline Registration" notwendig.
Hier kopieren Sie zunächst den Code in das obere Feld und den Aktivierungscode, den Ihnen Tenable per E-Mail zugeschickt hat, in das untere Feld. Mit "Submit" bestätigen Sie die Lizenzierung. Den daraufhin angezeigten Lizenzcode tragen Sie nun komplett in die Weboberfläche ein. Danach erfolgt das Festlegen eines Benutzernamens und eines Kennworts für die Verwendung von Nessus. Im Anschluss initialisiert sich das System und die Weboberfläche steht zur Verfügung.
Bild 2: Nessus bringt diverse Scanvorlagen mit, wobei der Basic-Scan einen guten Einstieg bietet.
Nessus für Scans vorbereiten
Um einen ersten Scan zu starten, aktualisieren Sie zunächst über "Settings / Software Update / Update all components / Save" die Umgebung. Verwenden Sie dafür den Punkt "Manual Software Update". Bei "Events" sehen Sie dann, ob sich der Scanner erfolgreich aktualisiert hat. Sie erhalten zudem in der Weboberfläche eine Zusammenfassung. Das Update der Plug-ins dauert allerdings einige Zeit. Wenn Sie bei "Settings / Events" die Meldung "Finished downloading Nessus Core Components" mit dem Hinweis "Success" sehen, sollten sich Scans bereits starten lassen. Ist die Aktualisierung abgeschlossen, stehen über den Menüpunkt "Scans" nach einem Klick auf "Create a new Scan" zahlreiche Vorlagen zur Verfügung, um nach Lücken im Netzwerk zu suchen. Solange hier keine Vorlagen zu sehen sind, lassen sich auch keine Scans starten.
Bei "Vulnerabilities" bildet der "Basic Network Scan" einen guten Einstieg, während Ihnen je nach Bedarf weitere Vorlagen zur Verfügung stehen. Der "Active Directory Starter Scan" nimmt für unser Beispiel Domänencontroller hinsichtlich bekannter Schwachstellen unter die Lupe, der "Malware Scan" wiederum sucht über das Netzwerk auf Windows- und Linux-Rechnern nach Schadsoftware und mit "Advanced Scan" sowie "Advanced Dynamic Scan" erfolgt eine erweiterte Suche nach Sicherheitslücken, die über die Möglichkeiten des "Basis Network Scan" hinausgehen. Um komplette Netzwerke zu scannen, lassen sich mit "Host Discovery" alle aktiven Hosts im Netzwerk aufspüren und anschließend mit einem der Scans überprüfen. Wir beschäftigen uns nachfolgend mit dem "Active Directory Starter Scan".
Diese Art der Untersuchung verwendet eine Reihe von Plug-ins, die speziell darauf ausgelegt sind, Schwachstellen in Active-Directory-Systemen aufzudecken. Gefundene Lücken erhalten Sie im Tenable Vulnerability Management Dashboard visualisiert dargestellt, um so die Sicherheitslage Ihrer DCs zu bestimmen. Ein wichtiger Bestandteil des Scans sind Widgets, die Schwachstellen wie Kerberos-Probleme, unsichere Vertrauensstellungen und Null-Sitzungen anzeigen. Beispielsweise kommen für Kerberos die Plug-ins 150480 (Kerberoasting), 150484 (Kerberos Krbtgt) und 150481 (schwache Kerberos-Verschlüsselung) zum Einsatz. Weitere wichtige Plug-ins umfassen 150485 (unbeschränkte Delegierung) und 150486 (gefährliche Vertrauensstellungen).
Zusätzlich lassen sich mithilfe von Tenable Identity Exposure Anzeichen für kritische Bedrohungen ausmachen, wie etwa ungesicherte Konfigurationen des Netlogon-Protokolls oder DCs, die durch unbefugte Benutzer verwaltet werden. Diese Indikatoren helfen Ihnen dabei, potenzielle Risiken frühzeitig zu erkennen und zu beheben.
Um die Ergebnisse des Scans weiter zu verfeinern, bietet der der Starter-Scan Einblicke in die Berechtigungen von Gruppen und Dateien. Kritische Schwachstellen wie unsichere Berechtigungen an sensiblen GPO-Objekten oder Root-Objekten, die sich für DCSync-Angriffe missbrauchen lassen, finden Sie hier vor. Darüber hinaus bewertet Nessus die kryptografischen Kontrollen innerhalb Ihrer AD-Umgebung. Dazu gehören unter anderem unsichere Verschlüsselungsalgorithmen und gefährliche Fehlkonfigurationen im Zusammenhang mit Active Directory Certificate Services (ADCS).
Nach der Auswahl der Vorlage geben Sie einen Namen für den Scanvorgang an. An dieser Stelle lassen sich natürlich auch mehrere Suchläufe parallel starten. Jeder Suchlauf erhält einen eigenen Namen und Beschreibung, über die Sie den jeweiligen Scan dann in der Weboberfläche identifizieren. Bei "Targets" geben Sie die IP-Adressen an, die Nessus scannen soll. In diesem Zusammenhang ist es unter Umständen sinnvoll, gefährdete Netzwerkgeräte mit Nmap zu identifizieren, wie wir bereits zuvor gezeigt haben.
Findet Nmap Geräte, in unserem Beispiel Domänencontroller, die vermutlich angreifbar sind, können Sie deren IP-Adressen in Nessus unter dem Punkt "Targets" eingeben. Auf der linken Seite der Scankonfiguration ist es möglich, bei "Schedule" den Scanvorgang zeitlich zu planen. Standardmäßig starten die Scans sofort. Über "Notifications" lassen sich zudem E-Mail-Benachrichtigungen festlegen.
Über den Menüpunkt "Discovery" bestimmen Sie den Scantyp. Bei der Auswahl des spezifischen AD-Scans müssen Sie nichts mehr ändern. Sie können, wie bei anderen Scans auch, gezielt offene Ports prüfen lassen. Hier ist es sinnvoll, nach Auswahl von "Custom" bei "Port Scanning" die Option "Port scan (all ports) zu verwenden. Bei "Assessment" stehen unter "Scan-Type" noch die Option "Default" oder bei der Suche nach Schwachstellen von Webdiensten die Option "Scan for all web vulnerabilities" zur Auswahl. Bei "Report" legen Sie fest, wie Nessus das Ergebnis aufbereiten soll. Hier reichen die Standardeinstellungen in den meisten Fällen aus.
Bild 3: Mithilfe von Plug-ins lässt sich der Funktionsumfang von Nessus erweitern.
An Domänencontroller angepasste Einstellungen
Achten Sie darauf, dann unter dem Punkt "Plugins" als Zielsystem "Windows" ausgewählt ist. Bei einem AD-Scan sehen Sie an dieser Stelle die verschiedenen Erweiterungen, die Nessus für seine Arbeit heranzieht. Es ist essenziell, den Scan korrekt zu konfigurieren, da ansonsten oft keine oder nur unzureichende Ergebnisse herauskommen. Ein häufiger Fehler besteht außerdem darin, dass Benutzerkonten mit geringeren Berechtigungen zum Einsatz kommen, mit ebenfalls unvollständigen Ergebnissen als Resultat.
Ein Netzwerkscan für DCs ohne die notwendigen Rechte etwa erkennt keine relevanten Schwachstellen. Idealerweise stellen Sie Nessus unter "Credentials" ein Domänenadministrator-Konto für den Scan zur Verfügung. Ein Domänenbenutzer reicht in der Regel nicht aus, um alle notwendigen Daten zu erfassen, da das Tool wichtige Bereiche wie die Registrierung, installierte Software oder detaillierte Konfigurationseinstellungen des Systems nicht ohne höhere Rechte abzurufen vermag.
Ein weiterer Punkt ist die Bedeutung der korrekten Kommunikation zwischen dem Scanner und dem Domänencontroller. Verbindungsprobleme oder blockierte Ports (etwa 445 für SMB) führen eventuell dazu, dass der Scan fehlschlägt oder nur minimale Ergebnisse liefert. In solchen Fällen ist es unter Umständen sinnvoll, vorab Tools wie Nmap zu verwenden, um sicherzustellen, dass die relevanten Ports erreichbar sind.
Zusätzlich zu den Berechtigungen und Verbindungen gibt es auch technische Einschränkungen, wie beispielsweise das Erfordernis bestimmter Remote-Dienste – etwa der Remote-Registrierung oder WMI –, um vollständige Informationen über Konfigurationen und Schwachstellen zu erhalten. Ohne diese Dienste endet der Scan oft unvollständig, da zentrale Elemente wie die Software- und Patchstatusüberprüfung außen vor bleiben. Um einen vollständigen Überblick über die Sicherheitslage zu erhalten, ist es also wie erwähnt notwendig, entweder ein Konto mit Domänenadministrator-Rechten zu verwenden oder ein spezielles Konto mit angepassten Rechten zu erstellen, das Zugriff auf alle relevanten Bereiche besitzt.
Mit "Save" speichern Sie den Scanvorgang, während sich dieser auf der rechten Seite der Scananzeige starten lässt. Der Start ist dann in der entsprechenden Zeile zu sehen und mit dem Pause-Zeichen lässt sich dieser auch anhalten. Ein vollständiger Abbruch eines Scans ist ebenfalls möglich.
Bild 4: Nessus zeigt nach dem Scanvorgang eine Zusammenfassung an und hilft so, Lücken zu schließen.
Scanergebnisse auswerten
Nach einem Klick auf einen laufenden oder beendeten Scanvorgang zeigt Nessus die Anzahl an gefundenen Schwachstellen an. Über "Vulnerabilities" sind ausführlichere Informationen der gefundenen Schwachstellen des Geräts zu sehen, in diesem Beispiel vom Domänencontroller. Durch einen Klick auf eine spezifische Schwachstelle zeigt Nessus wiederum detaillierte Informationen zu der Lücke an und auch, wie Sie diese schließen. Über "Host Detail" gibt Nessus derweil Informationen zum gescannten Gerät aus, zum Beispiel das Betriebssystem und dessen Version. Bei den Schwachstellen sehen Sie im unteren Bereich, welche Ports, Protokolle und Hosts die Lücke betreffen, während Sie bei "Solution" Hinweise und Anleitungen dazu finden, wie Sie die Lücke schließen.
Fazit
In diesem Workshop haben Sie erfahren, wie Sie mit Tools wie Nessus und Nmap Schwachstellen in Active-Directory-Umgebungen systematisch aufspüren. Von der Netzwerkkartierung über das Scannen relevanter Ports und Dienste bis hin zur detaillierten Analyse von Berechtigungen und Konfigurationen bietet die Kombination dieser Werkzeuge eine umfassende Sicherheitsstrategie. Insbesondere der gezielte Einsatz von Nessus zur Überprüfung von DCs und das Scannen nach spezifischen Schwachstellen wie Kerberos-Problemen oder unsicheren Vertrauensstellungen ermöglicht eine proaktive Absicherung der IT-Infrastruktur. Durch den Einsatz dieser Methoden können Unternehmen potenzielle Angriffe verhindern und die Stabilität und Sicherheit ihrer Netzwerke deutlich erhöhen.