admin管理员组

文章数量:1561889

内存马简介

1.1 webshell变迁

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

内存马是无文件攻击的一种常用手段,随着攻防演练热度越来越高:攻防双方的博弈,流量分析、EDR等专业安全设备被蓝方广泛使用,传统的文件上传的webshll或以文件形式驻留的后门越来越容易被检测到,内存马使用越来越多

Webshell内存马,是在内存中写入恶意后门和木马并执行,达到远程控制Web服务器的一类内存马,其瞄准了企业的对外窗口:网站、应用。但传统的Webshell都是基于文件类型的,黑客可以利用上传工具或网站漏洞植入木马,区别在于Webshell内存马是无文件马,利用中间件的进程执行某些恶意代码,不会有文件落地,给检测带来巨大难度。

1.2 效果和如何实现

我们想实现访问任意url或者指定url,带上命令执行参数,即可让服务器返回命令执行结果

如何实现?
通过动态注册一个新的Filter或者向Filter中注入恶意的shellcode,让Filter允许攻击者访问到Web服务器内存中的数据
同理 Listener,Servlet也能实现效果

1.3 涉及到的知识
  1. 什么是servlet

Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层

  1. 请求的处理过程

客户端发起一个http请求,比如get类型。
Servlet容器接收到请求,根据请求信息,封装成HttpServletRequest和HttpServletResponse对象。
Servlet容器调用HttpServlet的init()方法,init方法只在第一次请求的时候被调用。
Servlet容器调用service()方法。
service()方法根据请求类型,这里是get类型,分别调用doGet或者doPost方法,这里调用doGet方法。
doXXX方法中是我们自己写的业务逻辑。
业务逻辑处理完成之后&

本文标签: 基础知识内存