Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
inceptor — 模板驱动型 AV/EDR 规避框架 | Kitploit
工具/GitHubGitHub/klezvirus/inceptor
渗透测试框架漏洞利用框架Payload生成红队
GitHubklezvirus/inceptor

inceptor

模板驱动型 AV/EDR 规避框架

查看仓库
1.8k28063年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

🚩 这是 Inceptor 的公开仓库,如需最新版本和更新,请通过 https://porchetta.industries/ 支持我们。



🚩 赞助商

如果您想赞助本项目并获取 Inceptor 的最新版本、已解决问题和最新功能,请通过 https://porchetta.industries/ 支持我们。

官方 Discord 频道

来 Discord 上聊聊吧!

Porchetta Industries

目录

  • 概述
  • 安装
  • 用法

新闻

NW:我们目前正致力于改进模板引擎!一旦发布下一版本,有关如何使用、定制和扩展该工具的说明将发布在 Wiki 中。

概述

现代渗透测试和红队行动中,通常需要绕过常见的 AV/EDR 设备才能在目标上执行代码。随着时间的推移,防御体系变得越来越复杂,持续绕过也变得越来越困难。

Inceptor 是一款能够自动化大部分流程的工具,希望无需额外工作即可实现绕过。

功能特性

Inceptor 是一款基于模板的 Windows PE 打包工具,旨在帮助渗透测试人员和红队成员绕过常见的 AV 和 EDR 解决方案。Inceptor 的设计注重易用性,并允许用户进行广泛的定制。

为了全面了解其实现原理和原因,建议阅读以下资源:

  • The path to code execution in the era of EDR, Next-Gen AVs, and AMSI
下载工具
  • Inceptor - Bypass AV-EDR solutions combining well known techniques
  • Shellcode 转换/加载

    Inceptor 能够使用多种开源转换器将现有的 EXE/DLL 转换为 shellcode:

    • Donut:Donut 是“转换器”。该工具更像是 TheWover 的一件艺术品,可用于将原生二进制文件、DLL 和 .Net 二进制文件转换为位置无关代码的 shellcode。
    • sRDI:由 Monoxgas 开发,该工具可将现有的原生 DLL 转换为 PIC,然后作为常规 shellcode 注入。
    • Pe2Sh:由 Hasherazade 开发,该工具可将现有原生 EXE 转换为 PIC shellcode,也可作为常规 EXE 运行。

    LI 编码器 vs LD 编码器

    Inceptor 可以使用不同方式对 shellcode 进行编码、压缩或加密。在开发过程中,我开始区分所谓的加载器无关(LI)编码和加载器相关(LD)编码。

    加载器无关编码是一种不由用户所选模板(加载器)管理的编码方式。这通常意味着解码存根不是模板的一部分,而是嵌入在 shellcode 本身中。Inceptor 通过开源工具 sgn 提供此类功能,该工具用于使载荷多态化,从而避免被常见签名检测发现。

    尽管 Shikata-Ga-Nai 非常强大,但它并不完全适用于所有模板。因此,Inceptor 还实现了加载器相关编码器,这些编码器旨在让加载器负责解码。因此,LD 编码器会将解码存根直接安装到模板中。Inceptor 中实现的此类编码器也是“可链式”的,这意味着它们可以串联起来对载荷进行编码。

    虽然使用编码器链有时可以改善载荷的混淆效果,但该技术也可能暴露多个解码例程,从而帮助防御者设计针对它们的签名。为此,Inceptor 提供了多种方式来混淆最终工件,以增强逆向工程(RE)的难度。

    截至撰写本文时,公开版本的 Inceptor 提供了以下编码器/压缩器/加密器:

    • Native(原生)
      • Xor
      • Nop(插入)
    • .NET
      • Hex
      • Base64
      • Xor
      • Nop(插入)
      • AES
      • Zlib
      • RLE
    • PowerShell
      • Hex
      • Base64
      • Xor
      • Nop(插入)
      • AES

    Inceptor 可以静态和动态验证编码链,静态检查解码器的输入/输出类型,并通过独立实现动态验证其正确性。

    用户随时可以使用 chain-validate.py 工具轻松验证一个编码链。

    AV 绕过机制

    Inceptor 还原生实现了 AV 绕过机制,并提供了以“模块”(插件)形式将 AV 绕过功能包含进载荷的能力。

    可嵌入的插件包括:

    • AMSI 绕过
    • WLDP 绕过
    • ETW 绕过
    • 沙箱(行为)欺骗

    EDR 绕过机制

    Inceptor 还实现了 EDR 绕过机制,例如完全取消挂钩、直接系统调用调用和手动 DLL 映射。直接系统调用在 C# 中通过出色的 DInvoke 项目实现(再次感谢 TheWover)。在 C/C++ 中,系统调用通过 SysWhispers 和 SysWhispers2 项目实现(感谢 Jackson_T)。此外,Inceptor 还内置了对 x86 系统调用的支持。

    与 AV 绕过功能类似,这些功能可以作为模块启用,但要求模板支持它们。目前已实现的技术包括:

    • 完全取消挂钩
    • 手动 DLL 映射
    • 直接系统调用

    混淆

    Inceptor 通过使用外部工具(如 ConfuserEx 和 Chameleon)支持载荷混淆,并利用 LLVM-Obfuscator(一种基于 IR 的混淆器,基于 LLVM 编译平台)支持 C/C++ 混淆。

    • PowerShell
    • C#
    • C/C++

    代码签名

    Inceptor 的另一项功能是能够通过使用 CarbonCopy 工具对生成的二进制文件/DLL 进行代码签名。通常,带有代码签名证书签名的文件受到的分析不那么严格。许多反恶意软件产品不验证/确认这些证书。

    工作流程

    完整的工作流程可总结为以下高层次简化示意图:

    Workflow

    安装

    Inceptor 设计用于 Windows 系统。update-config.py 工具可以定位所需的 Microsoft 二进制文件并相应地更新配置。可能需要安装 Microsoft Build Tools、Windows SDK 和 Visual Studio,update-config.py 将指导用户如何安装所需的依赖项。

    root@kitploit:~
    git clone --recursive https://github.com/klezVirus/inceptor.git
    cd inceptor
    virtualenv venv
    venv\Scripts\activate.bat
    pip install -r requirements.txt
    cd inceptor
    python update-config.py
    

    有用说明

    默认加载器

    当前版本的 Inceptor 通过简单的命名约定(不要更改模板名称)和用户提供的参数集来定位特定模板。在参数中,还有加载器(-t)选项。如果未指定,加载器将根据要打包的文件类型自动选择,按照以下简单模式:

    root@kitploit:~
    $ python inceptor.py -hh
    
    [*] Default Loaders
          Input File Extension SpecialCondition   Guessed Filetype Default Loader  Default Template
    0                     .raw              NaN          Shellcode  Simple Loader           Classic
    1                     .exe             .NET  Dotnet Executable          Donut           Classic
    2                     .exe              NaN  Native Executable   Pe2Shellcode           PE Load
    3                     .dll              NaN     Native Library           sRDI           Classic
    

    模板命名约定

    理解模板命名约定也非常重要,以避免误解工件行为。

    • Classic:经典模板通常意味着它使用 VirtualAlloc/VirtualAllocEx 和 CreateThread/CreateRemoteThread API 来分配和执行任意代码
    • Dinvoke:如果模板仅包含 dinvoke(例如 classic-dinvoke.cs),则表示它使用 dinvoke 的动态函数解析功能
    • dinvoke-子技术:包含 dinvoke 后跟另一个关键字的模板使用 dinvoke 的特定功能,例如 manual_mapping、overload_mapping 或 syscalls
    • Syscalls:顾名思义,此模板使用系统调用
    • PE Load:此模板尝试将完整的 PE 映射到内存中,而不进行转换
    • Assembly Load:此模板尝试使用反射执行 .NET 程序集

    用法

    root@kitploit:~
    $ 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
    

    后续开发

    • 新模板引擎
    • 新模板
    • 新编码器
    • C# 代码混淆

    资源

    • Inceptor - Bypass AV-EDR solutions combining well known techniques
    • A tale of EDR bypass methods