
Убийца процессов в режиме ядра с использованием подписанного драйвера BYOVD. Работает на всех Windows 10/11. Без смещений, без PDB. Rust.
Кроссплатформенный (для разных версий Windows) завершитель процессов. Он загружает подписанный
драйвер ядра HONOR (MonProcessEX.sys), определяет PID каждого целевого
процесса и завершает его из контекста ядра через один IOCTL.
Никаких смещений ядра, никаких загрузок PDB, никакого shellcode под конкретную сборку —
техника работает одинаково на любой сборке Windows 10 и Windows 11.
Инструмент представляет собой один самодостаточный исполняемый файл. Он устанавливает драйвер через Service Control Manager, выполняет завершение, затем останавливает и удаляет службу, не оставляя после себя постоянных артефактов. Цели настраиваются во время выполнения через файл конфигурации, командную строку или встроенные значения по умолчанию.
Кроссплатформенность по замыслу. Один драйвер, один IOCTL, один примитив завершения. Работает на всех сборках Windows 10 и Windows 11.
1. Keep moncrush.exe and MonProcessEX.sys in the same folder.
2. Run from an elevated shell.
moncrush.exe -n "notepad.exe,calc.exe"
3. Targets die. Driver unloads itself. Done.
Никакого тулчейна, никаких смещений, никакого шага сборки.
| Возможность | Подробности |
|---|---|
| Кроссплатформенность | Работает на всех сборках Windows 10 и Windows 11, без смещений |
| Завершение в режиме ядра | Драйвер завершает PID из контекста ядра |
| Обход PPL | Путь завершения MonProcessEX.sys обходит проверки защищённых процессов |
| Подписанный драйвер | MonProcessEX.sys — настоящий подписанный драйвер HONOR |
| Отсутствует в правилах блокировки MS | Отсутствует в правилах блокировки уязвимых драйверов Microsoft |
| Самодостаточность | Драйвер устанавливается, запускается и удаляется через SCM |
| Ноль зависимостей | Статический бинарник на Rust; положите exe + драйвер и запускайте |
| Настраиваемость | targets.conf или -n, перекомпиляция не требуется |
| Обфускация | Путь к устройству и список целей зашифрованы в состоянии покоя |
| Единый исполняемый файл | Один бинарник; вывод в консоль из оболочки, тихий режим при двойном клике |
| Режим dry-run | Перечисление целей и PID перед выполнением |
| Цикл с джиттером | --repeat повторно проверяет со случайным интервалом |
| Коды выхода + JSON | Интерфейс автоматизации, удобный для C2 |
+-------------------------------------------------------------------------------------------+
| USER MODE |
| |
| moncrush.exe |
| |
| +-------------------+ +-------------------+ +---------------------+ |
| | enumerate all | | resolve target | | match against | |
| | running | -> | PID via process | -> | target list, | |
| | processes | | entry | | collect PIDs | |
| +-------------------+ +-------------------+ +----------+----------+ |
| | |
| CreateFileW("\.\MonProcessEX") | |
| DeviceIoControl(IOCTL 0x22400C) | |
| output = termination status v |
+-------------------------------------------------------------------------------------------+
| KERNEL MODE |
| |
| MonProcessEX.sys signed HONOR kernel driver |
| +---------------------------------------------------------------------------------+ |
| | | |
| | IOCTL 0x22400C -> PID termination dispatch | |
| | | | |
| | | kernel-mode process lookup | |
| | v | |
| | EPROCESS located -> terminated from kernel context | |
| | | | |
| | v | |
| | process exit path invoked | |
| | | |
| +---------------------------------------------------------------------------------+ |
| |
| CLEANUP |
| +---------------------------------------------------------------------------------+ |
| | SCM service stopped and deleted | |
| | driver unloaded, no persistent artifact | |
| +---------------------------------------------------------------------------------+ |
+-------------------------------------------------------------------------------------------+
Драйвер предоставляет IOCTL завершения, который завершает процесс по его PID. Пользовательский компонент перечисляет запущенные процессы, определяет PID каждой цели и отправляет его через интерфейс устройства. Структуры ядра не затрагиваются из пользовательского режима, поэтому техника невосприимчива к изменениям версии Windows.
cargo build --release --target x86_64-pc-windows-gnu
Профиль release включает LTO и одну единицу кодогенерации. Проект
самодостаточен и содержит собственное объявление [workspace].
moncrush.exe [options]