Inceptor框架终极指南:一站式掌握AV/EDR规避技术的强大工具
在现代渗透测试和红队行动中,绕过常见的AV/EDR设备以在目标系统上执行代码往往是关键环节。随着防御技术的不断升级,持续有效地绕过这些安全措施变得越来越困难。Inceptor作为一款强大的模板驱动型AV/EDR规避框架,能够自动化这一复杂过程,帮助安全从业者轻松应对各种防御机制。## 🌟 Inceptor框架核心功能解析Inceptor是一款基于Windows的模板化PE打包工具,专为渗
Inceptor框架终极指南:一站式掌握AV/EDR规避技术的强大工具
在现代渗透测试和红队行动中,绕过常见的AV/EDR设备以在目标系统上执行代码往往是关键环节。随着防御技术的不断升级,持续有效地绕过这些安全措施变得越来越困难。Inceptor作为一款强大的模板驱动型AV/EDR规避框架,能够自动化这一复杂过程,帮助安全从业者轻松应对各种防御机制。
🌟 Inceptor框架核心功能解析
Inceptor是一款基于Windows的模板化PE打包工具,专为渗透测试人员和红队人员设计,旨在帮助他们绕过常见的AV和EDR解决方案。该工具注重可用性,并允许用户进行广泛的自定义,以适应不同的攻击场景和防御环境。
🚀 壳代码转换与加载能力
Inceptor能够使用多种开源转换器将现有的EXE/DLL转换为壳代码,为后续的规避操作奠定基础:
- Donut:这款由TheWover开发的工具堪称"转换器中的艺术品",可将原生二进制文件、DLL和.NET二进制文件转换为位置无关的代码壳代码。
- sRDI:Monoxgas开发的此工具能将现有的原生DLL转换为PIC,然后可作为常规壳代码注入。
- Pe2Sh:由Hasherazade开发,可将现有的原生EXE转换为PIC壳代码,这些壳代码也可以作为普通EXE运行。
🔒 强大的编码与加密机制
Inceptor提供了两种主要的编码方式,以应对不同的规避需求:
-
加载器无关(LI)编码:这种编码方式不由用户选择的模板(加载器)管理,解码存根不包含在模板中,而是嵌入在壳代码本身。Inceptor使用开源工具sgn来实现这一功能,使有效载荷具有多态性,从而避开常见的特征检测。
-
加载器相关(LD)编码:这种编码方式让加载器负责解码,将解码存根直接安装在模板中。Inceptor实现的LD编码器是"可链式的",意味着它们可以链接在一起对有效载荷进行编码。
Inceptor目前提供了丰富的编码器/压缩器/加密器,覆盖原生、.NET和PowerShell等多种环境,包括Xor、Nop、Hex、Base64、AES、Zlib和RLE等多种算法。
图:Inceptor框架的完整工作流程,展示了从壳代码生成到最终输出文件的全过程
🛡️ AV/EDR规避机制
Inceptor原生实现了多种AV和EDR规避机制,以插件(模块)的形式提供:
AV规避功能:
- AMSI绕过
- WLDP绕过
- ETW绕过
- 沙箱(行为)欺骗
EDR规避功能:
- 完全解除挂钩(Full Unhooking)
- 手动DLL映射(Manual DLL Mapping)
- 直接系统调用(Direct Syscalls):在C#中使用DInvoke项目实现,在C/C++中使用SysWhispers和SysWhispers2项目实现,同时支持x86系统调用。
🧩 混淆与代码签名
Inceptor支持通过外部工具对有效载荷进行混淆,包括:
- PowerShell混淆:使用Chameleon
- C#混淆:使用ConfuserEx
- C/C++混淆:使用LLVM-Obfuscator
此外,Inceptor还可以使用CarbonCopy工具对生成的二进制文件/DLL进行代码签名。通常,使用代码签名证书签名的文件受到的分析会 less 严格,许多反恶意软件产品不会验证这些证书。
📥 快速安装指南
Inceptor设计用于在Windows上运行。update-config.py工具可以定位所需的Microsoft二进制文件并相应地更新配置。可能需要安装Microsoft Build Tools、Windows SDK和Visual Studio,update-config.py将指导用户安装所需的依赖项。
git clone --recursive https://gitcode.com/gh_mirrors/in/inceptor
cd inceptor
virtualenv venv
venv\Scripts\activate.bat
pip install -r requirements.txt
cd inceptor
python update-config.py
💻 简单使用示例
Inceptor的命令行界面简洁明了,支持多种生成器模式:
usage: inceptor.py [-h] [-hh] [-Z] {native,dotnet,powershell} ...
inceptor: A Windows-based PE Packing framework designed to help
Red Team Operators to bypass common AV and EDR solutions
positional arguments:
{native,dotnet,powershell}
native Native Binaries Generator
dotnet .NET Binaries Generator
powershell PowerShell Wrapper Scripts Generator
optional arguments:
-h, --help show this help message and exit
-hh Show functional table
-Z, --check Check file against ThreatCheck
📝 默认加载器机制
Inceptor使用简单的命名约定来定位特定模板,并且会根据用户提供的参数集自动选择加载器。如果未指定加载器(-t),将根据要打包的文件自动选择:
- .raw文件:默认使用Simple Loader加载器和Classic模板
- .exe文件(.NET):默认使用Donut加载器和Classic模板
- .exe文件(原生):默认使用Pe2Shellcode加载器和PE Load模板
- .dll文件:默认使用sRDI加载器和Classic模板
🔍 模板命名约定
理解模板命名约定对于正确使用Inceptor至关重要:
- Classic:使用VirtualAlloc/VirtualAllocEx和CreateThread/CreateRemoteThread API来分配和执行任意代码
- Dinvoke:使用Dinvoke的动态函数解析功能
- dinvoke-subtechnique:使用Dinvoke的特定功能,如manual_mapping、overload_mapping或syscalls
- Syscalls:使用系统调用
- PE Load:尝试将完整PE映射到内存,不进行转换
- Assembly Load:使用反射执行.NET程序集
🚀 总结
Inceptor作为一款功能强大的AV/EDR规避框架,为安全从业者提供了一站式解决方案。无论是壳代码转换、编码加密,还是AV/EDR规避、代码混淆,Inceptor都能提供简单易用但功能强大的工具链。通过自动化大部分复杂的规避过程,Inceptor让安全测试人员能够更专注于实际的渗透测试任务,而不是花费大量时间在绕过防御机制上。
随着安全防御技术的不断发展,Inceptor也在持续更新,未来将带来新的模板引擎、更多模板和编码器,以及基于C#代码的混淆功能。对于需要在复杂防御环境中执行代码的安全专业人员来说,Inceptor无疑是一个不可或缺的强大工具。
更多推荐
所有评论(0)