Windows内核视角:Process Herpaderping如何欺骗进程创建回调机制

Windows内核视角:Process Herpaderping如何欺骗进程创建回调机制

【免费下载链接】herpaderping Process Herpaderping proof of concept, tool, and technical deep dive. Process Herpaderping bypasses security products by obscuring the intentions of a process. 【免费下载链接】herpaderping 项目地址: https://gitcode.com/gh_mirrors/he/herpaderping

Process Herpaderping是一种能够绕过安全产品检测的技术,它通过模糊进程意图来实现恶意行为。本文将从Windows内核角度深入解析Process Herpaderping如何欺骗进程创建回调机制,帮助读者理解这一技术的工作原理和潜在风险。

什么是Process Herpaderping?

Process Herpaderping是一种进程混淆技术,其核心思想是在进程创建过程中操纵文件内容和内存映射,使得安全产品无法准确识别进程的真实意图。该技术利用了Windows内核中的一些机制和优化,通过精心构造的步骤来绕过进程创建回调等安全检测机制。

Process Herpaderping的工作原理

核心欺骗手段

Process Herpaderping的主要欺骗手段是利用Windows内核对文件节(Section)的缓存机制。当一个可执行文件被映射到内存时,Windows会创建一个节对象(Section Object)并缓存该节的信息。Process Herpaderping正是利用了这一点,通过修改磁盘上的文件内容,但保持内存中的节对象不变,从而欺骗依赖文件内容进行检测的安全产品。

技术实现步骤

  1. 创建合法文件并映射到内存:首先创建一个合法的可执行文件,并将其映射到内存中,使Windows内核创建并缓存相应的节对象。

  2. 修改磁盘文件内容:在进程创建之前,修改磁盘上的文件内容,将其替换为恶意代码。

  3. 利用缓存的节对象创建进程:通过NtCreateProcessEx等API,使用之前缓存的节对象来创建新进程。此时,虽然磁盘文件内容已被修改,但进程实际执行的是内存中缓存的原始合法代码。

  4. 绕过进程创建回调:由于进程创建回调机制依赖于文件对象(FILE_OBJECT)来获取进程信息,而此时的文件对象仍然指向被修改后的文件,导致安全产品无法检测到实际执行的代码。

内核视角下的欺骗机制

节对象缓存机制

Windows内核为了提高性能,会对可执行文件的节对象进行缓存。当一个文件被映射为可执行镜像时,内核会创建一个IMAGE_SECTION_OBJECT并将其缓存到文件对象的SectionObjectPointer中。这个缓存的节对象会被后续的进程创建所重用,即使磁盘上的文件内容发生了变化。

Process Herpaderping节对象缓存机制

上图展示了Process Herpaderping利用节对象缓存的过程。红色框标注了源文件(cmd.exe)被复制到目标文件(lol.exe)的过程,以及目标文件被映射到内存后,操作系统如何缓存其镜像节。即使后续修改了目标文件的内容,进程仍然执行的是缓存中的原始镜像。

进程创建回调的信息获取

进程创建回调机制通过PsReferenceProcessFilePointer函数来获取进程对应的文件对象。该函数从进程的EPROCESS结构中获取SectionObject,然后通过节对象找到对应的文件对象。然而,在Process Herpaderping攻击中,这个文件对象指向的是已经被修改的磁盘文件,而实际执行的代码来自缓存的节对象,导致回调机制获取到的信息与实际执行的代码不符。

实际案例分析

演示视频

下面的演示视频展示了Process Herpaderping如何绕过Windows Defender的检测:

Process Herpaderping演示

视频中可以看到,尽管恶意文件被执行,但Windows Defender并未发出警报,说明Process Herpaderping成功绕过了安全产品的检测。

技术细节分析

通过WinDbg调试工具,我们可以观察到Process Herpaderping的关键步骤:

  1. 创建文件并映射到内存,内核创建节对象并缓存。
  2. 修改文件内容,但节对象仍然指向原始内容。
  3. 使用NtCreateProcessEx创建进程,指定之前缓存的节对象。
  4. 进程执行缓存的原始代码,而文件内容已被修改。

这种方式使得依赖文件内容进行检测的安全产品无法发现实际执行的代码,从而实现了绕过检测的目的。

防御措施

面对Process Herpaderping这类攻击,我们可以采取以下防御措施:

  1. 监控节对象创建:通过监控NtCreateSection等API,检测异常的节对象创建和使用。
  2. 验证文件内容与内存镜像:对比磁盘文件内容和内存中的镜像,发现不一致的情况。
  3. 使用高级进程创建监控:利用PsSetCreateProcessNotifyRoutineEx2等回调函数,获取更详细的进程创建信息。
  4. 定期更新安全产品:确保安全产品能够识别最新的Process Herpaderping技术变体。

总结

Process Herpaderping通过利用Windows内核的节对象缓存机制,成功欺骗了进程创建回调等安全检测机制。理解这一技术的工作原理,对于开发有效的防御措施至关重要。随着安全技术的不断发展,我们需要持续关注这类新型攻击技术,并不断提升系统的安全性。

通过本文的介绍,相信读者对Process Herpaderping有了更深入的了解。在实际应用中,我们需要综合运用多种防御手段,才能有效应对这类高级攻击技术。

【免费下载链接】herpaderping Process Herpaderping proof of concept, tool, and technical deep dive. Process Herpaderping bypasses security products by obscuring the intentions of a process. 【免费下载链接】herpaderping 项目地址: https://gitcode.com/gh_mirrors/he/herpaderping

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值