免责声明
本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任。
生成WebShell
打开哥斯拉,生成一个JAVA马:
打包生产Tomcat容器并上线
我们把这个jsp马也打包然后上传到容器里:
jar -cvf hello.war *.jsp
然后在哥斯拉里上线:
随便测试一下,证明是可用的:
生成内存马
然后把生成的路径添加进Shell管理:
尝试一下依然可用:
查找内存马
java-memshell-scanner查杀
先把工具下载下来:
git clone https://github.com/c0ny1/java-memshell-scanner.git
然后把jsp上传到tomcat目录下,用浏览器访问:
可以看到把Servlet和Filter列出来了,其中favicon.ico因为没有本地文件因此报可疑
我们尝试Dump下来,报错了:
那么我们可以尝试使用Arthas帮助我们分析
Arthas 分析
先下载工具:
https://github.com/alibaba/arthas/releases
然后使用如下命令启动:
java -jar arthas-boot.jar
再输入1进入主界面:
用这个命令筛选出Servelet类:
sc *.Servlet
看到我们之前dump失败的类,我们用jad反编译:
jad org.apache.coyote.deser.impl.ValueInjector
看看反编译代码,可以确定为内存马:
再看看是谁加载进内存的:
sc -d org.apache.coyote.deser.impl.ValueInjector
是我们一开始上传的jsp文件
删除内存马
现在我们要删除木马,清理风险,首先回到我们的scanner页面,直接Kill掉内存马:
我们再尝试操作哥斯拉的时候,发现内存马进不去了:
我们再找到我们上传的文件马的路径,把文件马删了:
sc -d org.apache.jsp.godzila_jsp
这里有点坑爹,给的路径不对,需要手动找到真实路径
删了之后,操作哥斯拉,文件马也进不去了:
参考文章
https://ruyueattention.github.io/2023/07/02/Java内存马3-内存马查杀/
原文始发于微信公众号(赛博安全狗):【HW蓝队面试必问系列】哥斯拉内存马查杀
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论