java内存马免杀与查杀

  1. 内存马是什么,定义与演变;有什么用
  2. 组成成分,模仿制作(从简单到复杂,从一个方向到多个方向)
  3. 优化与创新

内存马是什么(定义);演变;有什么用

Webshell的技术历程

web服务器管理页面——> 大马——>小马拉大马——>一句话木马——>加密一句话木马——>加密内存马

传统的JSP木马特征性强,且需要文件落地,容易被查杀。因此现在出现了内存马技术。Java内存马又称”无文件马”,相较于传统的JSP木马,其最大的特点就是无文件落地,存在于内存之中,隐蔽性强。

内存马的原理就是在web组件或者应用程序中,注册一层访问路由,访问者通过这层路由,来执行我们控制器中的代码

三个部件?是指Servlet、Filter、Listener这三类 java web组件吗?内存马的原理是在web组件中注册一层访问路由,访问者通过这层路由来执行代码。这是一部分,更多的可以看这篇文章https://su18.org/post/memory-shell/。除此之外,线程是 将进程划分为两个或多个线程(实例)或子进程,由单处理器(单线程)或多处理器(多线程)或多核处理系统并发执行(来自wiki百科)。有一篇讲线程型内存马的文章你可能感兴趣https://su18.org/post/memory-shell-2/

内存马的原理就是在web组件或者应用程序中,注册一层访问路由,访问者通过这层路由,来执行我们控制器中的代码

内存马类型:

Java内存马按照实现原理大致可以分为如下两种

  • 利用Java Web组件:动态添加恶意组件,如Servlet、Filter、Listener等。在Spring框架下就是Controller、Intercepter。
  • 修改字节码:利用Java的Instrument机制,动态注入Agent,在Java内存中动态修改字节码,在HTTP请求执行路径中的类中添加恶意代码,可以实现根据请求的参数执行任意代码。

或三种

  • servlet-api类
    • filter型
    • servlet型
  • spring类
    • 拦截器
    • controller型
  • Java Instrumentation类
    • agent型

组成成分,模仿制作

(从简单到复杂,从一个方向到多个方向)

  1. 先复现一个漏洞,用内存马获取shell权限(应用)
  2. 从简单到复杂,分析优化与应用

上传

  1. 普通上传
  2. 免杀常见工具
  3. Filter型内存马

Filter型内存马生成,上传与使用

Filter型内存马生成

查杀

铸盾者

常见的查杀工具及特点分析

免杀

铸剑者

演变的标志性利用方法

搜索关键词

1
内存马免杀 after:2023
1
内存马查杀 after:2023
1
内存马 github

参考链接

https://github.com/Getshell/Mshell (从原理到实战的资源集)

https://goodapple.top/archives/1355

指向

通过webshell来让Web Server来执行我们的任意指令的全过程分析

让Web Server来执行我们任意代码的方式;1. webshell;2. 修改进程的内存

http请求调用栈

java-cc6

话题

演示用不同工具修改java字节码

稿子

演变

https://gv7.me/articles/2020/kill-java-web-filter-memshell 查杀Java web filter型内存马

https://mp.weixin.qq.com/s/x4pxmeqC1DvRi9AdxZ-0Lw 出现(filter)

https://www.cnblogs.com/rebeyond/p/9686213.html agent技术

https://landgrey.me/blog/12/ Spring controller内存马

原理

https://bwshen.blog.csdn.net/article/details/137379027 浅析JavaWeb内存马基础原理与查杀思路

https://turn1tup.github.io/2022/04/29/Java%E5%BA%94%E7%94%A8%E5%86%85%E5%AD%98%E9%A9%AC/ Java应用内存马

生成工具

https://github.com/pen4uin/java-memshell-generator一款支持高度自定义的 Java 内存马生成工具

查杀

https://github.com/c0ny1/java-memshell-scanner 通过jsp脚本扫描java web Filter/Servlet型内存马

https://github.com/jar-analyzer/jar-analyzer Jar Analyzer - 一个JAR包分析工具

shell-analyzer

https://github.com/4ra1n/shell-analyzer?tab=readme-ov-file

一款GUI版本的实时内存马查杀工具支持本地查杀与远程查杀

工具思路:

https://mp.weixin.qq.com/s/vb0WlgylO7jnbpfh8YnNXQ

https://mp.weixin.qq.com/s/vJAZRtP5DW-CHjGKLX3GrQ

https://ruyueattention.github.io/2023/07/02/Java%E5%86%85%E5%AD%98%E9%A9%AC3-%E5%86%85%E5%AD%98%E9%A9%AC%E6%9F%A5%E6%9D%80/ 查杀思路

免杀

https://xz.aliyun.com/t/13332?time__1311=GqmxuiDQiQoCqGXeCgYG8D9DROqAhuk2wbD#toc-28 免杀基础概览

1+1>2攻防互换

https://gv7.me/articles/2020/kill-java-web-filter-memshell 查杀Java web filter型内存马

https://forum.butian.net/share/921探索Filter型Tomcat内存马的免杀

Javassist修改字节码

https://blog.csdn.net/qq_41633199/article/details/117160642

https://www.javasec.org/javase/JavaByteCode/Javassist.html?h=javassist

https://www.cnblogs.com/kuangdaoyizhimei/p/15964713.html