1. 首页
  2. 安全运维

[防守视角] tomcat内存马的多种查杀方式

环境搭建

我在WINDOWS7虚拟机下搭建的Tomcat,搭建教程网上都有,点击startup.bat启动环境

[防守视角] tomcat内存马的多种查杀方式

注入内存马

这里使用了哥斯拉的内存马

[防守视角] tomcat内存马的多种查杀方式

查杀方式一:VisualVM(远程调试)

设置jstatd.all.policy 文件

[防守视角] tomcat内存马的多种查杀方式

启动jstatd

jstatd.exe -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=serverip

[防守视角] tomcat内存马的多种查杀方式

设置JVM Connection 修改 catalina.sh文件(LINUX)

JAVA_OPTS="-Djava.rmi.server.hostname=服务器的ip
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=jmx使用的端口
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false $JAVA_OPTS"
export JAVA_OPTS

修改catalina.bat文件(WINDOWS)

set JAVA_OPTS=-Djava.rmi.server.hostname=192.168.67.115 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

下载VisualVM

[防守视角] tomcat内存马的多种查杀方式

MBeans安装插件

[防守视角] tomcat内存马的多种查杀方式

连接远程Tomcat

[防守视角] tomcat内存马的多种查杀方式

[防守视角] tomcat内存马的多种查杀方式

检查异常攻击痕迹Filter/Servlet节点

[防守视角] tomcat内存马的多种查杀方式

在Servlet节点中我发现到了自己设置的内存马test.ico,说明已经检测到了内存马

查杀方式二:arthas

arthas是Alibaba开源的Java诊断工具
https://github.com/alibaba/arthas

下载

[防守视角] tomcat内存马的多种查杀方式

文档地址 https://arthas.aliyun.com/doc/quick-start.html

非常Nice的工具,深入用法请查看使用文档,这里只检测探测一下

启动(选择对应tocmat进程pid)

[防守视角] tomcat内存马的多种查杀方式

mbean(查看 Mbean 的信息,查看异常Filter/Servlet节点)

mbean | grep "Servlet"

[防守视角] tomcat内存马的多种查杀方式

sc (查看JVM已加载的类信息)

sc xxx.* 模糊搜索类
sc -d

[防守视角] tomcat内存马的多种查杀方式

查看payload加载的类信息

[防守视角] tomcat内存马的多种查杀方式

查看x.AES_BASE64类加载的类信息

[防守视角] tomcat内存马的多种查杀方式

jad(反编译指定已加载类的源码)

jad 类名

[防守视角] tomcat内存马的多种查杀方式

[防守视角] tomcat内存马的多种查杀方式

还有很多用法值得慢慢学习~

查杀方式三:Copagent

由于VisualVM在环境中可能还需要配置JVM Connection远程调试,我在长亭一篇文章中发现了LandGrey师傅所写的内存马检测工具,经过在本地Tomcat测试,可以检测到我自己设置的内存马,而无需重启Tomcat服务(重启了内存马不就没了吗?)先贴上Git地址

https://github.com/LandGrey/copagent

我本地运行Tomcat服务,使用cop.jar工具,工具首先会识别你正在运行的应用列举出来由你自己选择ID,运行后会在.copagent目录生成结果

[防守视角] tomcat内存马的多种查杀方式

在输出结果中,可以查看异常类,例如我的1.jspX.AES_BASE64,他会显示所有运行的类以及危险等级,比较高的可以进入目录查看代码进行分析

[防守视角] tomcat内存马的多种查杀方式

[防守视角] tomcat内存马的多种查杀方式

在java或class文件夹会保存木马以及运行的类

[防守视角] tomcat内存马的多种查杀方式

[防守视角] tomcat内存马的多种查杀方式

参考

  1. https://mp.weixin.qq.com/s/DRbGeVOcJ8m9xo7Gin45kQ
  2. https://qiita.com/shimizukawasaki/items/5dc9fe780ffbf3a7699c

原创文章,作者:syst1m,未经授权禁止转载!如若转载,请联系作者:syst1m

联系我们

在线咨询:点击这里给我发消息

QR code