DetonatorAgent — практичный инструмент для безопасной детонации MalDev и сбора логов EDR

DetonatorAgent — практичный инструмент для безопасной детонации MalDev и сбора логов EDR

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 и выполняется виртуальный «клик» по файлу.

Параметры позволяют на лету менять место выгрузки, указывать аргументы для .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 — самое время попробовать.

DetonatorAgent EDR Linux Windows инструмент командная строка логи обзор пост телеметрия
Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

ВАС ДЕРЖАТ ЗА ИДИОТА В КАЖДОМ СПОРЕ.

Знакомо? Вы приносите факты, а вам в лицо — "Кто платит?". Это грязный трюк, чтобы слить вас. Пора узнать, как он работает, и почему он... черт возьми, иногда единственно верный.

Комнатный Блогер

Объясняю новую цифровую реальность