Skip to content

Latest commit

 

History

History
242 lines (151 loc) · 6.57 KB

README_CN.md

File metadata and controls

242 lines (151 loc) · 6.57 KB

MSMAP

Msmap是一个内存马生成器,兼容多种容器、组件、编码器、WebShell / Proxy / Killer 和管理客户端。English

背后的想法(一)背后的想法(二), 背后的想法(三)

功能 [WIP]

Function

  • 动态菜单
  • 自动编译
  • 生成脚本
  • 精简模式
  • 图形界面

Container

  • Java
    • Tomcat7
    • Tomcat8
    • Tomcat9
    • Tomcat10
    • Resin3
    • Resin4
    • WebSphere
    • GlassFish
    • WebLogic
    • JBoss
    • Spring*
    • Jetty
    • Netty
    • JVM*
  • .NET
    • IIS
  • PHP
  • Python

*:SpringHandler仅支持JDK8+

*:JVM默认支持Linux Tomcat 8/9,可以根据进阶指南适配更多版本

WebShell / Proxy / Killer

  • WebShell

    • CMD / SH
    • AntSword
    • JSPJS
    • Behinder
    • Godzilla
  • 没有模块化的必要

Proxy: Neo-reGeorg, wsproxy

Killer: java-memshell-scanner, ASP.NET-Memshell-Scanner

Decoder / Decryptor / Hasher

  • Decoder
    • Base64
    • Hex
  • Decryptor
    • XOR
    • RC4
    • AES128
    • AES256
    • RSA
  • Hasher
    • MD5
    • SHA128
    • SHA256

用法

git clone [email protected]:hosch3n/msmap.git
cd msmap
python generator.py

[注意] 尽量用独一无二的密码;各选项大小敏感

进阶

编辑 config/environment.py

# 自动编译
auto_build = True

# Base64编码类字节码
b64_class = True

# 生成脚本
generate_script = True

# 编译器绝对路径
java_compiler_path = r"~/jdk1.6.0_04/bin/javac"
dotnet_compiler_path = r"C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe"

编辑 gist/java/container/tomcat/servlet.py

// Servlet路径匹配规则
private static String pattern = "*.xml";

如果WsFilter使用了加密编码器,密码需要与路径相同(如/passwd

可以根据目标容器替换 gist/java/container/jdk/javax.pylib/servlet-api.jar

pip3 install pyperclip 可启用自动复制到系统剪切板

示例

CMD / SH

系统命令 搭配 Base64 编码器 | 注入到 Tomcat Valve

python generator.py Java Tomcat Valve Base64 CMD passwd

蚁剑

JSP类型 搭配 default 编码器 | 注入到 Tomcat Valve

python generator.py Java Tomcat Valve RAW AntSword passwd

JSP类型 搭配 aes_128_ecb_pkcs7_padding_md5 编码器 | 注入到 Tomcat Listener

python generator.py Java Tomcat Listener AES128 AntSword passwd

JSP类型 搭配 rc_4_sha256 编码器 | 注入到 Tomcat Servlet

python generator.py Java Tomcat Servlet RC4 AntSword passwd

JSP类型 搭配 xor_md5 编码器 | AgentFiless注入到 HttpServlet

python generator.py Java JDK JavaX XOR AntSword passwd

JSPJS类型 搭配 aes_128_ecb_pkcs7_padding_md5 编码器 | 注入到 Tomcat WsFilter

python generator.py Java Tomcat WsFilter AES128 JSPJS passwd

JSPJS类型 搭配 xor_md5 编码器 | 注入到 Spring Handler

python generator.py Java Spring Handler XOR JSPJS passwd

冰蝎

default_aes类型 | 注入到 Tomcat Valve

python generator.py Java Tomcat Valve AES128 Behinder rebeyond

default_xor_base64类型 | 注入到 Spring Interceptor

python generator.py Java Spring Interceptor XOR Behinder rebeyond

哥斯拉

JAVA_AES_BASE64类型 | 注入到 Tomcat Valve

python generator.py Java Tomcat Valve AES128 Godzilla superidol

JAVA_AES_BASE64类型 | AgentFiless注入到 HttpServlet

python generator.py Java JDK JavaX AES128 Godzilla superidol

JAVA_AES_BASE64类型 | 注入到 Spring Handler

python generator.py Java Spring Handler AES128 Godzilla superidol

已知问题

参考链接

GodzillaMemoryShellProject

AntSword-JSP-Template

As-Exploits memshell_manage

Behinder | wsMemShell | ysomap

扩展阅读

利用“进程注入”实现无文件复活 WebShell

基于内存 Webshell 的无文件攻击技术研究

利用 intercetor 注入 spring 内存 webshell

linux下java反序列化通杀回显方法的低配版实现

Tomcat中一种半通用回显方法

基于tomcat的内存 Webshell 无文件攻击技术

基于全局储存的新思路 | Tomcat的一种通用回显方法研究

tomcat不出网回显连续剧第六集

中间件内存马注入&冰蝎连接

Java内存马:一种Tomcat全版本获取StandardContext的新方法

Java内存攻击技术漫谈

Linux下内存马进阶植入技术

Spring cloud gateway通过SPEL注入内存马

CVE-2022-22947 注入哥斯拉内存马

Linux下无文件Java agent探究

论如何优雅的注入Java Agent内存马