Freeze:绕过EDR安全控制的隐秘Shellcode执行工具
项目介绍
Freeze是一款专为绕过EDR(Endpoint Detection and Response)安全控制而设计的Payload创建工具。它通过多种技术手段,不仅能够移除用户态EDR钩子,还能以一种极为隐秘的方式执行Shellcode,从而规避其他终端监控控制。Freeze的核心思想是利用Windows系统中的Ntdll.dll在进程创建初期的未被EDR钩子修改的特性,结合地址空间布局随机化(ASLR)等技术,实现对Shellcode的隐秘执行。
项目技术分析
创建挂起进程
Freeze首先创建一个挂起状态的进程,此时只有Ntdll.dll被加载,而其他EDR DLL尚未加载。这意味着在EDR开始钩住和修改系统DLL的汇编代码之前,存在一个短暂的窗口期。通过这种方式,Freeze能够获取到未被修改的Ntdll.dll中的系统调用。
地址空间布局随机化(ASLR)
ASLR是一种防止堆栈内存损坏漏洞的安全机制,它随机化进程中的地址空间。然而,对于DLL(特别是已知的系统DLL),ASLR在启动时只随机化一次地址空间。这意味着在同一启动周期内,所有进程中的Ntdll.dll的基地址是相同的。Freeze利用这一特性,无需枚举远程进程信息即可获取Ntdll.dll的基地址。
ETW补丁
事件跟踪Windows(ETW)利用内置的系统调用生成遥测数据。Freeze通过补丁多个ETW系统调用,清空寄存器并返回执行流到下一指令,从而防止ETW的监控。
Shellcode执行
Freeze利用Go语言定义并调用NT系统调用,以分配、写入和保护Shellcode,从而绕过可能被钩住的Kernel32.dll和Kernelbase.dll中的标准调用。
项目及技术应用场景
Freeze适用于需要绕过EDR安全控制的高级渗透测试场景。例如,红队在进行内部渗透测试时,可以使用Freeze来执行隐秘的Shellcode,从而避免被EDR检测到。此外,安全研究人员也可以利用Freeze来测试和验证EDR产品的有效性。
项目特点
- 隐秘性:通过创建挂起进程和利用ASLR,Freeze能够在EDR钩子加载之前执行Shellcode,从而实现隐秘的Payload执行。
- 多功能性:Freeze支持生成
.exe
和.dll
文件,并可根据需要添加导出功能。 - 易用性:Freeze提供了简单的命令行接口,用户可以通过几个参数快速生成所需的Payload。
- 安全性:Freeze支持AES 256加密Shellcode,并提供沙箱检测功能,进一步增强Payload的安全性。
结语
Freeze作为一款专为绕过EDR安全控制而设计的工具,其独特的设计理念和强大的功能使其在高级渗透测试和安全研究领域具有广泛的应用前景。如果你正在寻找一种能够隐秘执行Shellcode的工具,Freeze无疑是一个值得尝试的选择。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考