内存马查杀工具FindShell试用

本文介绍了如何使用FindShell工具检测内存马,详细步骤包括代码部署、执行与分析。通过修改NameFilter.java和Constant.java,增强了工具的查杀能力,使其能更多地dump和分析可疑文件。最后,建议了内存马清理和预防措施。
摘要由CSDN通过智能技术生成

首先使用冰蝎创建一个内存马

成功进入内存马界面

接下来尝试使用findshell查杀,项目主页为

https://github.com/4ra1n/FindShell

服务器上首先部署代码,执行

git clone https://github.com/4ra1n/FindShell.git

然后进入到FindShell目录,打包项目,执行(如果没有mvn命令需要先yum -y install apache-maven安装)

mvn package

打包后在target目录下生成FindShell-1.0.jar文件

通过官方文档得知检测命令为

java -jar FindShell.jar --pid [目标JVM的PID]

我们首先通过jps命令获取jvm的pid

再执行

java -jar FindShell-1.0.jar --pid 2230

发现内存马

 如果需要自行分析内容,可以增加--debug参数,执行

java -jar FindShell-1.0.jar --pid 2230 --debug

这样dump出来的class文件会放到out目录下,我们也可以自行反编译class文件分析,下图为反编译看到的内存马内容

发现内存马就需要清理,鉴于内存马可能有多个,且程序也有可能无法全部查出来,有条件的情况下,最好还是可以重启tomcat

----------------20220317补充--------------

参考文章https://xz.aliyun.com/t/10910

程序为了减少dump过多导致性能等问题,做了黑名单,满足黑名单名称的类才会进行dump分析,默认dump的文件比较少,因此我做了下简单修改,让程序不过分影响性能的情况下尽量多dump一些文件分析

1.修改src/main/java/org/sec/util/NameFilter.java  33行if (klassName.contains(k)) {为if (klassName.toLowerCase().contains(k)) {  使其匹配class名称时忽略大小写

2.修改src/main/java/org/sec/Constant.java  增加keyword,框起来的是我自己增加的

增加了cmd,filter,servlet三个 

3.修改后重新执行mvn package打包即可

 

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值