【免杀】利用VEH异常处理机制突破360核晶内存扫描的壁垒

admin 2024年4月19日23:34:51评论9 views字数 1768阅读5分53秒阅读模式
想第一时间看到我们的大图推送吗?赶紧把我们设为星标吧!这样您就不会错过任何精彩内容啦!感谢您的支持!🌟
目录
0x01  初识Windows异常处理机制
0x02  利用VEH异常处理过杀软测试
0x03  杀软效果检测
0x01 初识Windows异常处理机制

在Windows系统运行过程中,无论是由内存问题还是应用程序引起的异常,都是难以避免的现象。然而,Windows系统提供了一套强大的异常处理机制,其灵活性和可靠性使得开发人员能够有效地管理和应对这些异常情况,从而提高系统的稳定性和可用性。大体上来讲,Windows提供了SEH(结构化异常处理)、VEH(向量化异常处理)这两种种异常处理机制。

1. SEH-结构化异常处理(线程相关)

SEH(Structed Exception Handler)是Windows操作系统提供的强大异常处理机制,程序源代码中使用__try,__except,__finally关键字来具体实现。SEH分为两个部分,终止处理器和异常处理器,其中终止处理器由__try和__finally组成,无论__try块中的代码有无异常,finally块总是被调用执行 ,其作用主要是保证应用程序在一段被保护的代码发生中断后还能够完成关闭文件,清理内存等工作;而异常处理器__try和__except组成, 当__try块中的代码发生异常时,__except()中的过滤程序就被调用。

2. VEH-向量化异常处理(进程相关)

除了SEH,从XP开始,Windows还支持了向量化异常处理VEH。VEH的基本思想:通过注册回调函数来接收和处理异常。

VEH通常是用AddVectoredExceptionHandler去添加一个异常处理函数,可以通过第一个参数决定是否将VEH函数插入到VEH链表头,插入到链表头的函数先执行,如果为1,则会最优先执行。当在用户模式下发生异常时,异常处理分发函数在内部会先调用遍历 VEH 记录链表的函数, 如果没有找到可以处理异常的注册函数,再开始遍历 SEH 注册链表。所以其优先级比SEH更高

0x02  利用VEH异常处理过杀软测试

【免杀】利用VEH异常处理机制突破360核晶内存扫描的壁垒

首先需要对两个函数Sleep与VirtualAlloc进行挂钩。

创建函数HookSleep与HookVirtualAlloc用于挂钩。

UnHookSleep与UnHookVirtualAlloc进行脱钩。

这里预先对四个函数进行定义,避免报错。

【免杀】利用VEH异常处理机制突破360核晶内存扫描的壁垒

这是挂钩替换的新的Sleep与新的VirtualAlloc函数,Sleep函数的主要目的是用于判断杀软的动态监测。很多杀软都会对Sleep函数进行挂钩,一旦Sleep函数被杀软挂钩,就会对事件进行设置。

【免杀】利用VEH异常处理机制突破360核晶内存扫描的壁垒

此处是SetProtect函数,用于更改内存空间的属性。

【免杀】利用VEH异常处理机制突破360核晶内存扫描的壁垒

此处是用于异常检测的函数。

首先我们需要报错的异常是0xc0000005,报错原因是内存的权限不够。

除此之外,我们还需要检测地址信息,检测是否是shellcode的地址。

【免杀】利用VEH异常处理机制突破360核晶内存扫描的壁垒

通过AddVectoredExceptionHandler函数创建异常处理函数,随后对VirtualAlloc,Sleep函数挂钩。

通过读取文件的方式,加载shellcode。

初始shellcode不要带有可执行权限,这一点是异常免杀的核心。

利用实时更改内存权限的方法,在需要执行shellcode的时候对内存权限添加可执行,执行完成后删除执行权限,一定程度上能避免掉队内存的检测。

0x03 杀软效果检测

【免杀】利用VEH异常处理机制突破360核晶内存扫描的壁垒

根据杀软检测出的效果来看,利用VEH异常处理机制来进行免杀能够绕过360核晶防护,但这仅揭示了一种过内存扫描的免杀技术。除了这种方式,还有另外一种效果更为显著的免杀方式--堆加密,感兴趣的师傅也可以下来了解一下,我们将在下一篇【免杀】文章中,围绕堆加密探讨其在绕过杀软检测方面的具体实现,敬请期待!
本文所涉及源码,关注公众号,回复【240410】,即可获得!!!
如果您对免杀对抗感兴趣,想要深入探讨、交流并学习更多相关内容,欢迎各位师傅技术交!!!(若二维码过期,关注公众号,回复【加群】,添加管理员微信,拉您进群)

【免杀】利用VEH异常处理机制突破360核晶内存扫描的壁垒

点击下方名片进入公众号,欢迎关注!

喜欢我们的文章的话,别忘了给我们点个赞哦!感谢您的支持👍

原文始发于微信公众号(赤鸢安全):【免杀】利用VEH异常处理机制突破360核晶内存扫描的壁垒

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月19日23:34:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【免杀】利用VEH异常处理机制突破360核晶内存扫描的壁垒http://cn-sec.com/archives/2644979.html

发表评论

匿名网友 填写信息