隐蔽执行的艺术: Freeze 源码框架解读与推荐
【项目简介】 Freeze 是一款用于绕过端点检测和响应(EDR)安全控制的payload创建工具。它巧妙地利用系统特性,以隐形方式执行shellcode,避开了一系列监控手段。这个项目由Tylous发起,并且在SourceZero 博客上详细解释了其背后的原理和技术。
【项目技术分析】
-
创建挂起进程: Freeze 利用Windows Ntdll.dll加载时的短暂窗口期,创建挂起的进程,使得EER无法在此阶段进行DLL注入和钩子设置。
-
地址空间布局随机化(ASLR): 通过ASLR机制,Freeze能够找到并读取挂起进程中未经篡改的Ntdll.dll内存区域。由于系统DLL的基址在每次启动时是固定的,因此可以避免枚举远程进程信息来获取地址。
-
ETW(事件跟踪)补丁: Freeze 还会修补一些ETW系统调用,防止它们生成可能导致暴露行为的日志,进一步增强隐蔽性。
-
自定义shellcode: Freeze 使用Go语言编写,直接调用Ntdll.dll中的NT系统调用来分配、写入和保护shellcode,跳过了可能被挂钩的标准函数。
【应用场景】 Freeze 可广泛应用于渗透测试、安全研究或逆向工程等领域。安全专业人士可以用它来模拟攻击者行为,测试和评估EDR解决方案的有效性;同时也为研究如何对抗高级威胁提供了实验平台。
【项目特点】
- 隐蔽性强:Freeze利用Windows内核特性,有效绕过多种Userland EDR和Kernel-level EDR的监控,降低被发现的概率。
- 多功能性:支持生成
.exe
和.dll
两种类型的payload,可添加特定导出函数,满足不同场景需求。 - 易于使用:基于Golang开发,提供简洁的命令行接口,方便用户快速构建定制化的shellcode加载器。
- 安全增强:提供选项进行沙箱规避检查,增加在受控环境下的生存率。
为了深入了解Freeze以及其技术细节,你可以访问已更新的GitHub仓库获取最新源代码和相关文档。无论是安全研究人员还是对系统底层操作感兴趣的开发者,都将从Freeze中获益匪浅。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考