Process Herpaderping技术原理从文件映射到线程创建的漏洞利用全流程【免费下载链接】herpaderpingProcess Herpaderping proof of concept, tool, and technical deep dive. Process Herpaderping bypasses security products by obscuring the intentions of a process.项目地址: https://gitcode.com/gh_mirrors/he/herpaderpingProcess Herpaderping是一种通过在映射镜像后修改磁盘内容来模糊进程意图的技术它利用Windows内核的文件缓存机制和进程创建流程中的时间差使安全产品和操作系统本身对进程真实意图产生误判。这种技术通过精心设计的写入-映射-修改-执行-关闭工作流成功绕过传统安全检测机制实现恶意代码的隐蔽执行。核心原理文件缓存与进程创建的时间差漏洞Windows操作系统在进程创建过程中存在一个关键特性当通过NtCreateSection创建映像节区时系统会将文件内容缓存到SECTION_OBJECT_POINTERS结构中后续进程创建时会直接使用这个缓存的映像而非重新读取磁盘文件。Process Herpaderping正是利用了这一机制通过在文件映射后、线程创建前修改磁盘内容使安全产品在检测时读取到的是被篡改的文件内容而非实际执行的代码。Process Herpaderping技术的状态转换流程图展示了从文件创建到进程执行的完整漏洞利用路径技术实现的关键步骤文件创建与写入创建目标文件并写入恶意 payload保持文件句柄打开映像节区映射使用NtCreateSection和SEC_IMAGE标志将文件映射为映像节区进程对象创建通过NtCreateProcessEx创建进程对象此时系统缓存原始映像磁盘内容篡改利用同一文件句柄修改磁盘上的文件内容初始线程创建调用NtCreateThreadEx启动进程触发内核回调文件句柄关闭关闭文件句柄触发IRP_MJ_CLEANUP在整个流程中安全产品通常在步骤5线程创建或步骤6句柄关闭时进行检测此时磁盘文件已被篡改导致检测结果与实际执行代码不符。技术细节从用户态到内核态的完整链条用户态操作流程解析Process Herpaderping的用户态实现集中在source/ProcessHerpaderping/herpaderp.cpp文件中核心函数Herpaderp::ExecuteProcess实现了完整的漏洞利用流程。该函数首先创建目标文件并写入源 payload然后通过NtCreateSection创建映像节区接着使用NtCreateProcessEx创建进程对象而不启动线程随后修改文件内容最后通过NtCreateThreadEx启动进程。关键代码路径如下文件创建使用CreateFileW创建具有写入权限的文件句柄节区映射调用NtCreateSection创建SEC_IMAGE类型的节区进程创建通过NtCreateProcessEx创建进程传入节区句柄文件修改利用同一文件句柄写入混淆内容线程创建调用NtCreateThreadEx启动初始线程Process Herpaderping技术执行过程演示展示了修改磁盘文件后仍能执行原始代码的异常行为内核态机制分析深入内核态分析可以发现Windows内核在处理NtCreateSection时会将映像节区缓存到FILE_OBJECT的SectionObjectPointer成员中。如res/DivingDeeper.md中所述当调用NtCreateProcessEx时系统会重用这个缓存的节区对象而非重新读取磁盘文件。这意味着即使磁盘文件被修改进程执行的仍然是缓存的原始映像。内核中的MiReferenceControlArea函数负责引用缓存的节区对象其代码逻辑如下controlArea fileObject-SectionObjectPointer-DataSectionObject; if ((CreateSectionPacket-AllocateAttributes SEC_IMAGE) ! 0) { controlArea fileObject-SectionObjectPointer-ImageSectionObject; }这段代码表明当创建映像节区时系统会优先使用缓存的ImageSectionObject从而绕过对磁盘文件的重新读取。与其他进程注入技术的对比分析Process Herpaderping与传统的进程空洞化Hollowing和 Doppelganging 技术既有相似之处又有本质区别技术类型核心流程关键区别检测难度进程空洞化映射-修改节区-执行直接修改已映射的内存节区中等可通过内存扫描检测Doppelganging事务-写入-映射-回滚-执行依赖事务文件系统特性较高微软已修复部分漏洞Herpaderping写入-映射-修改-执行-关闭利用文件缓存机制不依赖特殊API极高无内存修改痕迹Herpaderping的独特优势在于它不修改已映射的内存而是通过合法的文件操作来实现攻击目的这使得传统基于内存修改的检测手段失效。实战验证Process Monitor捕获的异常行为通过Process Monitor可以清晰观察到Herpaderping的异常行为。在res/procmon.png中我们可以看到以下关键事件序列CreateFile创建目标文件lol.exeWriteFile写入cmd.exe的内容NtCreateSection创建映像节区NtCreateProcessEx创建进程对象多次WriteFile修改lol.exe内容为混淆数据NtCreateThreadEx启动进程CloseFile关闭文件句柄尽管磁盘上的lol.exe已被修改但进程仍然执行了原始的cmd.exe代码这正是Herpaderping技术的核心特征。Process Monitor日志显示即使文件被多次修改进程仍执行了原始代码防御与检测挑战由于Herpaderping利用的是Windows内核的设计特性而非漏洞传统的补丁修复方法难以奏效。从防御角度看可能的解决方案包括禁用文件缓存阻止系统缓存映像节区但会严重影响系统性能实时文件校验在进程创建时重新验证文件内容但会增加系统开销行为检测识别写入-映射-修改-执行的异常操作序列目前微软已被告知此问题但尚未发布官方修复方案。安全产品需要开发基于行为特征的检测方法而非依赖传统的文件哈希或签名比对。总结理解与防范Process HerpaderpingProcess Herpaderping通过巧妙利用Windows文件系统缓存机制实现了恶意代码的隐蔽执行。其核心在于在文件映射后、线程创建前修改磁盘内容使安全检测读取到的是虚假数据而进程执行的是缓存的原始代码。这种技术揭示了操作系统设计中的深层安全挑战也为安全产品的开发提供了新的研究方向。要有效防范此类攻击安全从业者需要深入理解Windows内核的进程创建机制开发基于行为特征的检测方法避免单纯依赖文件内容进行威胁判定随着操作系统安全机制的不断演进攻防双方的博弈也将持续升级。理解Herpaderping这类技术不仅有助于提升防御能力也能推动操作系统安全设计的不断完善。【免费下载链接】herpaderpingProcess Herpaderping proof of concept, tool, and technical deep dive. Process Herpaderping bypasses security products by obscuring the intentions of a process.项目地址: https://gitcode.com/gh_mirrors/he/herpaderping创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
Process Herpaderping技术原理:从文件映射到线程创建的漏洞利用全流程
Process Herpaderping技术原理从文件映射到线程创建的漏洞利用全流程【免费下载链接】herpaderpingProcess Herpaderping proof of concept, tool, and technical deep dive. Process Herpaderping bypasses security products by obscuring the intentions of a process.项目地址: https://gitcode.com/gh_mirrors/he/herpaderpingProcess Herpaderping是一种通过在映射镜像后修改磁盘内容来模糊进程意图的技术它利用Windows内核的文件缓存机制和进程创建流程中的时间差使安全产品和操作系统本身对进程真实意图产生误判。这种技术通过精心设计的写入-映射-修改-执行-关闭工作流成功绕过传统安全检测机制实现恶意代码的隐蔽执行。核心原理文件缓存与进程创建的时间差漏洞Windows操作系统在进程创建过程中存在一个关键特性当通过NtCreateSection创建映像节区时系统会将文件内容缓存到SECTION_OBJECT_POINTERS结构中后续进程创建时会直接使用这个缓存的映像而非重新读取磁盘文件。Process Herpaderping正是利用了这一机制通过在文件映射后、线程创建前修改磁盘内容使安全产品在检测时读取到的是被篡改的文件内容而非实际执行的代码。Process Herpaderping技术的状态转换流程图展示了从文件创建到进程执行的完整漏洞利用路径技术实现的关键步骤文件创建与写入创建目标文件并写入恶意 payload保持文件句柄打开映像节区映射使用NtCreateSection和SEC_IMAGE标志将文件映射为映像节区进程对象创建通过NtCreateProcessEx创建进程对象此时系统缓存原始映像磁盘内容篡改利用同一文件句柄修改磁盘上的文件内容初始线程创建调用NtCreateThreadEx启动进程触发内核回调文件句柄关闭关闭文件句柄触发IRP_MJ_CLEANUP在整个流程中安全产品通常在步骤5线程创建或步骤6句柄关闭时进行检测此时磁盘文件已被篡改导致检测结果与实际执行代码不符。技术细节从用户态到内核态的完整链条用户态操作流程解析Process Herpaderping的用户态实现集中在source/ProcessHerpaderping/herpaderp.cpp文件中核心函数Herpaderp::ExecuteProcess实现了完整的漏洞利用流程。该函数首先创建目标文件并写入源 payload然后通过NtCreateSection创建映像节区接着使用NtCreateProcessEx创建进程对象而不启动线程随后修改文件内容最后通过NtCreateThreadEx启动进程。关键代码路径如下文件创建使用CreateFileW创建具有写入权限的文件句柄节区映射调用NtCreateSection创建SEC_IMAGE类型的节区进程创建通过NtCreateProcessEx创建进程传入节区句柄文件修改利用同一文件句柄写入混淆内容线程创建调用NtCreateThreadEx启动初始线程Process Herpaderping技术执行过程演示展示了修改磁盘文件后仍能执行原始代码的异常行为内核态机制分析深入内核态分析可以发现Windows内核在处理NtCreateSection时会将映像节区缓存到FILE_OBJECT的SectionObjectPointer成员中。如res/DivingDeeper.md中所述当调用NtCreateProcessEx时系统会重用这个缓存的节区对象而非重新读取磁盘文件。这意味着即使磁盘文件被修改进程执行的仍然是缓存的原始映像。内核中的MiReferenceControlArea函数负责引用缓存的节区对象其代码逻辑如下controlArea fileObject-SectionObjectPointer-DataSectionObject; if ((CreateSectionPacket-AllocateAttributes SEC_IMAGE) ! 0) { controlArea fileObject-SectionObjectPointer-ImageSectionObject; }这段代码表明当创建映像节区时系统会优先使用缓存的ImageSectionObject从而绕过对磁盘文件的重新读取。与其他进程注入技术的对比分析Process Herpaderping与传统的进程空洞化Hollowing和 Doppelganging 技术既有相似之处又有本质区别技术类型核心流程关键区别检测难度进程空洞化映射-修改节区-执行直接修改已映射的内存节区中等可通过内存扫描检测Doppelganging事务-写入-映射-回滚-执行依赖事务文件系统特性较高微软已修复部分漏洞Herpaderping写入-映射-修改-执行-关闭利用文件缓存机制不依赖特殊API极高无内存修改痕迹Herpaderping的独特优势在于它不修改已映射的内存而是通过合法的文件操作来实现攻击目的这使得传统基于内存修改的检测手段失效。实战验证Process Monitor捕获的异常行为通过Process Monitor可以清晰观察到Herpaderping的异常行为。在res/procmon.png中我们可以看到以下关键事件序列CreateFile创建目标文件lol.exeWriteFile写入cmd.exe的内容NtCreateSection创建映像节区NtCreateProcessEx创建进程对象多次WriteFile修改lol.exe内容为混淆数据NtCreateThreadEx启动进程CloseFile关闭文件句柄尽管磁盘上的lol.exe已被修改但进程仍然执行了原始的cmd.exe代码这正是Herpaderping技术的核心特征。Process Monitor日志显示即使文件被多次修改进程仍执行了原始代码防御与检测挑战由于Herpaderping利用的是Windows内核的设计特性而非漏洞传统的补丁修复方法难以奏效。从防御角度看可能的解决方案包括禁用文件缓存阻止系统缓存映像节区但会严重影响系统性能实时文件校验在进程创建时重新验证文件内容但会增加系统开销行为检测识别写入-映射-修改-执行的异常操作序列目前微软已被告知此问题但尚未发布官方修复方案。安全产品需要开发基于行为特征的检测方法而非依赖传统的文件哈希或签名比对。总结理解与防范Process HerpaderpingProcess Herpaderping通过巧妙利用Windows文件系统缓存机制实现了恶意代码的隐蔽执行。其核心在于在文件映射后、线程创建前修改磁盘内容使安全检测读取到的是虚假数据而进程执行的是缓存的原始代码。这种技术揭示了操作系统设计中的深层安全挑战也为安全产品的开发提供了新的研究方向。要有效防范此类攻击安全从业者需要深入理解Windows内核的进程创建机制开发基于行为特征的检测方法避免单纯依赖文件内容进行威胁判定随着操作系统安全机制的不断演进攻防双方的博弈也将持续升级。理解Herpaderping这类技术不仅有助于提升防御能力也能推动操作系统安全设计的不断完善。【免费下载链接】herpaderpingProcess Herpaderping proof of concept, tool, and technical deep dive. Process Herpaderping bypasses security products by obscuring the intentions of a process.项目地址: https://gitcode.com/gh_mirrors/he/herpaderping创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考