
Active Directory Forensic Toolkit : Detectar y reconstruir ataques AD a partir de registros de eventos de Windows (EVTX)
ADFT es un kit de herramientas de investigación offline para Active Directory / Windows con una interfaz web local integrada.
Esta versión oficial v1.0 incluye una superficie de producto coherente:
ADFT ingiere evidencia exportada, convierte cada fuente compatible a JSONL canónico, aplica detecciones y correlaciones deterministas, calcula una puntuación de exposición observada de AD, reconstruye la progresión del ataque y genera artefactos de investigación y endurecimiento.
ADFT analiza conjuntos de datos offline de Windows / AD / SIEM y produce artefactos de investigación a través de una CLI y una GUI integrada.

ADFT v1.0 soporta:
ADFT acepta evidencia fuente en múltiples formatos y los convierte a JSONL canónico antes del análisis:
Instalación recomendada en un solo paso:
./install_adft.sh
Recomendada para validación real de EVTX:
./install_adft.sh --run-demo
Instalación manual:
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -e ".[full]"
Instalación para desarrollo:
pip install -e ".[full,dev]"
Las notas detalladas sobre dependencias se encuentran en docs/DEPENDENCIES.md.
Nota del repositorio: pyproject.toml es la fuente de verdad para el empaquetado. install_adft.sh es la ruta de instalación completa oficial para v1.0, y requirements-dev.txt sigue disponible para colaboradores y 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
Inicie la GUI integrada con:
adft ui -o reports_gui --host 127.0.0.1 --port 8765
Luego abra:
http://127.0.0.1:8765

La GUI está impulsada por el backend: las vistas de carga, conversión, investigación, alertas, línea temporal, reconstrucción, gráfico, benchmark, endurecimiento y exportación leen el estado real de la ejecución de ADFT en lugar de reproducir la lógica de negocio en el navegador.
ADFT soporta investigación basada en grafos a partir de un pivote seleccionado, con relaciones visibles, alcance temporal y navegación orientada al 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 después de la exportación de endurecimiento desde GUI o CLIEVTX forma parte del perímetro soportado.
En tiempo de ejecución, la conversión de EVTX requiere python-evtx.
Sin ella, las entradas EVTX no se pueden analizar correctamente. Por eso, la ruta de instalación recomendada para la versión oficial v1.0 es:
./install_adft.sh
Esta versión v1.0 incluye 34 reglas en un pipeline determinista y explicable.
adft/
cli/ puntos de entrada de línea de comandos
core/ ingestión, normalización y modelos de datos
detection/ paquete de reglas determinista y pipeline de detección
correlation/ agrupación de alertas y lógica de campañas
timeline/ reconstrucción de línea temporal
graph/ gráfico de entidades y análisis de rutas de ataque
investigation/ ayudantes de narrativa de caso y reconstrucción
analysis/ puntuación y análisis de calidad de datos
harden/ lógica de remediación y endurecimiento
reporting/ informes JSON, CSV y HTML independientes
exports/ exportaciones de Navigator y reproducción
ui_server.py servidor HTTP integrado y puente del backend de la GUI
webui_dist/ activos de la interfaz web empaquetados servidos por el backend
datasets/ conjuntos de datos de demostración utilizados para pruebas de humo
frontend_source/
src/ fuente React/Vite para la GUI integrada
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 de benchmark proporciona una superficie de validación compacta del producto con métricas de ejecución y comprobaciones de la versión empaquetada.
Vea también:
docs/TESTING.mddocs/ARCHITECTURE.mddocs/DEPENDENCIES.mddocs/RELEASE_VALIDATION.mdLa GUI integrada incluye un interruptor persistente de idioma FR/EN en la barra superior. La elección se almacena localmente en el navegador y se aplica a la navegación principal, las pantallas y las etiquetas orientadas al analista.
ADFT v1.0 incluye adft/datasets/ad_prod_investigation_post_siem_demo_1000_events.json para una demostración completa de ransomware que ejercita conversión, línea temporal, gráfico, alertas y exportaciones.