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

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

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

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

工具目录

分类

查看所有分类
Loading categories
Chimera — 自动化DLL侧加载工具,具备EDR规避功能 | Kitploit
工具/GitHubGitHub/georgesotiriadis/chimera
Payload生成漏洞利用Shellcode红队
GitHubgeorgesotiriadis/chimera

Chimera

自动化DLL侧加载工具,具备EDR规避功能

查看仓库
507582年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Chimera Unlea$ed

工具背景


虽然DLL sideloading可用于合法目的,例如加载程序运行所需的库,但它也可能被用于恶意用途。攻击者可以利用DLL sideloading在目标系统上执行任意代码,通常利用加载DLL的合法应用程序中的漏洞。

为了自动化DLL sideloading过程并使其更有效,我们创建了Chimera,该工具包含了规避EDR/AV产品的逃避方法。该工具可以使用随机密钥通过XOR自动加密shellcode,并创建可导入Visual Studio以生成恶意DLL的模板镜像。

此外,还使用了来自SysWhispers3的动态系统调用(Dynamic Syscalls)以及修改后的汇编版本,以逃避EDR搜索的模式,添加了随机NOP滑板并移动了寄存器。同时,还使用Early Bird Injection将shellcode注入用户指定的其他进程,并带有沙箱逃避机制(如硬盘检查及进程是否被调试)。最后,加载器中设置了定时攻击,利用可等待定时器延迟shellcode的执行。

该工具已测试并证明能有效绕过EDR/AV产品,在目标系统上执行任意代码。

Chimera Unleashed的更新版本在规避静态和动态分析方面显示出显著进步,特别是在Microsoft 365的端点检测与响应(EDR)系统环境下。该工具的sideloading技术——即使应用于OneDrive等知名二进制文件——也成功逃脱了检测。然而值得注意的是,虽然sideloading部分未被检测到,但工具使用的Early Bird Injection过程被EDR系统识别。这凸显了在增强工具整体隐蔽性方面需要进一步改进的领域。

工具使用


主要更新与特性:

  • 重新格式化结构:整个程序已进行重构,以提升开发便利性和未来可维护性。
  • 多态代码集成:集成多态代码,显著增强规避能力,使工具对静态分析更具弹性。
  • SysWhispers 3集成:从SysWhispers 2迁移至修改版SysWhispers 3。该更新通过使用动态系统调用和修改后的汇编技术,提高了工具规避EDR系统模式识别机制的能力。
  • AES加密:实现AES加密以保护shellcode,增加了额外的安全层和混淆。
  • Early Bird注入:工具采用Early Bird注入技术,允许在目标进程中隐蔽地执行代码。
  • 模块踩踏(Module Stomping):未来将添加,您也可以在工具中实现自己的代码注入技术。

Chimera使用Python 3编写,无需安装任何额外依赖。

Chimera目前支持两种DLL选项:Microsoft Teams或Microsoft OneDrive。

用户可以创建userenv.dll(这是Microsoft Teams缺失的DLL)并将其放入特定文件夹:

⁠%USERPROFILE%/Appdata/local/Microsoft/Teams/current

对于Microsoft OneDrive,脚本使用版本DLL(version.dll),因为这在二进制文件中(例如onedriveupdater.exe)缺失较为常见。

命令行参数

Chimera Unleashed使用argparser解析命令行参数。可用参数如下:

  • --raw 或 -r:包含shellcode的文件路径。必填。
  • --path 或 -p:输出C模板文件的路径。必填。
  • --pname 或 -n:要注入shellcode的进程名称。必填。
  • --dexports 或 -d:指定要使用的DLL导出('teams'或'onedrive')。必填。
  • --enc 或 -e:指定首选加密方式(XOR / AES)。必填。
  • --inj 或 -i:指定首选注入技术(EB / MS)。必填。
  • --rshell 或 -s:[可选] 为shellcode变量名替换为唯一名称。默认值为'encoded_shell'。
  • --rxor 或 :[可选] 为XOR加密名称替换为唯一名称。默认值为'do_xor'。

示例用法: python Chimera.py --raw <shellcode路径> --path <输出路径> --pname <进程名> --dexports <导出文件> --enc AES --inj EB --rshell my_shellcode

有用说明

编译完成后,将生成一个DLL,该DLL应包含“version.dll”(用于OneDrive)或“userenv.dll”(用于Microsoft Teams)。接下来,需要重命名原始DLL。

例如,原始的“userenv.dll”应重命名为“tmpB0F7.dll”,而原始的“version.dll”应重命名为“tmp44BC.dll”。此外,您可以根据需要修改代理DLL的名称——通过修改DLL导出源代码,而不是使用默认脚本名称。

code.h文件包含shellcode。

Visual Studio项目设置


步骤1:使用DLL模板创建新的Visual Studio项目

  1. 启动Visual Studio,点击“创建新项目”或转到“文件”->“新建”->“项目”。
  2. 在项目模板窗口中,从左侧选择“Visual C++”。
  3. 从可用模板中选择“空项目”。
  4. 为项目提供合适的名称和位置,然后点击“确定”。
  5. 在项目属性窗口中,导航到“配置属性”->“常规”,将“配置类型”设置为“动态库(.dll)”。
  6. 根据需求配置其他项目设置并保存项目。

步骤2:将文件导入Visual Studio项目

  1. 找到包含必需镜像的“chimera_automation”文件夹。
  2. 打开文件夹,确认以下文件:main.c、syscalls.c、syscallsstubs.std.x64.asm。
  3. 在Visual Studio中,右键单击“解决方案资源管理器”面板中的项目,选择“添加”->“现有项”。
  4. 浏览到每个文件的位置(main.c、syscalls.c、syscallsstubs.std.x64.asm),并逐个选中,点击“添加”将其导入项目。
  5. 如果项目目录中尚不存在,创建一个名为“header_files”的文件夹。
  6. 在“chimera_automation”目录的“header_files”文件夹中找到“syscalls_mem.h”头文件。
  7. 在Visual Studio的“解决方案资源管理器”面板中,右键单击“header_files”文件夹,选择“添加”->“现有项”。
  8. 浏览到“syscalls_mem.h”的位置并选中,点击“添加”将其导入项目。

步骤3:生成自定义(Build Customization)

  1. 在项目属性窗口中,导航到“配置属性”->“生成自定义”。
  2. 点击“生成自定义”按钮,打开生成自定义对话框。

步骤4:启用MASM

  1. 在生成自定义对话框中,勾选“masm”旁边的复选框以启用它。
  2. 点击“确定”关闭生成自定义对话框。

步骤5:

  1. 右键单击汇编文件 -> 属性,并选择以下设置:
  2. 从生成中排除 -> 否
  3. 内容 -> 是
  4. 项类型 -> Microsoft Macro Assembler

最终项目设置

编译器优化


步骤1:更改优化设置

  1. 在Visual Studio中,选择项目 -> 属性
  2. C/C++ -> 优化,更改为以下设置

步骤2:移除调试信息

  1. 在Visual Studio中,选择项目 -> 属性
  2. 链接器 -> 调试 -> 生成调试信息 -> 否

贡献者

原始贡献者:

  • George Sotiriadis
    • 初始发布与概念。
    • 更新版本中的代码重构。
    • 更新版本中修改的SysWhispers3。

贡献者:

  • Efstratios Chatzoglou
    • 在更新版本中添加了多态代码、混淆器和AES加密。
    • 协助代码重构和进一步开发。

责任声明:


在适用法律允许的最大范围内,本人(George Sotiriadis)和/或已向我的仓库提交内容的关联方,不对任何间接、附带、特殊、后果性或惩罚性损害赔偿,或任何利润或收入损失(无论是直接还是间接产生的),或任何数据、使用、商誉或其他无形损失承担责任,这些损失由以下原因导致:(i)您访问此资源和/或无法访问此资源;(ii)此资源引用的任何第三方的任何行为或内容,包括但不限于其他用户或第三方的诽谤、冒犯或非法行为;(iii)从此资源获得的任何内容

参考


https://www.ired.team/offensive-security/code-injection-process-injection/early-bird-apc-queue-code-injection

https://evasions.checkpoint.com/

https://github.com/Flangvik/SharpDllProxy

https://github.com/jthuraisamy/SysWhispers2

https://systemweakness.com/on-disk-detection-bypass-avs-edr-s-using-syscalls-with-legacy-instruction-series-of-instructions-5c1f31d1af7d

https://github.com/Mr-Un1k0d3r

下载工具
-x
  • --rkey 或 -k:[可选] 为密钥变量名替换为唯一名称。默认值为'key'。
  • --rsleep 或 -z:[可选] 执行期间包含的总睡眠时间(秒)。默认值为4000。
  • --size 或 -f:[可选] 垃圾数据的文件大小(KB)。零(0)表示禁用,一(1)表示随机文件大小。默认值为0。