Freeze.rs:绕过EDR安全控制的payload创建工具
项目介绍
Freeze.rs 是一个用于绕过端点检测和响应(EDR)安全控制的 payload 创建工具。它采用多种技术,不仅移除用户态的EDR钩子,还能以隐蔽的方式执行shellcode,从而规避其他端点监控控制。
Freeze.rs 的核心功能是通过创建挂起的进程、利用地址空间布局随机化(ASLR)、ETW补丁以及shellcode执行等技术,确保在执行代码时不被EDR产品检测到。
项目技术分析
Freeze.rs 利用Windows操作系统的特性,在创建进程时挂起该进程,使得除了Ntdll.dll之外没有其他DLL被加载。因为Ntdll.dll是最先被加载的DLL,此时EDR钩子尚未加载,因此可以利用这一点来执行未被修改的系统调用。
Freeze.rs 还通过读取自己的Ntdll.dll的基地址来绕过ASLR,因为系统DLL的地址在系统启动时是随机化的,但在一个会话中是固定的。这意味着可以从自己的进程中读取Ntdll.dll的基地址,而不需要枚举挂起进程的内存空间。
此外,Freeze.rs 通过补丁ETW(事件跟踪窗口)系统调用,防止生成任何遥测数据,进一步减少被检测的风险。
项目技术应用场景
Freeze.rs 主要应用于需要在不被EDR安全产品检测的情况下执行代码的场景。以下是一些具体的应用场景:
- 渗透测试:安全专家可以使用Freeze.rs在测试环境中模拟高级持续性威胁(APT)攻击,以评估目标网络的防御能力。
- 红队训练:在模拟攻击训练中,红队可以使用Freeze.rs来规避防御措施,提高蓝队的响应和检测能力。
- 安全研究:安全研究人员可以使用Freeze.rs来研究EDR产品的行为和弱点。
项目特点
-
多技术融合:Freeze.rs 结合了多种技术,包括挂起进程、ASLR绕过、ETW补丁等,使其在规避EDR监控方面具有更高的成功率。
-
灵活的输出格式:可以生成
.exe
或.dll
格式的payload,根据不同的需求选择最合适的格式。 -
加密支持:为了保护shellcode不被检测和分析,Freeze.rs 提供了多种加密方法,包括AES-256、ELZMA和RC4。
-
隐藏性:通过在创建后隐藏进程窗口,Freeze.rs 可以减少被用户和EDR产品发现的可能性。
-
易用性:Freeze.rs 提供了详细的命令行选项,用户可以根据自己的需求轻松配置和使用。
-
基于Rust:项目使用Rust语言编写,Rust以其安全性和性能而闻名,使得Freeze.rs既稳定又高效。
通过上述特点和功能,Freeze.rs 成为了一个强大的工具,可以帮助安全专家和研究人员在规避现代EDR产品的监控方面取得成功。在正确的场景下使用,Freeze.rs 可以极大地提高安全测试和研究的效率和效果。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考