Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
AD_Miner — AD Miner ist ein Active-Directory-Prüftool, das Cypher-Abfragen nutzt, um Daten aus der #Bloodhound-Graphdatenbank zu verarbeiten und Sicherheitsschwachstellen aufzudecken. | Kitploit
Tools/GitHubGitHub/ad-security/ad_miner
Privilege EscalationAufklärungSchwachstellenanalyseLaterale BewegungKonfigurationsprüfungInformationsbeschaffungPenetrationstestsFehlkonfigurationLernen & Bildung
GitHubad-security/ad_miner

AD_Miner

AD Miner ist ein Active-Directory-Prüftool, das Cypher-Abfragen nutzt, um Daten aus der #Bloodhound-Graphdatenbank zu verarbeiten und Sicherheitsschwachstellen aufzudecken.

1.6k163vor 5 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
AD_Miner
Neueste AD_Miner-Version Neueste Veröffentlichung Neuester Commit in dev Rawsec's CyberSecurity Inventory Badge
Discord

AD Miner ist ein Active Directory (On-Premise und Entra ID) Audit-Tool, das:

  • Cypher-Abfragen nutzt, um Daten aus der BloodHound Graphdatenbank (Neo4j) zu analysieren.
  • Einen umfassenden Überblick über bestehende Schwachstellen durch einen statischen, webbasierten Bericht bietet.

Funktionen der webbasierten Berichte:

  • Detaillierte Auflistungen identifizierter Schwachstellen
  • Dynamische Graphen zur visuellen Analyse
  • Historische Schlüsselindikatoren zur Verfolgung von Änderungen im Laufe der Zeit
  • Risikobewertungen zur Priorisierung von Bedrohungen und Maßnahmen

Kurzer Überblick über einen Bericht

Umfassende Behebungswege für Active Directory-Risiken

Eine risikobasierte Bewertung von Active Directory-Schwachstellen sowie umfassende Behebungswege.

Hauptseite

Eine dynamische Weboberfläche

Suchleiste und Steuerelemente, die sorgfältig darauf abgestimmt sind, die riskantesten Fehlkonfigurationen zu identifizieren.

Hauptseite

Fortschrittsüberwachung durch eine sich entwickelnde Oberfläche

Sie können auch Indikatoren im Zeitverlauf beobachten, um die Effizienz von Gegenmaßnahmen zu messen.

Hauptseite

AD Miner wurde ursprünglich von Forvis Mazars entwickelt und wird vom Grant Thornton Cybersecurity Audit & Advisory Team gewartet.

Voraussetzungen

Um AD Miner auszuführen, benötigen Sie zunächst eine Neo4j-Datenbank, die die Active Directory-Objekte enthält:

  1. Um die Daten aus der Domäne zu extrahieren, können Sie Tools wie SharpHound, RustHound-CE oder BloodHound.py und AzureHound für EntraID-Umgebungen verwenden.

[!CAUTION] Wir empfehlen dringend die Verwendung von BloodHound Automation, da es das Graph Data Science Neo4j-Plugin installiert, welches:

  • die Berechnungszeit und die Gesamtleistung erheblich verbessert.
  • die Verwendung von Smartest Path anstelle der integrierten Neo4j shortestPath() ermöglicht (d.h. Pfade, die einfacher auszunutzen sind als die geringsten Knotensprünge).
  1. Für die Einrichtung Ihrer BloodHound-Umgebung (einschließlich GUI und Neo4j-Datenbank) wird BloodHound Automation aufgrund seiner nahtlosen Integration mit dem Graph Data Science-Plugin dringend empfohlen. Es ist zwar völlig in Ordnung, die Standardinstallation von BloodHound CE zu verwenden, aber beachten Sie, dass Ihnen die Vorteile von GDS entgehen (z. B. intelligenteres Pathfinding, verbesserte Ausführungsgeschwindigkeit usw.).

  2. Standardmäßig erstellt BloodHound eine Neo4j-Basis, die über Port 7687 zugänglich ist.

Installation und Einrichtung

Der einfachste Weg ist der folgende Befehl mit pipx:

root@kitploit:~
pipx install 'git+https://github.com/AD-Security/AD_Miner.git'

ADMiner ist auch in einigen Linux-Distributionen verfügbar:

Packaging status

  • BlackArch: pacman -S ad-miner
  • NixOS: nix-env -iA nixos.ad-miner

Ein Docker-Image ist zum Bauen verfügbar. Erstellen Sie das Image mit dem folgenden Befehl:

root@kitploit:~
docker build -t ad-miner .

Um dies unter Windows mit den BloodHound Community Edition-Daten auszuführen, verwenden Sie die folgenden Befehle:

root@kitploit:~
docker run -v ${PWD}:/tmp ad-miner AD-miner -b bolt://host.docker.internal:7687 -u neo4j -p mypassword -cf YOUR_PREFIX

Um dies unter Linux mit den BloodHound Community Edition-Daten auszuführen, verwenden Sie die folgenden Befehle:

root@kitploit:~
docker run -v ${PWD}:/tmp --network host ad-miner AD-miner -b bolt://localhost:7687 -u neo4j -p mypassword -cf YOUR_PREFIX

Beachten Sie, dass das Einhängen des Volumes mit -v entscheidend ist, um die Ausgabe der Daten zu erhalten. Dies setzt voraus, dass der BHCE-Server mit den Standardeinstellungen auf dem Docker-Host läuft.

Verwendung

Führen Sie das Tool aus:

root@kitploit:~
AD-miner [-h] [-b BOLT] [-u USERNAME] [-p PASSWORD] [-e EXTRACT_DATE] [-r RENEWAL_PASSWORD] [-a] [-c] [-l LEVEL] -cf CACHE_PREFIX [-ch NB_CHUNKS] [-co NB_CORES] [--rdp] [--evolution EVOLUTION] [--cluster CLUSTER]

Beispiel:

root@kitploit:~
AD-miner -cf My_Report -u neo4j -p mypassword

Cache-Dateien werden nach Abschluss jeder Neo4j-Anfrage generiert. Diese Funktion ermöglicht es Ihnen, AD Miner jederzeit während seines Prozesses zu pausieren oder zu stoppen, ohne zuvor berechnete Ergebnisse zu verlieren. Um den Cache zu nutzen, verwenden Sie den Parameter -c. Die Cache-Dateien werden im Ordner cache_neo4j in Ihrem aktuellen Repository gespeichert. Damit der Cache verwendet wird, muss der Berichtsname mit dem Namenspräfix der Cache-Datei übereinstimmen:

root@kitploit:~
AD-miner -c -cf My_Report -u neo4j -p mypassword

Um große Datensätze besser zu handhaben, ist es möglich, Multithreading zu aktivieren und auch einen Cluster von Neo4j-Datenbanken zu verwenden, wie im folgenden Beispiel gezeigt (wobei server1 32 Threads und server2 16 Threads verarbeitet):

root@kitploit:~
AD-miner -c -cf My_Report -b bolt://server1:7687 -u neo4j -p mypassword  --cluster server1:7687:32,server2:7687:16

Wenn die Kennwortverlängerungsrichtlinie bekannt ist, können Sie sie mit dem Parameter -r angeben, um sicherzustellen, dass die Kennwortverlängerungskontrollen mit den Einstellungen Ihrer Umgebung übereinstimmen (Standard ist 90 Tage). Wenn die Kennwortrichtlinie beispielsweise auf 180 Tage festgelegt ist, können Sie Folgendes verwenden:

root@kitploit:~
AD-miner -c -cf My_Report -b bolt://server:7687 -u neo4j -p mypassword -r 180

[!TIP] Das Standardkennwort der Bloodhound CE Neo4j-Datenbank ist bloodhoundcommunityedition oder neo5j, wenn Sie BloodHound Automation verwenden

Optionen:

root@kitploit:~
  -h, --help            Diese Hilfemeldung anzeigen und beenden
  -b BOLT, --bolt BOLT  Neo4j Bolt-Verbindung (Standard: bolt://127.0.0.1:7687)
  -u USERNAME, --username USERNAME
                        Neo4j-Benutzername (Standard: neo4j)
  -p PASSWORD, --password PASSWORD
                        Neo4j-Passwort (Standard: bloodhoundcommunityedition)
  -e EXTRACT_DATE, --extract_date EXTRACT_DATE
                        Extraktionsdatum (z. B. 20220131). Standard: letztes Anmeldedatum
  -r RENEWAL_PASSWORD, --renewal_password RENEWAL_PASSWORD
                        Kennwortverlängerungsrichtlinie in Tagen. Standard: 90
  -c, --cache           Lokale Datei für Neo4j-Daten verwenden
  -l LEVEL, --level LEVEL
                        Rekursionstiefe für Pfadabfragen
  -cf CACHE_PREFIX, --cache_prefix CACHE_PREFIX
                        Zu verwendende Cache-Datei (bei mehreren Firmen-Cache-Dateien)
  --gpo_low             Führt eine schnellere, aber unvollständige Abfrage für GPO durch (schneller als die reguläre Abfrage)
  -ch NB_CHUNKS, --nb_chunks NB_CHUNKS
                        Anzahl der Blöcke für parallele Neo4j-Anfragen. Standard: 20 * Anzahl der CPUs
  -co NB_CORES, --nb_cores NB_CORES
                        Anzahl der Kerne für parallele Neo4j-Anfragen. Standard: Anzahl der CPUs
  --rdp                 Die CanRDP-Kante in Graphen einbeziehen
  --evolution EVOLUTION
                        Entwicklung im Zeitverlauf: Speicherort der JSON-Datendateien. z.B.: '../../tests/'
  --cluster CLUSTER     Knoten des Clusters zum Ausführen paralleler Neo4j-Abfragen. z.B.: host1:port1:nCore1,host2:port2:nCore2,...

In den Graphenseiten können Sie mit der rechten Maustaste auf die Graphenknoten klicken, um sie zu clustern oder den Cluster zu öffnen.

Entwicklung

Wenn Sie mehrere AD-Miner-Berichte im Laufe der Zeit haben, können Sie die Entwicklung einfach mit dem --evolution-Argument verfolgen: Jeder AD-Miner-Bericht generiert eine JSON-Datendatei zusammen mit der index.html-Datei. Sie müssen lediglich diese verschiedenen JSON-Dateien in einem einzigen Ordner sammeln und den Pfad zu diesem Ordner nach dem --evolution-Argument angeben.

root@kitploit:~
AD-miner -c -cf My_Report -b bolt://server:7687 -u neo4j -p mypassword -r 180 --evolution evolution_folder/

Ein Tab 'Entwicklung im Zeitverlauf' erscheint auf der Hauptseite und bietet Entwicklungsgraphen für jede Kategorie (Berechtigungen, Passwörter, Kerberos und Sonstiges).

Eine detaillierte Entwicklung für jede Kontrolle ist ebenfalls verfügbar und kann über die Schaltfläche 'Entwicklung anzeigen' für jede Kategorie aufgerufen werden. Eine logarithmische Skala ist verfügbar, um subtile Variationen im Zeitverlauf besser hervorzuheben.

Intelligenteste Pfade

AD Miner kann Pfade basierend auf ihrer tatsächlichen Ausnutzbarkeit berechnen. Tatsächlich ist der kürzeste Pfad manchmal schwierig auszunutzen (hier wegen des ExecuteDCOM vor dem HasSession).

Während ein längerer, aber einfacherer Pfad existiert (hier mit MemberOf und AdminTo anstelle von ExecuteDCOM).

AD Miner wechselt automatisch in den Smartest-Path-Modus, wenn Ihre Neo4j-Datenbank das Graph Data Science-Plugin installiert hat (https://neo4j.com/docs/graph-data-science/current/). Der einfachste Weg, dieses Plugin zu installieren, ist die Definition einer Umgebungsvariable in Ihrem Neo4j-Docker: NEO4J_PLUGINS=["graph-data-science"] (standardmäßig installiert mit BloodHound Automation).

Derzeit nutzen 10 Kontrollen die vollständige Graphabdeckung und optimieren die intelligentesten Pfade für die Analyse.

Implementierte Kontrollen

Kontrollen für On-Premise

Kontrollen für Entra ID

Mitwirken

Erfahren Sie, wie Sie hier mitwirken können.

Tool herunterladen
KategorieBeschreibungKategorieBeschreibung
KerberosAS-REP Roastable-KontenSonstigesComputer mit veraltetem Betriebssystem
KerberosKerberoastable-KontenSonstigesInaktive Konten
KerberosKerberos eingeschränkte DelegierungSonstigesFunktionsebene der Domäne
KerberosKerberos RBCD gegen ComputerSonstigesGeistercomputer
KerberosKerberos uneingeschränkte DelegierungenSonstigesGruppen ohne Mitglieder
KerberosAltes KRBTGT-PasswortSonstigesOUs ohne Mitglieder
KerberosShadow Credentials auf privilegierten KontenSonstigesShadow Credentials auf Domänencontrollern
KerberosShadow Credentials auf regulären KontenSonstigesUnerwartete PrimaryGroupID
PasswörterZugriff auf LAPS-PasswörterSonstigesBenutzer-FGPP
PasswörterComputer ohne LAPSBerechtigungenACL-Anomalien
PasswörterObjekte können GMSA-Passwörter von Administratoren lesenBerechtigungenAngriffspfad-Engpässe
PasswörterUmgehung der PasswortanforderungBerechtigungenComputer als Admin anderer Computer
PasswörterBenutzer mit KlartextpasswörternBerechtigungenDomänenübergreifende Pfade zu Domänenadmin
PasswörterBenutzer mit alten PasswörternBerechtigungenGastkonten
PasswörterBenutzer ohne PasswortablaufBerechtigungenUnzureichender Zugriff auf DCSync-Berechtigungen
BerechtigungenUnzureichende AdminCount-EinstellungenBerechtigungenUnzureichende Berechtigungen für GPO-Änderungen
BerechtigungenUnzureichende Anzahl von DomänenadminsBerechtigungenMaschinenkonten mit unzureichenden Berechtigungen
BerechtigungenMaschinenkonten mit unzureichenden BerechtigungenBerechtigungenNicht-Tier-0 lokale Admin-Berechtigungen auf ADCS
BerechtigungenObjekte mit SID-VerlaufBerechtigungenPfade zu DNS-Admins
BerechtigungenPfade zu DomänenadminsBerechtigungenPfade zu Operator-Gruppen
BerechtigungenPfade zu Organisationseinheiten (OU)BerechtigungenPfade zu Servern
BerechtigungenPfade zum AdminSDHolder-ContainerBerechtigungenGruppe "Pre-Windows 2000 Compatible Access"
BerechtigungenPrivilegiertes Konto außerhalb der geschützten BenutzergruppeBerechtigungenRDP-Zugriff (Computer)
BerechtigungenRDP-Zugriff (Benutzer)BerechtigungenTier-0-Verstoß (Sitzungen)
BerechtigungenBenutzer mit starken domänenübergreifenden BerechtigungenBerechtigungenBenutzer mit lokalen Admin-Berechtigungen
KategorieBeschreibungKategorieBeschreibung
Entra ID SonstigesAzure-inaktive KontenEntra ID MS GraphDirekte Controller von MS Graph
Entra ID PasswörterEntra ID-KennwortzurücksetzungsberechtigungenEntra ID MS GraphEntra ID-Konten nicht mit On-Premises synchronisiert
Entra ID PasswörterInkohärente letzte KennwortänderungEntra ID MS GraphSynchronisierte Konten mit deaktiviertem Zwillingskonto
Entra ID BerechtigungenZugriff auf privilegierte Entra ID-RollenEntra ID BerechtigungenPrivilegierte Konten sowohl auf On-Premises als auch in Azure
Entra ID BerechtigungenOn-Premises/Entra ID-übergreifender Pfad zu Tier-0Entra ID BerechtigungenBenutzer, die möglicherweise mit AADConnect in Verbindung stehen
Entra ID BerechtigungenEntra ID-Benutzer mit Pfad zu hochwertigen Zielen