TheCyb3rAlpha/BobTheSmuggler

GitHub: TheCyb3rAlpha/BobTheSmuggler

一款将二进制文件加密隐藏于图像并封装进 HTML 的隐蔽投递工具,用于绕过网络层安全检测。

Stars: 579 | Forks: 68

![GitHub License](https://img.shields.io/github/license/TheCyb3rAlpha/BobTheSmuggler?color=yellow) ![GitHub repo size](https://img.shields.io/github/repo-size/TheCyb3rAlpha/BobTheSmuggler?color=green) [![Twitter Follow](https://img.shields.io/twitter/follow/TheCyb3rAlpha.svg?style=social)](https://twitter.com/TheCyb3rAlpha) [![Visitors](https://visitor-badge.laobi.icu/badge?page_id=TheCyb3rAlpha.BobTheSmuggler)](https://github.com/TheCyb3rAlpha/BobTheSmuggler) ![GitHub Stars](https://img.shields.io/github/stars/TheCyb3rAlpha/BobTheSmuggler)
# BobTheSmuggler ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/9c86ab4a62071958.png) ## 快速更新 _2024年1月15日 - **已增加对多文件压缩的支持**。如果你有多个为最终 payload 生成的文件(例如 DLL-Sideloading 文件或多阶段投递文件),你现在可以使用 '-i' 选项来指定目录路径。如果提供了目录路径,BobTheSmuggler 将自动将该目录中的所有文件打包归档,进行 XOR 加密,并将其嵌入到 PNG/GIF 中。_ ## 项目简介 请查看我的博客以深入了解如何使用此工具:[BobTheSmuggler: Your Covert Cyber Swiss Knife for Undetectable Payload Delivery](https://medium.com/@TheCyb3rAlpha/bobthesmuggler-your-covert-cyber-swiss-knife-for-undetectable-payload-delivery-bc84f3037522)。 **"Bob the Smuggler"** 是一个利用 HTML Smuggling Attack 的工具,允许你创建嵌入了 7z/zip 归档的 HTML 文件。该工具会将你的二进制文件(EXE/DLL)压缩成 7z/zip 格式,然后对归档进行 XOR 加密,并将其隐藏在 PNG/GIF 图像文件格式中(Image Polyglots)。HTML 中嵌入的 JavaScript 会下载 PNG/GIF 文件并将其存储在缓存中。随后,JavaScript 会提取嵌入在 PNG/GIF 中的数据,对其进行组装,执行 XOR 解密,然后将其存储为内存中的 blob。 ![](https://www.plantuml.com/plantuml/dpng/bP7BRzf04CRl_YkcbygSE5O2LQKonhIYJSGZoe7BuXt3IlkmPjSGyzTdRCSAIW0f5qlU-RxVFBw93u92PNJqBHpG81WHa9I8slSe6YqnHtL4I5ymhuBOQOIPua-SFgV3wM8n6BCeSQOaz1w-GsfpgilGYhOs_d4UdbK99nKEK0hlJuvaOr45n2rdveXRmazu_9yDW6Um4DVe1n70A3Kxb3qHPTTOsKRAw8rNTW-hW7jXtPv4UQYPZDhZPtZsPtQNoFKl4bTFsLqYrplhH-Dy_My1Zk21TwNRYAaYp8EkcTLQjfOzSs6bnixwHlJSnKfLS0ePMYGH4FwAerZbf3Y6nCac1jPoWe547fIp7DDlxz7iTDrdaLG-EDCDjqPJweQpyIX_NGtbiWKFUCtTRs_TJTiK2r7fqFg6VB0BRxzJGiZ_V18hzBkkkT2Ogyr3Twub2bb3uOYXMXsHQgxpK6KqOLHbz2i0) 该工具目前支持以下 payload 投递链: - .EXE/.DLL --> .7z/.Zip (密码保护) --> .JS --> .HTML - .EXE/.DLL --> .7z/.Zip (密码保护) --> .JS --> .SVG --> .HTML - .EXE/.DLL --> .7z/.Zip (密码保护) --> .PNG/.GIF --> .JS --> .HTML - .EXE/.DLL --> .7z/.Zip (密码保护) --> .PNG/.GIF --> JS --> .SVG --> .HTML ## 主要特性 - **隐蔽的文件隐藏:** 将任何文件类型(EXE/DLL)安全地嵌入到 HTML 页面、PNG、GIF 和 SVG 文件中,确保数据在眼皮底下隐藏。 - **多样化的嵌入方式:** 提供将文件嵌入不同格式的灵活性,以满足各种需求和场景。 - **高级混淆:** 利用复杂的技术对嵌入的数据进行混淆,进一步增强安全性并降低被检测的风险。 - **自定义模板支持:** 允许使用自定义 HTML 和 SVG 模板进行嵌入,提供个性化和特定情境的隐藏方案。 - **直观的界面:** 具有易于使用的命令行界面,技术用户和非技术用户均可轻松上手。 - **可视化验证:** 包含 PNG 文件的可视化工具,为用户提供一种确认数据成功嵌入的方法。 ## 前置条件 在运行该工具之前,你需要满足以下前置条件: ``` pip install python-magic py7zr pyminizip ``` **注意:** 要安装 python-magic,你需要先在系统上安装 libmagic 库。请访问此 URL 安装 libmagic 库:https://pypi.org/project/python-magic/ ## 安装说明 安装完所需的库之后,你可以使用以下命令继续安装该工具: ``` git clone https://github.com/TheCyb3rAlpha/BobTheSmuggler.git cd BobTheSmuggler ``` ## 使用方法 安装完成后,你可以通过执行以下命令来使用该工具: ``` python3 BobTheSmuggler.py -h ``` ![Usage](images/usage.png "usage") ``` ====================================================================== ██████╗ ██████╗ ██████╗ ████████╗██╗ ██╗███████╗ ██╔══██╗██╔═══██╗██╔══██╗ ╚══██╔══╝██║ ██║██╔════╝ ██████╔╝██║ ██║██████╔╝ ██║ ███████║█████╗ ██╔══██╗██║ ██║██╔══██╗ ██║ ██╔══██║██╔══╝ ██████╔╝╚██████╔╝██████╔╝ ██║ ██║ ██║███████╗ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝ ███████╗███╗ ███╗██╗ ██╗ ██████╗ ██████╗ ██╗ ███████╗██████╗ ██╔════╝████╗ ████║██║ ██║██╔════╝ ██╔════╝ ██║ ██╔════╝██╔══██╗ ███████╗██╔████╔██║██║ ██║██║ ███╗██║ ███╗██║ █████╗ ██████╔╝ ╚════██║██║╚██╔╝██║██║ ██║██║ ██║██║ ██║██║ ██╔══╝ ██╔══██╗ ███████║██║ ╚═╝ ██║╚██████╔╝╚██████╔╝╚██████╔╝███████╗███████╗██║ ██║ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ====================================================================== usage: BobTheSmuggler.py [-h] -i EXE_FILE [-p PASSWORD] -f OUTPUT_HTML -o OUTPUT_FILENAME -t {html,svg,png,gif} [-c {7z,zip}] [-u PNG_URL] [-png PNG_FILE] [-gif GIF_FILE] [-e CUSTOM_FILE] [-v] Hides EXE/DLL file inside an HTML/SVG file. optional arguments: -h, --help show this help message and exit -i EXE_FILE Path to the EXE/DLL file. -p PASSWORD Password for compression. -f OUTPUT_HTML HTML Smuggled file (.html) -o OUTPUT_FILENAME Downloaded file name (Your payload is in this file.) -t {html,svg,png,gif} Type of embedded template. -c {7z,zip} Compression format: 7z or zip (default: zip) -u PNG_URL URL for the embedded PNG image. -png PNG_FILE Path to the PNG file for embedding EXE/DLL. -gif GIF_FILE Path to the GIF file for embedding EXE/DLL. -e CUSTOM_FILE HTML file to clone as template. -v, --verbose Enable verbose logging. ``` ## 示例 如果你想将 SharpHound.exe 压缩为 7z 格式(密码保护)并存储在 HTML 文件中,你可以使用以下命令: ``` python3 BobTheSmuggler.py -i path/to/SharpHound.exe -p 123456 -c 7z -f SharpHound.html -o SharpHound.7z -t html ``` ![bts_html](images/bts_html.png "HTML Creation") ### 将 payload 嵌入 PNG 文件中: 要创建一个嵌入了隐藏在 PNG 文件中的 payload 的 HTML 文件,你可以使用以下命令: ``` python3 BobTheSmuggler.py -i -p -f -o -t png test.png ``` ![bts_png](images/bts_png.png "PNG Creation") **注意:** 请确保你将 PNG/GIF 文件托管在 CDN 上。(推荐:你应该使用 -u 选项来提供你托管 PNG/GIF 文件的 CDN URL)。出于测试目的,你可以使用 flask 应用(app.py),它会在 localhost:8000 上托管 banner.gif 和 banner.png。 同样,你可以使用以下命令创建一个嵌入了隐藏在 GIF 文件中的 payload 的 HTML 文件: ### 将 payload 嵌入 GIF 文件中: ``` python3 BobTheSmuggler.py -i -p -f -o -t gif test.gif ``` ![bts_gif](images/bts_gif.png "GIF Creation") 一旦最终图像(PNG/GIF)生成,图像的大小将会增加,因为它包含了你嵌入的文件。 ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/7f55917aeb072001.png) ### .EXE/.DLL --> .7z --> .PNG --> .SVG --> .HTML 链: 一种采用不同方法的简单链。你的 EXE/DLL 被压缩为 .7z/.zip 文件,然后存储在 PNG/GIF 文件中。PNG/GIF 由嵌入在 HTML 中的 SVG 文件里的 JS 调用。一旦 JS 被调用,它就会下载 PNG/ZIP 文件,从图像块中提取经过 XOR 处理的压缩数据,解密文件并触发下载功能。 ``` python3 BobTheSmuggler.py -i -p -f -o -t svg -e ``` 以下模板已添加到此项目中: - **OneDrive 下载 HTML 模板(被 BumbleBee 恶意软件投递机制使用)** - **Paypal 虚假发票 SVG 模板(用于回拨钓鱼)** ![](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/eab7da1777072004.png) ## 免责声明 本工具仅用于教育目的。建议用户仅以促进学习和理解的方式使用它。本工具的作者明确声明不对超出教育范围的使用承担任何责任。用户选择将此工具用于教育以外的目的,其风险自负,作者不对由此产生的任何后果负责。
标签:DNS 反向解析, ESC8, HTML走私, PE文件, XOR加密, 二进制文件, 初始访问, 命令执行, 图片藏毒, 多模态安全, 多语言文件, 安全测试, 攻击性安全, 数据可视化, 数据隐藏, 社会工程学, 私有化部署, 绕过检测, 网络信息收集, 载荷投递, 逆向工具, 防御规避, 隐写术