DetonatorAgent — это тот редкий случай, когда автор честно предупреждает: перед вами не вылизанный корпоративный продукт, а рабочая заготовка для команд, которые хотят быстро и повторяемо проверять свои цепочки первоначального доступа и видеть, как на них реагирует защита. По духу — больше «сделайте сами по мотивам», по сути — небольшой кроссплатформенный Web API на .NET 8, который умеет аккуратно «кликать» по тестовому образцу так, будто это сделал живой пользователь, и сразу отдавать логи EDR. Вышло просто, по делу и с долей самоироничной пометки «Vibe-Coded» — зато старт здесь в один командлет, а сценарии — ровно те, что нужны на практике.
Идея инструмента прозрачна: дать red team удобный способ прогонять MalDev через реалистичную пользовательскую активацию и тут же собирать события из EDR, чтобы понять, заметили вас или нет, и если заметили, то чем именно. DetonatorAgent концептуально связан с RedEdr, который собирает «как EDR», и может работать в паре с Detonator (есть демо на detonator.r00ted.ch). Архитектура минималистична: HTTP-интерфейс поднимается локально на http://localhost:8080, плюс готовый Swagger на /swagger для быстрого прогона эндпоинтов. Запуск — через dotnet run, требований почти нет: нужен лишь .NET 8. Важный бонус — реалистичность триггера: инструмент дергает ассоциации по умолчанию в Windows, то есть файл запускается не «магией консоли», а тем же механизмом, которым пользуется проводник, что снижает разрыв между лабораторией и полем.
Запуск образцов и сбор логов: режимы, форматы, рабочий цикл
Ключевая функция — /api/execute/exec. Она принимает файл и запускает его так, чтобы антивирус и EDR увидели максимально «пользовательский» сценарий. Поддерживаются типичные контейнеры и исполняемые форматы — как для прямого старта, так и для случаев, когда полезная нагрузка лежит внутри архива.
- Поддерживаемые расширения:
.exe(прямой старт),.zip(распаковать и выполнить),.iso(смонтировать и запустить). - Режимы исполнения:
- Exec — стандартный
Process.Start()сUseShellExecute=true. - AutoIt — запуск через
AutoItX.Run()в духе Exec. - AutoItExplorer — самый «жизненный» путь: открывается окно
explorer.exeи выполняется виртуальный «клик» по файлу.
- Exec — стандартный
Параметры позволяют на лету менять место выгрузки, указывать аргументы для .exe, выбирать конкретный исполняемый файл внутри ZIP и переключать режим исполнения. Для контейнеров действует логика, близкая к проводнику: ZIP распаковывается во временную директорию, а затем запускается первый по алфавиту исполняемый файл, если не задано иное.
Вторая опора инструмента — /api/logs/edr. На текущем этапе поддерживается Microsoft Defender (MDE). Эндпоинт возвращает события Windows Defender либо за окно между вызовом запуска и запросом логов, либо всю ленту, если запусков еще не было. Ответ — структурированный блок с XML-событиями, а также версиями EDR и плагина. Именно так вы получаете «чем и как вы засветились» сразу после детонации, без ручного копания в системных журналах.
Рабочий цикл в идеале выглядит приземленно и приятно автоматизированно: отправили файл на исполнение, выждали короткую паузу, запросили логи, прибрали за собой. Для совместной среды есть удобный сценарий scan-file.ps1, который делает все это за один прогон: ставит блокировку на VM, запускает образец, забирает EDR/agent/exec-логи, убивает процесс и снимает блокировку. Командлет выводит понятный пошаговый прогресс, так что конфликтов между участниками и «гонок» за ресурсом меньше, а дисциплины — больше.
Что понравилось, какие ограничения и для кого это вообще
Сильные стороны здесь на поверхности. Во-первых, реалистичность триггера через ассоциации и проводник: многие лабораторные «лаунчеры» грешат искусственностью, а DetonatorAgent имитирует поведение пользователя и тем самым точнее подсвечивает истинные реакции EDR. Во-вторых, простой API и наглядный Swagger — порог входа буквально измеряется минутами. В-третьих, поддержка типичных контейнеров .zip и .iso избавляет от лишних телодвижений при подготовке образцов. Наконец, сценарий PowerShell с блокировкой на уровне VM превращает разрозненные действия в аккуратный, воспроизводимый конвейер.
Ограничения тоже есть и скрывать их смысла нет. На сегодня логи собираются только с Microsoft Defender — если у вас гибридный парк из нескольких EDR-решений, придется ждать расширения поддержки или прикручивать собственные плагины. Инструмент позиционируется как «инспирация», а не законченный комбайн: кое-где видна нарочитая минималистичность, зато кодовая база проще для адаптации под свои потоки. Еще нюанс — акцент на Windows: да, API кроссплатформенный, но реалистичные режимы клика и ассоциаций привязаны к экосистеме проводника.
Кому подойдет? Командам red team и внутренним «фиолетовым» группам, которым нужен быстрый и честный способ воспроизводимо детонировать цепочки и тут же разбирать телеметрию. Пентестерам и разработчикам MalDev инструмент даст комфортный стенд для проверки гипотез перед боевыми вылазками. Blue team тоже не в накладе: легко собирать позитивные и негативные примеры с привязкой к конкретным событиям Defender для настройки правил и плейбуков. Главное — не забывать про правовую и этическую часть: работать только на собственных стендах и с образцами, происхождение которых вам известно, а инфраструктуру держать изолированной.
В сухом остатке DetonatorAgent — это полезный «микросервис-детонатор»: минимальная обвязка, реалистичный запуск, быстрая выборка логов и удобный сценарий автоматизации. Он не пытается заменить крупные фреймворки, зато здорово закрывает повседневные задачи проверки детектов и помогает ответить на главный практический вопрос: увидела ли защита то, что вы только что сделали, и чем именно это засветилось. Если это то, чего вам не хватало между IDE и SIEM — самое время попробовать.