【tomcat内存马】多种查杀方式

news/2024/12/24 21:27:13/文章来源:https://www.cnblogs.com/o-O-oO/p/18628717

环境搭建

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

注入内存马

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

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

设置jstatd.all.policy 文件

启动jstatd

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

设置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

MBeans安装插件

连接远程Tomcat

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

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

查杀方式二:arthas

arthas是Alibaba开源的Java诊断工具

https://github.com/alibaba/arthas

下载

文档地址

https://arthas.aliyun.com/doc/quick-start.html

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

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

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

mbean | grep "Servlet"

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

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

查看payload加载的类信息

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

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

jad 类名

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

查杀方式三:Copagent

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

https://github.com/LandGrey/copagent

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

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

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

原创 巡安似海

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/858351.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

intellij idea使用:激活码与插件问题

下载 官网下载,不需要下载最新版的,我下载的是2024.2.3,能正常使用激活码 安装教程去网上搜,有一大把 激活码 这里整合了两个靠谱的激活码更新网站,里面会更新免费的激活码,拿来用即可,比在网上搜省很多时间,网上很多都是打广告的,没有有效信息。https://www.yuque.co…

12.23软工踩坑

12.23软工踩坑 这里应该是alterRoomNumber这段代码也有问题 要加一句 如下:if (waitqueueThis.getIsWaiting()==1){//如果在等待中,更新等待时间Date lastRequestTime = waitqueueThis.getLastRequestTime();LocalDateTime nowTime = LocalDateTime.now();LocalDateTime last…

C#/.NET/.NET Core技术前沿周刊 | 第 18 期(2024年12.16-12.22)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿、推荐或自荐优质文章、项目、学习资源等…

基于simulink的电弧炉模型建模与仿真

1.课题概述 基于simulink的电弧炉模型建模与仿真,输出电弧炉模型的电压曲线和电流曲线以及U-I分布图。2.系统仿真结果 3.核心程序与模型 版本:MATLAB2022a4.系统原理简介电弧炉通过在电极与炉料之间产生高压电弧来加热炉料。炉料主要包括废钢、生铁、合金材料以及造渣剂等。…

如何查看oceanbase数据库修改过的参数

OceanBase中没有像ORACLE或MySQL那样独立的参数文件,因此在进行数据库迁移的这种场景下,如何保持新老数据库的参数的一致成了OceanBase中的一个问题。这个问题其实也可以转化为如何查询OceanBase数据库中修改过的参数,我们需要找到那些和默认值不一致的参数,并以此在新数据…

upload-labs-master第21关详细教程

文件上传漏洞即upload-labs-master第21关超详细教程,有详细版的配置教程、源码分析原理、完整版的操作步骤,零小白跟着做也能成功环境配置需要的东西phpstudy-2018 链接: https://pan.baidu.com/s/1D9l13XTQw7o6A8CSJ2ff9Q 提取码:0278 32 位 vc 9 和 11 运行库 链接: htt…

防重复点击处理

方法注册: 调用:

P9017 [USACO23JAN] Lights Off G

前言 困了一下午, 仅仅只搞懂了个大概, 我们赶紧把这些题补了, 冷静一点 思路 观察大样例可以发现, 答案好像都不大 容易证明的是先用最多 \(n\) 次关闭所有开关, 然后在 \(2n\) 次打开每个灯, 这样一定不超过 \(3n\) 次就可以成功的打开所有灯 那么我们考虑以这个为突破口, 枚…

物联网数据处理-iris数据集(鸢尾花)

物联网数据处理-iris数据集(鸢尾花) 大作业题目读入 iris.txt 里的鸢尾花数据,不考虑标签信息(标签是用来监督学习用的,这里是无监督),利用 PCA(减少噪声,利于可视化) 将数据从 4 维降成 2 维 之后,进行以下操作:利用不同的方式构建邻接矩阵(高斯核,k-临近等)(…

基于扩频解扩+turbo译码的64QAM图传通信系统matlab误码率仿真,扩频参数可设置

1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印): 仿真操作步骤可参考程序配套的操作视频。2.算法涉及理论知识概要该通信系统主要用于图像传输,适用于对图像质量和传输可靠性要求较高的场景,如无人机图像传输、视频监控、无线电视广播等。在复杂的电磁环境…

SIP协议中与Dialog相关的概念

如下RFC文档所述:在SIP协议中,对话(Dialog)是由两个用户代理(User Agent,简称UA)之间持续一段时间的端到端关系,通过Call-ID、To-tag和From-tag来标识(即Dialog ID),用于对一个会话(Session)进行信令交互。对话代表一个上下文场景,据此来阐释相关的SIP消息(即一系…