首页 > 系统相关 >内存马的攻防博弈实操

内存马的攻防博弈实操

时间:2022-11-02 17:00:51浏览次数:75  
标签:攻防 java tomcat 文件 部署 实操 内存

一、概述

一文看懂内存马概述:内存马是无文件攻击的一种常用手段,随着攻防演练热度越来越高:攻防双方的博弈,流量分析、EDR等专业安全设备被蓝方广泛使用,传统的文件上传的webshll或以文件形式驻留的后门越来越容易被检测到,内存马使用越来越多。
Webshell内存马,是在内存中写入恶意后门和木马并执行,达到远程控制Web服务器的一类内存马,其瞄准了企业的对外窗口:网站、应用。但传统的Webshell都是基于文件类型的,黑客可以利用上传工具或网站漏洞植入木马,区别在于Webshell内存马是无文件马,利用中间件的进程执行某些恶意代码,不会有文件落地,给检测带来巨大难度。

如何实现内存马注入

一文看懂内存马如何实现webshell内存马:目标:访问任意url或者指定url,带上命令执行参数,即可让服务器返回命令执行结果
实现:以java为例,客户端发起的web请求会依次经过Listener、Filter、Servlet三个组件,我们只要在这个请求的过程中做手脚,在内存中修改已有的组件或者动态注册一个新的组件,插入恶意的shellcode,就可以达到我们的目的。

tomcat环境部署内存马

内存马测试样例

利用IDEA或者xmapp搭建好tomcat环境,部署实现注入内存马jsp或者java文件,URL访问如下:

表示部署成功
访问http://localhost:8080/tomcat9test_war_exploded/?chan=ipconfig

内存马如何查杀

部署tomcat-memshell-scanner,部署成功后如图,kill后重新启动服务内存马即可删除,如果实战还需对部署内存

标签:攻防,java,tomcat,文件,部署,实操,内存
From: https://www.cnblogs.com/renhaoblog/p/16851585.html

相关文章

  • 关于C语言释放内存的问题
    1、我打算在arg_type使用完成后,进行清理。但是TCFREE(arg_type)这步后,程序报错。(但是在C代码的确是这么写的,不知道是不是因为我的写的是C++的原因) ......
  • (Android图片内存优化)Picasso加载图片 教程。。详细版
    Picasso是Android上一个强大的图片下载和缓存库。示例代码:​​Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);@Override......
  • 垃圾回收与内存泄漏
    一、浏览器的垃圾回收机制1.垃圾回收的概念JavaScript代码运行时,需要分配内存空间来储存变量和值。当变量不在参与运行时,就需要系统收回被占用的内存空间,这就是垃圾回收......
  • 收下这份实操案例,还怕不会用Jmeter接口测试工具?!
    01简介每天进步一点点,关注我们哦,每天分享测试技术文章本文章出自【码同学软件测试】码同学公众号:自动化软件测试,领取资料可加:magetest码同学抖音号:小码哥聊软件测试J......
  • 内存高【8】
    windbg分析1.真的是非托管泄漏吗?我在很多分析内存泄漏方面的文章都提到过,先要用二分法确定下是哪一部分的内存泄漏(托管还是非托管)。0:000>!address-summary---U......
  • 内存高【7】
    windbg分析1.托管还是非托管?既然是内存暴涨,那就看看当前进程的commit内存有多大?0:000>!address-summary---StateSummary----------------RgnCount-------......
  • Kubernetes Deployment 实操整理
    Deployment用于部署无状态的服务。一般不直接管理Pod或者ReplicaSet。创建DeploymentDeployment文件apiVersion:apps/v1kind:Deploymentmetadata:name:nginx......
  • 嵌入式-C语言基础:malloc动态开辟内存空间
    #include<stdio.h>#include<stdlib.h>intmain(){//char*p;//定义一个野指针:没有让它指向一个变量的地址//*p='c';//直接对野指针进行操作,会报错ch......
  • c++从入门到精通——const分配内存模型
    const分配内存模型对const变量取地址,分配临时内存#define_CRT_SECURE_NO_WARNINGS#include<iostream>usingnamespacestd;voidtest(){constinta=10;int*p=(i......
  • 如何写成高性能的代码(三):巧用稀疏矩阵节省内存占用
    稀疏矩阵的概念一个m×n的矩阵是一个由m行n列元素排列成的矩形阵列。矩阵里的元素可以是数字、符号及其他的类型的元素。一般来说,在矩阵中,若数值为0的元素数目远远多于非0......