DetonatorAgent: herramienta práctica para detonar de forma segura código malicioso y recopilar registros de EDR

DetonatorAgent: herramienta práctica para detonar de forma segura código malicioso y recopilar registros de EDR

DetonatorAgent — es ese raro caso en el que el autor advierte con franqueza: delante suyo no hay un producto corporativo pulido, sino una plantilla de trabajo para equipos que quieren comprobar rápida y repetidamente sus cadenas de acceso inicial y ver cómo reacciona la defensa. En el espíritu — más «hágalo usted mismo por inspiración», en la práctica — una pequeña API web multiplataforma en .NET 8 que sabe simular con cuidado un «clic» sobre una muestra de prueba como si lo hiciera un usuario real, y devolver de inmediato los registros del EDR. Ha salido simple, directo y con una nota de autoironía «Vibe-Coded» — a cambio el arranque se hace con un único comando y los escenarios son exactamente los útiles en la práctica.

La idea de la herramienta es transparente: dar al equipo ofensivo una forma cómoda de ejecutar MalDev mediante una activación de usuario realista y recoger al momento los eventos de detección y respuesta en endpoints (EDR) para entender si lo notaron o no y, en caso de que lo hicieran, qué fue exactamente. DetonatorAgent está conceptualmente ligado a RedEdr, que recoge «como un EDR», y puede operar junto con Detonator (hay una demostración en detonator.r00ted.ch). La arquitectura es minimalista: se levanta una interfaz HTTP local en http://localhost:8080, además de un Swagger listo en /swagger para probar rápidamente los endpoints. El arranque se hace con dotnet run, los requisitos son mínimos: solo hace falta .NET 8. Un beneficio importante es la realismo del disparador: la herramienta usa las asociaciones por defecto en Windows, es decir, el archivo se ejecuta no «por la magia de la consola», sino por el mismo mecanismo que usa el explorador, lo que reduce la brecha entre el laboratorio y el campo.

Ejecución de muestras y recopilación de registros: modos, formatos, ciclo de trabajo

La función clave es /api/execute/exec. Acepta un archivo y lo ejecuta de forma que el antivirus y el EDR vean un escenario lo más «orientado al usuario» posible. Se admiten contenedores y formatos ejecutables típicos — tanto para inicio directo como para casos en los que la carga útil está dentro de un archivo comprimido.

  • Extensiones admitidas: .exe (inicio directo), .zip (descomprimir y ejecutar), .iso (montar y arrancar).
  • Modos de ejecución:
    • ExecProcess.Start() estándar con UseShellExecute=true.
    • AutoIt — ejecución a través de AutoItX.Run() en la línea de Exec.
    • AutoItExplorer — la vía más «real»: se abre una ventana de explorer.exe y se realiza un «clic» virtual sobre el archivo.

Los parámetros permiten cambiar sobre la marcha la carpeta de extracción, indicar argumentos para .exe, elegir un archivo ejecutable específico dentro del ZIP y alternar el modo de ejecución. Para contenedores se aplica una lógica cercana a la del explorador: el ZIP se descomprime en un directorio temporal y luego se ejecuta el primer archivo ejecutable por orden alfabético, salvo que se indique otro.

El segundo pilar de la herramienta es /api/logs/edr. En la etapa actual se soporta Microsoft Defender (MDE). El endpoint devuelve eventos de Windows Defender ya sea en el intervalo entre la llamada de ejecución y la petición de registros, o toda la secuencia si no ha habido ejecuciones previas. La respuesta es un bloque estructurado con eventos en XML, además de las versiones del EDR y del complemento. Así se obtiene de inmediato «qué y cómo se registró» justo después de la detonación, sin buscar manualmente en los registros del sistema.

El ciclo de trabajo ideal es sencillo y agradablemente automatizado: enviar el archivo para ejecución, esperar una breve pausa, solicitar los registros y limpiar. Para entornos compartidos existe el script práctico scan-file.ps1, que hace todo en una sola pasada: coloca un bloqueo en la máquina virtual, ejecuta la muestra, recoge los registros EDR, del agente y de ejecución, termina el proceso y libera el bloqueo. El comando muestra un progreso paso a paso comprensible, de modo que hay menos conflictos entre participantes y «carreras» por el recurso, y más disciplina.

Qué gustó, qué limitaciones y a quién va dirigido

Las fortalezas son evidentes. En primer lugar, la realismo del disparador mediante asociaciones y el explorador: muchos lanzadores de laboratorio pecan de artificiales, mientras que DetonatorAgent imita el comportamiento del usuario y con ello resalta con mayor precisión las reacciones reales del EDR. En segundo lugar, la API sencilla y el Swagger visual — la barrera de entrada se mide literalmente en minutos. En tercer lugar, el soporte de contenedores típicos .zip y .iso evita pasos innecesarios al preparar muestras. Por último, el escenario de PowerShell con bloqueo a nivel de VM transforma acciones dispersas en una cadena reproducible y ordenada.

También hay limitaciones y no tiene sentido ocultarlas. A día de hoy los registros se obtienen solo de Microsoft Defender — si dispone de un parque híbrido con varios EDR, habrá que esperar ampliaciones de soporte o integrar complementos propios. La herramienta se presenta como una «inspiración», no como una solución completa: en algunos puntos se aprecia una minimalidad deliberada, pero la base de código es más fácil de adaptar a flujos propios. Otro matiz: el enfoque en Windows; sí, la API es multiplataforma, pero los modos realistas de clic y asociaciones están ligados al ecosistema del explorador.

¿A quién le sirve? A equipos ofensivos y a equipos internos de defensa que necesiten una forma rápida y honesta de detonar cadenas de forma reproducible y analizar la telemetría inmediatamente. A evaluadores de penetración y a desarrolladores de MalDev la herramienta les ofrece un entorno cómodo para probar hipótesis antes de operaciones reales. Los equipos de defensa también salen beneficiados: es fácil recopilar ejemplos positivos y negativos vinculados a eventos concretos de Defender para ajustar reglas y playbooks. Lo importante es no olvidar la parte legal y ética: trabajar solo en entornos propios y con muestras de origen conocido, y mantener la infraestructura aislada.

En resumen, DetonatorAgent es un «microservicio-detonador» útil: un envoltorio mínimo, ejecución realista, extracción rápida de registros y un escenario de automatización cómodo. No pretende sustituir a grandes marcos de trabajo, pero cubre muy bien las tareas cotidianas de comprobación de detecciones y ayuda a responder la pregunta práctica principal: ¿la defensa vio lo que acabo de hacer y en qué quedó registrado? Si eso era justo lo que le faltaba entre el IDE y la SIEM, es un buen momento para probarlo.

Alt text