“One does not simply persist without being detected”

El nombre no es casualidad. Igual que Boromir no pudo resistir la tentación del Anillo Único, el malware no puede resistir la tentación de establecer persistencia. Y igual que Boromir al final reveló sus intenciones, esta herramienta revela todas las formas en las que algo persiste en un sistema Windows.

¿Qué es Persistence Boromir?

Persistence Boromir es una herramienta forense en Python creada por Alejandro Gamboa (AI3xGP), con contribuciones de @skyg4mb y @jupyterj0nes. Su objetivo es detectar y catalogar 24 mecanismos diferentes de persistencia en sistemas Windows comprometidos, generando una timeline que permite al analista centrarse en la “zona roja” del incidente.

¿Por qué importa la persistencia?

En una respuesta ante incidentes, hay una pregunta que siempre aparece en las primeras fases:

“¿Cómo se mantiene el atacante en el sistema?”

Si no identificas todos los mecanismos de persistencia, el atacante volverá después de que “limpies” el sistema. Y no hablamos solo de las claves Run del registro — hay 24 técnicas documentadas, muchas de ellas poco conocidas incluso por analistas experimentados.

Los 24 mecanismos de persistencia

Registro de Windows

Mecanismo Técnica MITRE Descripción
Run / RunOnce T1547.001 Ejecución al inicio de sesión
Image File Execution Options T1546.012 Hijacking de ejecución de procesos
AppPaths T1546 Redirección de rutas de aplicación
Shell Extensions T1546.015 Extensiones de shell COM
Winlogon T1547.004 Hooks en el proceso de logon
AppInit_DLLs T1546.010 DLLs cargadas en cada proceso

Ejecución y servicios

Mecanismo Técnica MITRE Descripción
Servicios de Windows T1543.003 Servicios maliciosos
Tareas programadas T1053.005 Scheduled tasks
Startup Folders T1547.001 Carpetas de inicio

Hijacking y técnicas avanzadas

Mecanismo Técnica MITRE Descripción
DLL Search Order Hijacking T1574.001 Explotación del orden de búsqueda de DLLs
COM Object Hijacking T1546.015 Secuestro de objetos COM
WerFaultHangs Abuso del manejador de errores de Windows
Logon Scripts T1037.001 Scripts ejecutados al iniciar sesión

Y muchos más hasta completar las 24 técnicas.

Cómo funciona

Boromir escanea el sistema (o una imagen forense) buscando todos los mecanismos de persistencia conocidos:

python boromir.py --target /evidence/mounted_image/ --output results.csv --timezone "Europe/Madrid"

Output

El CSV de salida incluye:

Campo Descripción
Timestamp Cuándo se creó/modificó la persistencia
Mechanism Qué tipo de persistencia es
Path Dónde se encuentra (clave de registro, ruta de archivo, etc.)
Value Qué ejecuta
Details Información adicional

La “zona roja”

Al ordenar los resultados cronológicamente, puedes identificar la zona roja — el periodo de tiempo en el que el atacante estableció sus mecanismos de persistencia. Esto te da:

  • Cuándo ocurrió la infección
  • Qué se instaló como persistencia
  • Correlación con otros artefactos (logs, prefetch, etc.)

¿Cuándo usar Boromir?

  • Triage inicial — ¿Hay persistencia maliciosa en esta máquina?
  • Post-limpieza — ¿Hemos eliminado todos los mecanismos de persistencia?
  • Hunting — Búsqueda proactiva de persistencia en la infraestructura
  • Formación — Entender los 24 mecanismos de persistencia de Windows

Próximos posts

  • Análisis detallado de cada mecanismo de persistencia
  • Guía de ejecución paso a paso
  • Interpretación de resultados y detección de falsos positivos
  • Integración con KAPE y otras herramientas de triage
  • Caso práctico: detectando persistencia en un incidente real