Adalanche - Active Directory ACL Attack Path Visualizer Cheatsheet
Adalanche ist ein Open-Source-Tool auf Go-Basis, das Active Directory-Objekte, Berechtigungen (ACLs) und Gruppenmitgliedschaften sammelt und dann sofort die Angriffspfade in einem Graphen visualisiert — wer die Kontrolle über wen übernehmen kann und wie. Es beantwortet die Frage „Welche Berechtigungen haben Benutzer in AD und wer kann wen angreifen?” ohne externe Datenbank oder Ingestor-Stack: Es extrahiert AD-Daten, analysiert ACL-basierte Privilegiesteigerung und zeigt einen interaktiven Graphen im Browser. Es ist eine schnelle, eigenständige Alternative/Ergänzung zu BloodHound für autorisierte AD-Sicherheitsbewertungen.
Nur für autorisierte Active Directory-Bewertungen geeignet. Das Sammeln und Analysieren von Verzeichnisdaten erfordert Genehmigung des Domain-Inhabers.
Installation
| Method | How |
|---|
| Binary | Download for Windows/Linux/macOS from GitHub Releases |
| From source | go install github.com/lkarlslund/adalanche@latest |
| Single binary | Keine Abhängigkeiten; Sammler + Analyzer + Web-UI in einer Datei |
| Verify | adalanche version |
Two Phases
| Phase | Command |
|---|
| Collect | AD-Daten in eine lokale Datei extrahieren |
| Analyze | Die Daten laden und die Graph-UI bereitstellen |
Collecting Data
# Collect from a domain (LDAP), authenticated
adalanche collect activedirectory \
--domain example.local \
--username analyst --password '***' \
--server dc01.example.local
| Flag | Zweck |
|---|
--domain | Ziel-AD-Domain (FQDN) |
--server | Domain Controller zum Abfragen |
--username / --password | Anmeldedaten (oder Kerberos) |
--authmode | Authentifizierungsmethode (ntlm, kerberos, …) |
--tlsmode | TLS/LDAPS-Optionen |
| collectors | activedirectory, plus lokale Sammler |
Daten werden als komprimierte Objekte in ein lokales data/-Verzeichnis gespeichert.
Analyzing / Serving the Graph
# Load collected data and open the web UI
adalanche analyze
# → browse to http://localhost:8080
| Flag | Zweck |
|---|
--datapath | Wo sich die erfassten Daten befinden |
--bind | Adresse/Port für die Web-UI |
| Query box | LDAP-ähnliche / integrierte Abfragen eingeben |
| Pre-defined analyses | „Wer kann die Domain Admins erreichen” usw. |
What It Maps (Attack Edges)
| Edge/technique | Bedeutung |
|---|
WriteDACL / WriteOwner | Kann die Berechtigungen eines Objekts umschreiben |
GenericAll / GenericWrite | Volle/teilweise Kontrolle über ein Objekt |
ForceChangePassword | Kann das Passwort eines Ziels zurücksetzen |
AddMember | Kann sich einer privilegierten Gruppe hinzufügen |
AllExtendedRights | DCSync und andere sensitive Rechte |
| Kerberos delegation | Constrained/Unconstrained Delegation Missbrauch |
| GPO links | Kontrolle über verlinkte Gruppenrichtlinie |
Querying
| Query | Findet |
|---|
| Target Domain Admins | Alles, das die DA-Gruppe erreichen kann |
| Pick a user → “Reach” | Was dieser Prinzipal letztendlich kontrollieren kann |
| Filter by edge type | Nur WriteDACL, nur Delegation usw. |
| Shortest path | Minimale Kette von A zu einem wertvollen Ziel |
Die UI hebt den kürzesten Pfad der Privilegiesteigerung von einem beliebigen Prinzipal zu einem sensitiven Ziel hervor, die Kernausgabe der Bewertung.
Common Workflows
# Full assessment: collect then analyze
adalanche collect activedirectory --domain corp.local \
--username audit --password '***' --server dc.corp.local
adalanche analyze # open the browser, target "Domain Admins"
# Offline analysis: share the data/ folder, analyze anywhere
adalanche analyze --datapath ./data
Adalanche vs BloodHound
| Aspect | Adalanche | BloodHound (CE) |
|---|
| Backend | Keine (Single Binary) | Neo4j / API + Sammler |
| Focus | ACL/Permission-Angriffspfade | Breite AD/Azure-Angriffspfade |
| Setup | Minimal | Schwerere Stack |
| Collectors | Integriertes AD + lokal | SharpHound / AzureHound / NetExec |
| Best for | Schnelle ACL-zentrische Analyse | Umfassende Pfadabbildung |
Ergänzt BloodHound und Sammler wie NetExec; verwende Adalanche für schnelle, datenbankfreie ACL-Analyse.
Resources