Torna agli aggiornamenti
New releaseAug 20, 2026

AD-PathFinder v1.2.0

Mappatura del percorso di attacco per Active Directory, ADCS, SCCM e MSSQL utilizzando BloodHound CE + OpenGraph data.

Condividi

ADPathFinder

build

ADPathFinder è uno strumento di mappatura degli attacchi per pentester e red teamer. Analizza i dati di SharpHound e li unifica con i plugin OpenGraph per individuare i percorsi di attacco verso obiettivi di alto valore come Amministratori di Dominio e Controller di Dominio, partendo da utenti e computer con privilegi ridotti. MSSQLHound e ConfigManBearPig sono supportati nativamente, estendendo la copertura su AD, ADCS, SCCM e MSSQL.

Blog: Mappatura dei percorsi di attacco OpenGraph in BloodHound CE

ADPathFinder CLI demo showing grouped risk findings and attack paths

Vai a: Avvio rapido · Copertura · Come funziona · Report · Configurazione · Contributori

Copertura

AreaEsempi
AD principalePercorsi di escalation, deleghe, diritti di amministratore, BadSuccessor, sessioni di alto valore esposte
PasswordPassword deboli, password vuote, riutilizzo, somiglianza tra nomi utente, uso di hash LM, esposizione Kerberoast e AS-REP abbinate a password deboli
ADCSRischi legati a modelli di certificato stile ESC e CA
MSSQL (dati OpenGraph di MSSQLHound)Login, server collegati, impersonificazione, relay e percorsi di escalation dei privilegi
SCCM (dati OpenGraph di ConfigManBearPig)Percorsi di takeover e relay, punti di distribuzione abilitati PXE e recupero criteri da management point
Tra dominiTrust, password condivise e percorsi di escalation tra domini

Requisiti

  • Python 3.9 o successivo.
  • BloodHound CE e Neo4j disponibili localmente di default su neo4j://localhost:7687.
  • Credenziali API di BloodHound CE per operazioni di importazione ed eliminazione.
  • Uno zip di BloodHound CE / SharpHound per la copertura dell'audit AD.
  • Zip opzionali dei plugin OpenGraph da MSSQLHound e ConfigManBearPig per la copertura MSSQL e SCCM.
  • Dump di hash NTDS e potfile di hashcat opzionali per audit delle password.

Avvio rapido

Installa dal sorgente
git clone https://github.com/NetSPI/AD-PathFinder.git
cd AD-PathFinder
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
Configura l'accesso API di BloodHound
adpathfinder --setup-bloodhound-api

Questo salva le impostazioni API di BloodHound CE utilizzate per le operazioni di importazione ed eliminazione.

Importa dati SharpHound
adpathfinder --import SharpHound.zip

È possibile importare più file zip di SharpHound e plugin OpenGraph con un unico comando:

adpathfinder --import SharpHound.zip MSSQLHound.zip ConfigManBearPig.zip
Importa dati ed esegui un audit completo
adpathfinder -i SharpHound.zip MSSQLHound.zip ConfigManBearPig.zip --ad --pwd Contoso,ContosoIT --ntds ntds.txt -p hashcat.potfile

Utilizza solo i file zip che hai. Il valore --pwd non è il dominio AD; è un elenco separato da virgole di termini di azienda, marchio o organizzazione da segnalare nelle password craccate.

Esegui un audit del dominio
adpathfinder --ad
Esegui un audit delle password
adpathfinder --ad --pwd Contoso,ContosoIT --ntds ntds.txt -p hashcat.potfile

Utilizza --unsafe-report solo quando i report devono includere password in chiaro.

Scrivi diagnostica
adpathfinder --ad --pwd Contoso,ContosoIT --ntds ntds.txt -p hashcat.potfile --diagnostics

Come funziona

FaseCosa succede
InserimentoUnisce gli zip di SharpHound e dei plugin OpenGraph supportati in un unico grafo. I dati di MSSQLHound e ConfigManBearPig sono supportati direttamente
MappaturaTrova i percorsi più brevi da utenti e computer agli obiettivi di alto valore. Puoi configurare il set di archi per rimuovere archi rumorosi come HasSession
RaggruppamentoRaggruppa gli account che condividono un percorso, in modo che i percorsi ripetuti siano riportati come un unico risultato invece di molti quasi duplicati
AbbinamentoConfronta gli hash NTDS e i potfile di hashcat con i dati del grafo per mostrare quali percorsi sono utilizzabili durante la valutazione
StratificazioneSegnala risultati indipendenti come firma SMB disabilitata o gruppi privilegiati predefiniti, e aumenta la gravità quando lo stesso host o gruppo si trova anche su un percorso verso obiettivi di alto valore
RenderingScrive report HTML con grafici dei percorsi SVG, note di mitigazione, passaggi di validazione PowerShell e tracciamento dello stato corretto, oltre a output di testo, JSON e diagnostica

ADPathFinder workflow diagram

Report HTML AD

ADPathFinder AD report walkthrough showing overview, mitigation, and confirmation steps

Report HTML per Audit Password

ADPathFinder password audit report walkthrough showing cracked categories, policy compliance, password lengths, and roastable accounts

Configurazione

ADPathFinder legge config.ini dalla directory di lavoro. I valori possono anche essere impostati con variabili d'ambiente ADPF_*.

Esegui questo comando per configurare l'accesso API di BloodHound CE per importazioni ed eliminazioni:

adpathfinder --setup-bloodhound-api

Vedi Configurazione sul wiki per tutte le opzioni, impostazioni di connessione Neo4j, permessi dei file e configurazioni di esempio. Vedi Relazioni escluse per filtrare l'output dei percorsi di attacco.

Output

I report vengono scritti in report_<dominio>/, ad esempio report_training.local/.

OutputScopo
<dominio>_AD_report.htmlReport HTML per i client con risultati raggruppati, grafici dei percorsi, note di mitigazione, passaggi di validazione e tracciamento dello stato corretto
<dominio>_domain_audit.txt / <dominio>_domain_audit.jsonOutput di audit del dominio in formato testo e JSON per revisione, automazione e analisi successive
<dominio>_password_audit.html / <dominio>_password_audit.txt / <dominio>_password_audit.jsonOutput di audit delle password quando vengono forniti hash NTDS e un potfile di hashcat
<dominio>_*_unsafe.*Report unsafe opzionali generati solo con --unsafe-report; possono includere password in chiaro
diagnostics.jsonStatistiche di esecuzione e dati di debug opzionali generati con --diagnostics

Gestisci i dati NTDS, i potfile e i report generati come dati sensibili della valutazione. Il flag --unsafe-report scrive password in chiaro nei file di output; utilizzalo solo quando hai specificamente bisogno di password in chiaro nel report e conserva i file _unsafe risultanti di conseguenza.

Vedi sample_reports/ per esempi di output di audit del dominio e delle password.

Contributori

I controlli sono piccole classi che si registrano con un decorator, dichiarano i loro requisiti di dati e restituiscono dizionari di risultati. I controlli di piattaforma dichiarano la loro origine dati, quindi gli audit AD normali saltano i controlli MSSQL o SCCM quando i dati OpenGraph corrispondenti non sono presenti.

Vedi Aggiungere nuovi controlli, Lavorare con i plugin OpenGraph e la Guida al framework sul wiki.

Test

Esegui pip install -e ".[test]" poi pytest tests/ -m "not neo4j and not integration" per eseguire i test rapidi del framework senza Neo4j. Vedi tests/README.md per la suite di fixture Neo4j e il flusso di lavoro completo dei test locali.

Riconoscimenti

ADPathFinder si basa sui dati raccolti da altri progetti; grazie ai loro autori e al team di SpecterOps:

Categorie