Paul C's Blog

To be funny,to grow up!

0%

Memory-resident Malware

主打隐蔽,:

内存中,无文件落地到磁盘;

  • 内核级别操作 rootkit
  • 在内存中生成文件
  • 反射式DLL注入:这是一种技术,它允许恶意软件在不使用硬盘上的文件的情况下,将DLL注入到进程的内存中。
  • 进程注入:攻击者可以将自己的恶意进程注入到合法进程的地址空间中

  • DLL注入:恶意软件可以注入恶意动态链接库(DLL)到其他进程的内存中

Webshell的内存马分类:

1.servlet-api型
通过命令执行等方式动态注册一个新的listener、filter或者servlet,从而实现命令执行等功能。特定框架、容器的内存马原理与此类似,如spring的controller内存马,tomcat的valve内存马

2.字节码增强型
通过java的instrumentation动态修改已有代码,进而实现命令执行等功能。

客户端—>Listener—>Filter—>Servlet

在 web.xml 注册了一个 Filter 来对某个 Servlet 程序进行拦截处理 ;

Filter.doFilter —> 调用 FilterChain.doFilter ( FilterChain Object)—> 激活目标 Servlet 的 service ;

filter链
当多个filter同时存在的时候,组成了filter链。web服务器根据Filter在web.xml文件中的注册顺序,决定先调用哪个Filter。当第一个Filter的doFilter方法被调用时,web服务器会创建一个代表Filter链的FilterChain对象传递给该方法,通过判断FilterChain中是否还有filter决定后面是否还调用filter。