Das Sicherheitstool Bloodhound hilft Administrationsteams dabei, potenzielle Angriffspfade im Active Directory (AD) zu erkennen und geeignete Schutzmaßnahmen zu ergreifen. Im LANline-Test untersuchten wir die Fähigkeiten der kostenfreien Open-Source-Version und schauten uns auch das von Specterops und Quest angebotene kommerzielle SaaS-Cloud-Produkt genauer an.
Microsofts AD ist ein häufig Ziel von Angriffsversuchen. Gelingt es einem Angreifer, hochprivilegierte Berechtigungen zu übernehmen, kann er großen Schaden anrichten. Aufgrund der Komplexität von IT-Umgebungen gibt es sehr viele Angriffsflächen, über die unberechtigte Zugriffe auf das AD erfolgen können. Zum Schutz ist ein breites Spektrum an Sicherheits-Tools erhältlich, das von einfachen PowerShell-Skripts zur Analyse der AD-Konfiguration bis zu Softwaresuiten für eine sichere Verwaltung komplexer AD-Installationen reicht. Regelmäßige Penetrationstests zum Beispiel mittels Schwachstellenscannern reichen nicht aus, um ein AD abzusichern. Es ist zusätzlich wichtig, mögliche Angriffspfade zu erkennen und blockieren, über die Hacker hochprivilegierte Berechtigungen erlangen können.
Für den LANline-Test haben wir mit Bloodhound ein Open-Source-Tool ausgewählt, das Berechtigungen im AD samt der gegenseitigen, häufig sehr komplexen Verschachtelungen über alle AD-Objekte hinweg analysiert. So deckt es Angriffspfade auf, die selbst für erfahrene AD-Administratoren nur schwer zu erkennen sind. Seit Version 4.0 unterstützt Bloodhound auch das Azure AD. Der Hersteller Specterops bietet zudem eine kommerzielle Version an, die er unter dem Namen Bloodhound Enterprise als SaaS-Lösung vermarktet. Im Frühjahr 2022 hat der AD-Spezialist Quest eine Kooperation mit Specterops bekannt gegeben und vertreibt die SaaS-Lösung seitdem über eigene Kanäle. Im Test haben wir auch das Enterprise-Produkt genauer angeschaut.
Installation der Komponenten
Die Open-Source-Version von Bloodhound ist für Linux und Windows verfügbar. Wir haben bei Github die Windows-Variante heruntergeladen und auf einem W2019-Server installiert.
Bloodhound 4.2 bietet eine grafische Oberfläche, die auf der Open-Source-Graphdatenbank Neo4j basiert und in der Lage ist, das AD-Berechtigungsgeflecht grafisch darzustellen. Für die Erfassung der AD-Informationen kommt das Datensammlungs-Tool Sharphound zum Einsatz, das auf einem Rechner laufen sollte, der Mitglied der zu analysierenden AD-Domäne ist.
Wir installierten auf unserem Testrechner die benötigte Java-Version, die Neo4j-Graphdatenbank, Bloodhound und Sharphound. Um dann die AD-Daten zu erfassen, starteten wir auf dem Windows-Rechner per Befehlszeilenkonsole Sharphound. Standardmäßig läuft das Tool zwei Stunden und führt dabei mehrere Suchzyklen durch. Der Umfang der Datensammlung lässt sich durch Parameter zum Beispiel auf Gruppen oder Domänen-Controller beschränken. Wir wählten die Option All, um alle Informationen zu erfassen. Das Tool legt die Daten im Zip-Format ab, sie lassen sich per Drag-and-Drop in die Bloodhound-Konsole ziehen. Damit startet automatisch der Import in die Neo4j-Datenbank.
Für die Datenanalyse stellt Bloodhound vorgefertigte Abfragen bereit, die zum Beispiel alle Angriffspfade anzeigen, die zwischen normalen Domänenbenutzern und hochprivilegierten AD-Objekten existieren. Zu den häufig in Unternehmen anzutreffenden Schwachstellen zählen historisch gewachsene Gruppenverschachtelungen, die Benutzern administrative Berechtigungen geben, die sie gar nicht benötigen. Eine weitere leicht zu vermeidende Angriffsfläche sind die sogenannten Full-Control-Berechtigungen, die gemäß dem Motto „Viel hilft viel“ gesetzt wurden.
Bloodhound kann auch die Anfälligkeit für das sogenannte Kerberoasting untersuchen. Dabei handelt es sich um Angriffe auf Service-Accounts, die schwache Passwörter verwenden. Jeder Domänenbenutzer darf standardmäßig Kerberos-Tickets für alle verfügbaren Services anfordern. Es gibt Hacker-Skripte, die automatisch alle Service-Accounts durchprobieren mit dem Ziel, die Passwort-Hashes der Kerberos-Tickets zu cracken. Man sollte die Berechtigungen für diese Konten deshalb immer auf das Nötigste beschränken. Für den Test von Bloodhound fügten wir in unserem Test-AD normale Domänenbenutzer zu hochprivilegierten Gruppen hinzu. Dann führten wir erneut einen Sharphound-Scan durch und importieren die gesammelten AD-Daten anschließend in die Bloodhound-Konsole. Am einfachsten erfolgt die Analyse mit den vorgefertigten Abfragen. Ist der Debug-Modus aktiviert, zeigt Bloodhound die Suchsyntax des ausgeführten Query-Befehls an. Es ist auch möglich, eigene Suchabfragen zu erstellen.