内存马查杀案例

admin 2025年5月23日15:45:32评论6 views字数 2414阅读8分2秒阅读模式
Zer0 Sec
内存马查杀案例
案例详情
宇宙无敌免责本推文提供的信息、技术和方法仅用于教育目的。文中讨论的所有案例和技术均旨在帮助读者更好地理解相关安全问题,并采取适当的防护措施来保护自身系统免受攻击。

严禁将本文中的任何信息用于非法目的或对任何未经许可的系统进行测试。未经授权尝试访问计算机系统或数据是违法行为,可能会导致法律后果。

作者不对因阅读本文后采取的任何行动所造成的任何形式的损害负责,包括但不限于直接、间接、特殊、附带或后果性的损害。用户应自行承担使用这些信息的风险。

我们鼓励所有读者遵守法律法规,负责任地使用技术知识,共同维护网络空间的安全与和谐。

本文由Zer0 Sec团队的的lagom师傅供稿

环境配置:

安装tomcat:

  • 在centos下,不推荐使用yum安装,一是这样使用Arthas会报错(当前运行的用户和运行Arthas的用户不一样)
  • 直接下载运行:https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.35/bin/apache-tomcat-8.0.35.tar.gz
cd binchmod +x *.sh./starup.sh
内存马查杀案例
  • 关闭防火墙:
systemctl stop firewalld 
  • 成功访问:
内存马查杀案例

安装Arthas:

wget https://github.com/alibaba/arthas/releases/download/arthas-all-3.7.2/arthas-bin.zipunzip arthas-bin.zipjava -jar arthas-boot.jar

安装copagent:

  • https://github.com/LandGrey/copagent/raw/release/cop.jar
  • 直接运行:
java -jar cop.jar

安装shell-analyazer:

  • GitHub - 4ra1n/shell-analyzer: 已集成到 jar-analyzer 中 https://github.com/jar-analyzer/jar-analyzer
  • 注意:agent.jar是核心文件,请保持与gui.jar或remote.jar同目录
  • 排查内存马端运行:
java -cp remote-0.1.jar:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/lib/tools.jar com.n1ar4.RemoteLoader [PID] [8位密码]
内存马查杀案例

客户端运行:

java -jar gui-0.1.jar
内存马查杀案例
  • 如图:
内存马查杀案例

哥斯拉查杀:

注入内存马:

哥斯拉生成一个马:

内存马查杀案例
  • 讲生成的马放在/usr/share/tomcat/webapps/ROOT下:
内存马查杀案例
  • 注入内存马:
内存马查杀案例
  • 注入成功:
内存马查杀案例

哥斯拉查杀:

  • arthas:

  • mbean查:

  • 使用mbean命令,可以查看所有mbean列表:
mbean | grep "name=/"
内存马查杀案例
  • 如果在哥斯拉中添加filter内存马,如下:
内存马查杀案例
内存马查杀案例
  • 再次使用mbean | grep "name=/",可以查看到新增了很多servlet和filter:
内存马查杀案例
  • 查看所有servlet:

sc *.Servlet
内存马查杀案例
  • 查看所有的classloader:

classlaoder
内存马查杀案例
  • 重点关注那些使用次数为1或者比较少的,这里的org.apache.jsp.a_jsp$X就很可疑。
  • 查看所有的filter:

sc *.Filter
内存马查杀案例
  • 发现存在可疑的filter。
  • 使用sc -d [类],表示打印类的详细信息:
内存马查杀案例
  • 从这里也可以判断出,当前该类classloader是可疑的。
  • 反编译:

  • 使用以下命令,会讲源码和相关的classloader打印出来:
jad org.apache.coyote.MapperFeature
内存马查杀案例
  • 很明显的木马特征,我们也可以重定向到本地,然后使用阿里云沙箱检测。
jad --source-only org.apache.coyote.MapperFeature > 1.java
  • --source-only 表示的是只查看源代码
  • >表示重定向
  • 什么!哥斯拉竟然能过阿里云webshell查杀!
内存马查杀案例

d盾查杀:

内存马查杀案例
  • 去除内存马(重点):

  • 使用tomcat-memshell-scanner查杀:
    内存马查杀案例
  • cop:

  • 运行:
java -jar cop.jar
内存马查杀案例
  • 输入1即可:
内存马查杀案例
  • 进入那个隐藏目录后,查看如图所示:
内存马查杀案例
  • 其中class表示是可疑的class,java是可疑class反编译的。
  • 然后可疑直接拉近d盾扫描:
内存马查杀案例
  • shell-anaylzer:

  • 点击servlet即可看到可疑的jsp文件:
内存马查杀案例
  • 点击删除内存马:
  • crtl+c复制当前类名,然后粘贴点击删除:
内存马查杀案例

冰蝎:

注入AgentNoFIle:

内存马查杀案例
  • 注入后访问成功:
内存马查杀案例
  • Arthas查杀:

  • 这里使用了shiro550打入了冰蝎内存马:
内存马查杀案例
  • 连接成功,如图所示:
内存马查杀案例
  • 查看所有的servlet:
sc *.Servlet
  • 查找所有的Filter:
sc *.Filter
内存马查杀案例
  • 使用jad进行反编译查看源码:
jad --source-only com.summersec.x.BehinderFilter
内存马查杀案例
  • 反编译保存在本地,然后可以使用河马,d盾查杀,这就教如何将这个内存马杀掉(不能直接上线)。
jad --source-only org.apache.jsp.shell_jsp > /root/arthas/org.apache.jsp.shell_jsp.java
  • 这里做简答的修改:
内存马查杀案例
  • 使用mc命令重新编译:
mc [需要编译的java文件] -d [保存目录]
  • shell-analyzer:

  • 找到该文件后直接查杀,发现查杀不了,不知道为什么。
内存马查杀案例
  • 而且查杀完后,其他的页面是访问不了了。
  • Agent型内存马:

  • 排查也很简单,在Servlet中找到了这个:
内存马查杀案例
  • 但他是注入到正常的代码中,因此点击删除内存马后,正常的业务也会收到影响。
  • 防检测机制:

内存马查杀案例
  • 如果冰蝎使用放检测,那么就不能获取当前进程的东西了。
 

原文始发于微信公众号(Zer0 sec):Zer0 Sec团队:内存马查杀案例

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月23日15:45:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内存马查杀案例http://cn-sec.com/archives/4085099.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息