当前位置: 首页 > news >正文

Java内存马查杀

目前Java内存马具体分类:
1、传统Web应用型内存马:
Servlet型内存马:动态注册Servlet及映射路由。
Filter型内存马:动态注册Filter及映射路由。
Listener型内存马:动态注册Listener中的处理逻辑。

2、框架型内存马:
SpringController型内存马:动态注册Controller及映射路由。
SpringInterceptor型内存马:动态注册Interceptor及映射路由。
Spring Webflux型内存马:动态注册WebFilter及映射路由。

3、中间件型内存马:
Tomcat Valve型内存马:动态注册Valve。
Tomcat其他类型(如Upgrade、Executor、Poller)的内存马:
这些内存马会动态替换或添加全局组件。

4、其他中间件(如Grizzly)的内存马:(未讲到)
动态注册Filter及映射路由。其他内存马:
WebSocket型内存马:动态注册WebSocket路由及处理逻辑。
Tomcat JSP型内存马:动态注册Tomcat JSP管理逻辑并实现驻留。
线程型内存马:启动一个无法被杀死的线程。
RMI型内存马:动态启动一个RMI Registry。

5、Agent型内存马:(未讲到)
通过Hook并修改关键方法添加恶意逻辑。Agent型内存马在现代webshell管理工具中有广泛实现。

-Filter/Servlet内存马(上节课)
-Spring框架内存马
-Netty/WebFlux框架内存马
-TomcatValve中间件内存马

->启动:
d:\jdk1.8.0_112\bin\java.exe -jar springinject-0.0.1-SNAPSHOT.jar
d:\jdk1.8.0_112\bin\java.exe -jar WebFluxMem-0.0.1-SNAPSHOT.jar

->检测:
项目1:(实时监控提取方便调试)
能排查几乎所有内存马技术
https://github.com/alibaba/arthas
d:\jdk1.8.0_112\bin\java.exe -jar arthas-boot.jar
sc * | grep Controller
sc * | grep Interceptor
jad --source-only com.example.springinject.demos.web.myInjectController3
jad --source-only com.example.springinject.demos.web.testInjectInterceptor

sc * | grep Memshell
jad --source-only com.example.webfluxmem.WebFluxFilterMemshell

sc *.Valve
jad --source-only org.apache.jsp.valve_jsp$1

项目2:(自动提取需要自己排查)
https://github.com/4ra1n/shell-analyzer
能排查:Filter,Servlet,Listener,Valve类型

项目3:(自动提取排查)
https://github.com/c0ny1/java-memshell-scanner
能排查:Filter,Servlet,Listener类型

项目4:(自动提取需要自己排查)
能排查几乎主流内存马技术
https://github.com/LandGrey/copagent/raw/release/cop.jar 
d:\jdk1.8.0_112\bin\java.exe -jar cop.jar

->清除:
Jar包中删除对应class文件

蓝队内存马大概排查思路:
1、弄清楚当前环境的组织架构:中间件 框架等
2、对应查找可能类型的内存马技术
如:框架 springboot
3、基于上述信息想到用何种项目工具便于分析、
如:项目 arthas (gui 脚本其他项目不支持)
4、接下来怎么开始操作呢
springboot
SpringController型内存马:动态注册Controller及映射路由。
SpringInterceptor型内存马:动态注册Interceptor及映射路由。
Spring Webflux型内存马:动态注册WebFilter及映射路由。
arthas使用语法:
sc * | grep Controller
sc * | grep Interceptor
arthas使用语法:
关键字筛选 常规shell触发代码关键字
memshell shell os runtime

注意:
不同内存马类型查杀arthas检测:有的是基于内存马固定的后缀,名字,文件中的常见关键字去找到可疑类然后去定性

http://www.wuyegushi.com/news/1188.html

相关文章:

  • 同网段 IP 建立数据链路层连通性调试位置IP设备
  • Linux 系统的网络接口命名规则演变
  • 浅聊MySQL和postgreSQL
  • 为什么企业需要员工自助入职录入系统?
  • NRF54L15 RRAM的优点;
  • 树剖学习笔记
  • clickhouse重启,以及修改数据存储目录后重启失败的解决办法
  • 身份证,港澳通行证,台胞证,记一下三个常用的正则判断
  • 接收解析封装H264为PS数据的RTP包
  • Zabbix优化参考1
  • hi
  • 框幅式高光谱文献数据库,换“新”看!科研效率Up Up!
  • vxe-table 实现服务端筛选、分页筛选
  • 函数参数为字符串类型时,默认值设为NULL会报错
  • 中电金信:源启研发协同一体化平台、源启混沌工程平台通过信通院可信云最高级评估
  • LGP9310 [EGTS 2021] Luna likes Love 学习笔记
  • 使用Amazon Q和MCP优化深度学习环境
  • Linux 系统硬盘命名规则详细解析
  • 【LeetCode 160】算法:相交链表 —— 双指针法和数学法
  • cgroup机制
  • ls | tee 1.txt 如何拿到ls的返回值$?
  • 深入浅出:Clang中的控制流完整性(CFI)技术解析
  • 工业互联网甄选联盟会员组织正式成立,合作共赢
  • VK16K33AQ QNF28小体积封装大电流LED驱动电子烟LED屏显方案
  • HelloWorld
  • 颠覆性应用指南:EtherCAT转PROFINET网关的工业场景核爆方案大全
  • 如何将 Markdown格式文章快速发布到微信公众号.240516
  • Maven 镜像配置文件 maven-settings.xml
  • 图论
  • 开源能源管理系统:数字化时代能源安全与效能提升的核心引擎