Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Nemesis — .NET process monitor, который перехватывает CLR на нативном уровне, извлекает рефлексивные сборки из памяти и проверяет целостность AMSI/ETW по сравнению с бинарными файлами на диске. | Kitploit
Инструменты/GitHubGitHub/zypherion-technologies/nemesis
Оборонительные ИнструментыДинамический анализ (песочница)Криминалистика памятиОбратная инженерияАнализ вредоносных программ
GitHubzypherion-technologies/nemesis

Nemesis

.NET process monitor, который перехватывает CLR на нативном уровне, извлекает рефлексивные сборки из памяти и проверяет целостность AMSI/ETW по сравнению с бинарными файлами на диске.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Репозиторий
4143211 дней назадПроверено Kitploit
Поделиться

Nemesis

Website Discord Telegram X

windows-инструмент, который я сделал, потому что устал смотреть на форки jlaive в малварных сэмплах, когда публично нет ничего, что реально могло бы разобрать их во время выполнения.

короче говоря, это монитор .net-процессов, который перехватывает CLR на нативном уровне, отслеживает рефлективные загрузки сборок и автоматически дампит PE прямо из памяти. он также проверяет целостность AMSI и ETW относительно оригинальных бинарников на диске, а также обнаруживает техники обхода, такие как патчинг строк в clr.dll и прямое использование LoadFromBuffer.

где искать сэмплы? рекомендую заглянуть на https://tria.ge (не реклама), там можно скачать любой нужный сэмпл и фильтровать по семейству

почему такое название?

возможно, вы задаётесь вопросом, почему название nemesis?

потому что оно отражает само предназначение инструмента. немезида — это нечто, что является постоянным вызовом или погибелью для противника, и именно такова идея этого проекта.

в греческой мифологии немезида была духом божественного возмездия — той, кто вершила расплату над всяким, кто слишком возгордился или считал себя неуязвимым. довольно прозрачный намёк для малвари, которая хвастается своей "fud", если спросите меня.

зачем это существует

я аналитик малвари. если заниматься этим достаточно долго (для меня это хобби), начинаешь видеть одни и те же цепочки загрузчиков снова и снова, особенно после того, как jlaive (он же crybat) взлетел и каждый скрипт-кидди начал его форкать.

паттерн до тупости простой, но чертовски раздражающий:

something.bat  →  obfuscated powershell  →  csharp stub  →  your actual payload

ты дважды кликаешь по .bat, который выглядит как словесная каша. cmd запускает powershell со стеной мусора. powershell расшифровывает/распаковывает .net-стаб (aes, gzip, base64). этот стаб патчит amsi + etw, рефлективно загружает настоящий exe/dll в память, и всё — ничего полезного никогда не попадает на диск в пригодной форме.

это меня раздражало. нет действительно хорошего публичного инструмента, нацеленного на борьбу именно с этой цепочкой — перехватить там, где .net-пейлоад фактически материализуется, сдампить его до того, как процесс себя сожрёт, поймать патчи amsi/etw, которые эти стабы всегда делают. поэтому я сделал nemesis.

не серебряная пуля. не замена вашей песочнице. но он даёт что-то реальное, что можно запустить против подозрительного .bat на тестовой машине и действительно вытащить артефакты.

что он на самом деле делает

launcher (Launcher.exe)

  • создаёт вашу цель в приостановленном состоянии (exe, bat, cmd, что угодно)
  • инжектит Nemesis.dll до запуска главного потока
  • ждёт, пока nemesis сообщит о готовности
  • возобновляет. если цель порождает дочерние powershell-процессы, launcher может инжектить и в них

nemesis dll (Nemesis.dll)

  • перехватывает пути загрузки clr, которые реально затрагивают стабы в стиле jlaive:
    • nLoadImage
    • nLoadFile
    • AssemblyNative::LoadFromBuffer (паттерн разрешается от nLoadImage)
  • когда рефлективный pe появляется в памяти -> ставит дамп в очередь в %TEMP%\Nemesis_dumps
  • сравнивает живые экспорты amsi.dll / ntdll.dll с копиями на диске (ловит классический патч ret на AmsiScanBuffer / EtwEventWrite)
  • проверка amsi также смотрит на строки в clr .rdata, когда clr загружен (некоторые обходы патчат именно их, есть отличная статья vxug на эту тему под названием; 2024-11-21 - New AMSI Bypss Technique Modifying CLRDLL in Memory.pdf )
  • логирует в консоль (с цветом) + %TEMP%\Nemesis.log, также включает ENABLE_VIRTUAL_TERMINAL_PROCESSING, чтобы избежать проблем с консолью, которая, скажем так, ведёт себя странно :D

по сути: дайте цепочке bat отработать, поймайте пейлоад там, где криптер его фактически загружает, и залогируйте трюки уклонения по пути.

Доказательство:

image image image

сборка

нужен visual studio 2022+ с c++ desktop + masm (x64).

откройте Nemesis.slnx, выберите Release | x64, соберите решение.

запуск на реальной цели

это и есть фактический сценарий использования — наведите его на подозрительный bat и посмотрите, что выпадет:

cd x64\Release
.\Launcher.exe "C:\path\to\suspicious.bat"

дополнительные аргументы после -- передаются цели:

.\Launcher.exe myapp.exe -- --some-flag

свой путь к dll:

.\Launcher.exe --dll C:\path\Nemesis.dll myapp.exe

артефакты:

  • логи → %TEMP%\Nemesis.log
  • сдампленные pe → %TEMP%\Nemesis_dumps

чем nemesis является / не является

является:

  • помощником для runtime-анализа криптеров в стиле jlaive (цепочки bat → ps1 → csharp)
  • полезен на лабораторной vm, когда у вас есть сэмпл и вы хотите дампы из памяти + телеметрию amsi/etw
  • открыт для использования, расширения и жалоб другими аналитиками

не является:

  • заменой edr
  • гарантией поймать каждый вариант форка (изменения обфускации, новые обходы, например patchless amsi/etw, потому что на данный момент он для этого не сделан, и я планирую это изменить в будущем возможно, это превратится в некий тулкит для управляемых языков)

заметки

  • сейчас только x64 для asm-детуров clr
  • хосты cmd.exe часто вообще не имеют clr, nemesis всё равно подаёт сигнал готовности, так что launcher не зависает, реальная работа начинается, когда появляется powershell/dotnet
  • пересборка падает с LNK1104? что-то всё ещё держит nemesis.dll загруженным — убейте цель и пересоберите
  • шум vcpkg от pwsh.exe во время сборки безвреден, игнорируйте его

дополнительное чтение (экосистема jlaive)

если хотите понять, с чем боретесь:

  • Trend Micro о BatCloak / Jlaive — слоёный пирог bat → ps1 → csharp
  • Fortinet о ScrubCrypt — раздражающий преемник jlaive, если интересно, чем scrubcrypt немного отличался: тем, что они выводили команды через символ пайпа в .bat, работает довольно неплохо...
  • Unprotect.it — ScrubCrypt — разбор техники
  • https://github.com/backdoorskid/ClrAmsiScanPatcher - находит .net-строку, как упоминалось ранее, рекомендую прочитать тот .pdf-файл :)

отказ от ответственности

используя nemesis, вы принимаете это. он предоставляется как есть и без каких-либо гарантий — вы берёте на себя весь риск.

вы несёте единоличную ответственность за законное, авторизованное использование (лабораторные vm, собственные системы, явное разрешение). в максимально допустимой законом степени авторы и zypherion.tech отказываются от любой ответственности за любой ущерб, потери или юридические претензии, возникшие в результате использования или злоупотребления. полные условия см. в LICENSE.

Скачать инструмент