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

VOIDMAW:一种可用于绕过内存扫描器的新技术

随着恶意软件检测技术的发展,攻击者用来逃避检测的方法也在不断改进。

VOIDMAW 是一种创新的内存扫描绕过技术,可以有效地隐藏有问题的代码,不让防病毒软件发现。

它支持多线程负载,并与所有命令和控制 (C2) 信标兼容。此外,VOIDMAW 可以运行任何非 .NET 可执行文件,使其成为攻击者手中的强大工具。

VOIDMAW 采用两个程序来实现其目标:

1. Dismantle

这是 VOIDMAW 过程的第一部分。该程序将有效载荷(例如Cobalt Strike信标或转换为 shellcode 的可执行文件(如Mimikatz))读入内存并开始记录其行为。

它记录执行的每条唯一指令及其在内存中的偏移量。这些数据稍后将用于生成头文件,这对于通过Voidmaw程序执行有效载荷至关重要。

Dismantle中的步骤如下:

PAGE_GUARD 保护:程序在保存有效载荷的内存页面上设置 PAGE_GUARD 保护。每当尝试在该页面上执行代码时,此保护都会触发异常。

向量异常处理程序 (VEH):安装 VEH 是为了处理 PAGE_GUARD 引发的异常。VEH 有两个主要职责:

STATUS_GUARD_PAGE_VIOLATION 处理:捕获已执行的指令,并将其保存在映射结构中,同时保持 PAGE_GUARD 保护。

EXCEPTION_SINGLE_STEP 处理:这会在记录每条指令后恢复 PAGE_GUARD,确保后续指令触发新的异常,从而允许连续的指令记录。

一旦记录了所有指令,就会使用INT3指令(软件断点)对其进行加密和屏蔽,以隐藏执行的代码。此过程的输出是一个头文件,其中包括:

1. 被屏蔽的原始有效载荷。

2. 用于解密指令的 XOR 加密密钥。

3. 包含加密指令及其偏移量的无序映射。

4. InitMap函数用于初始化第二个程序Voidmaw中的地图。

2.VOIDMAW

一旦有效载荷被 Dismantle 处理,它就可以被Voidmaw执行。该程序使用 Dismantle 生成的头文件动态解密并执行有效载荷,同时保持一定程度的隐蔽性,使内存扫描仪难以检测到。

执行过程如下:

InitMap函数:Voidmaw首先调用InitMap函数初始化加密指令的地图。

内存分配:创建一个内存区域,并将屏蔽的有效载荷写入该空间。

向量异常处理程序 (VEH):Voidmaw 安装了一个新的 VEH 来处理EXCEPTION_BREAKPOINT,只要程序在执行过程中遇到INT3指令就会触发该处理程序。

当 VEH 遇到INT3时,它会检查异常的偏移量并在无序映射中查找它。然后解密加密的汇编指令,在指令指针处恢复并执行。执行后,该指令再次用INT3屏蔽,每次只留下一条可见的汇编指令。

此过程对每个线程重复,使 Voidmaw 能够无缝处理多线程有效载荷。

这种技术可确保在任何给定时间内只有一条指令可见,这使得内存扫描器难以捕获整个恶意代码序列。

VOIDMAW 是一种用于逃避内存扫描的高级技术,它标志着恶意软件执行领域的新前沿。

它能够屏蔽执行的指令并处理多线程负载,使其成为绕过传统防病毒防御的绝佳工具。

由于 VOIDMAW 是开源的,可在GitHub上获取,因此其技术可供广泛的用户使用,既可用于研究,也可用于恶意目的。

VOIDMAW 代表了规避技术的重大进步。它能够绕过传统的内存扫描器,这引起了安全专业人员的担忧。

组织需要意识到这些先进的技术,并采取行为分析和异常检测等主动措施来应对这些不断演变的威胁。

https://github.com/vxCrypt0r/Voidmaw


http://www.kler.cn/news/361989.html

相关文章:

  • 搜维尔科技:使用Manus Primel Xsens数据手套直接在Xsens及其插件中捕获手指数据
  • sentinel原理源码分析系列(八)-熔断
  • SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
  • 2024软件测试面试秘籍(含答案+文档)
  • 缓存框架JetCache源码解析-缓存定时刷新
  • 导数的概念及在模型算法中的应用
  • [单调栈] 统计点数
  • 如何使用 matplotlib 在 Python 3 中绘制数据
  • 定制开发 AI 智能名片 S2B2C 商城系统小程序:选择靠谱第三方开发商的重要性
  • 给el-dialog的整体加动态class
  • Hadoop 3.4.0 安装与WordCount示例
  • 重学SpringBoot3-Reactive-Streams规范
  • 基于ADC方法的系统效能评估代码实现
  • Linux_VI、VIM编辑器
  • 如何优雅解决Go版本安装问题及与Oracle 11g的兼容性挑战20241017
  • React是如何工作的?
  • [实时计算flink]DataStream连接器设置方法
  • Linux中的socket文件和网络变成中的socket异同点
  • Python爬取京东商品信息,详细讲解,手把手教学(附源码)
  • LUCEDA IPKISS Tutorial 78:自定义Taper
  • 力扣 143.重排链表【详细手写】
  • 华三服务器R4900 G5在图形界面使用PMC阵列卡(P460-B4)创建RAID,并安装系统(中文教程)
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-16
  • 英伟达开源超强模型Nemotron-70B;OpenAI推出Windows版ChatGPT桌面客户端
  • wps安装教程
  • 在Jmeter中的JSR223 PreProcessor使用javascript实战