
Active Directory Forensic Toolkit : Rileva e ricostruisce attacchi AD dai log degli eventi di Windows (EVTX)
ADFT è un toolkit per l'investigazione offline di Active Directory / Windows con un'interfaccia web locale integrata.
Questa versione ufficiale v1.0 fornisce una superficie di prodotto coerente:
ADFT acquisisce prove esportate, converte ogni sorgente supportata in JSONL canonico, applica rilevamenti e correlazioni deterministici, calcola un punteggio di esposizione AD osservato, ricostruisce la progressione dell'attacco e genera artefatti di investigazione e hardening.
ADFT analizza dataset offline orientati a Windows / AD / SIEM e produce artefatti di investigazione attraverso una CLI e una GUI integrata.

ADFT v1.0 supporta:
ADFT accetta prove sorgente in vari formati e le converte in JSONL canonico prima dell'analisi:
Installazione consigliata one-shot:
./install_adft.sh
Consigliata per validazione EVTX reale:
./install_adft.sh --run-demo
Installazione manuale:
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -e ".[full]"
Installazione di sviluppo:
pip install -e ".[full,dev]"
Le note dettagliate sulle dipendenze sono elencate in docs/DEPENDENCIES.md.
Nota del repository: pyproject.toml è la fonte di verità per il packaging. install_adft.sh è il percorso di installazione completo ufficiale per v1.0, e requirements-dev.txt rimane disponibile per contributori e CI.
adft convert test_logs -o converted_inputs
adft investigate test_logs/attack.json -o reports_core --format html json csv --export-events-jsonl
adft summary -o reports_core
adft alerts -o reports_core --full
adft score -o reports_core
adft story -o reports_core --full
adft attack-chain -o reports_core
adft attack-path -o reports_core
adft reconstruct -o reports_core --full
adft harden -o reports_core --dry-run --export-scripts reports_core/remediation
adft report -o reports_core
Avvia la GUI integrata con:
adft ui -o reports_gui --host 127.0.0.1 --port 8765
Poi apri:
http://127.0.0.1:8765

La GUI è guidata dal backend: le viste di upload, conversione, investigazione, avvisi, timeline, ricostruzione, grafico, benchmark, hardening ed esportazione leggono lo stato reale dell'esecuzione di ADFT invece di riprodurre la logica di business nel browser.
ADFT supporta l'investigazione basata su grafico da un pivot selezionato, con relazioni visibili, scoping temporale e navigazione orientata all'analista.

adft_report.htmladft_report.jsonadft_report.csvattack_navigator_layer.jsonadft_replay.jsonattack_graph.mmdadft_integrity.json.adft_last_run.jsonconverted_inputs/conversion_manifest.jsonhardening_scripts.zip after GUI or CLI hardening exportEVTX fa parte del perimetro supportato.
A runtime, la conversione EVTX richiede python-evtx.
Senza di esso, gli input EVTX non possono essere analizzati correttamente. Ecco perché il percorso di installazione consigliato per la versione ufficiale v1.0 è:
./install_adft.sh
Questa versione v1.0 include 34 regole in un pipeline deterministico e spiegabile.
adft/
cli/ punti di ingresso della riga di comando
core/ acquisizione, normalizzazione e modelli dati
detection/ rulepack deterministico e pipeline di rilevamento
correlation/ raggruppamento avvisi e logica di campagna
timeline/ ricostruzione timeline
graph/ grafico entità e analisi percorso attacco
investigation/ narrazione del caso e helper di ricostruzione
analysis/ punteggio e analisi qualità dati
harden/ remediation e logica di hardening
reporting/ report JSON, CSV e HTML standalone
exports/ esportazioni Navigator e replay
ui_server.py server HTTP integrato e bridge backend GUI
webui_dist/ asset UI web impacchettati serviti dal backend
datasets/ dataset demo usati per smoke test
frontend_source/
src/ sorgente React/Vite per la GUI integrata
pytest -q
python3 main.py investigate adft/datasets/ransomware_pre_encryption_campaign.json -o /tmp/adft_release_reports --format html json csv --export-events-jsonl
python3 main.py ui -o /tmp/adft_release_reports --host 127.0.0.1 --port 8765

La vista benchmark fornisce una superficie di validazione del prodotto compatta con metriche di esecuzione e controlli di release impacchettati.
Vedi anche:
docs/TESTING.mddocs/ARCHITECTURE.mddocs/DEPENDENCIES.mddocs/RELEASE_VALIDATION.mdLa GUI integrata include un selettore di lingua FR/EN persistente nella barra superiore. La scelta viene memorizzata localmente nel browser e si applica alla navigazione principale, alle schermate e alle etichette rivolte all'analista.
ADFT v1.0 include adft/datasets/ad_prod_investigation_post_siem_demo_1000_events.json per una dimostrazione end-to-end di ransomware che esercita conversione, timeline, grafico, avvisi e esportazioni.