BobTheSmuggler:基于HTML Smuggling技术创建包含嵌入式压缩文档的HTML文件

关于BobTheSmuggler

BobTheSmuggler是一款专为红队研究人员开发和设计的Payload生成工具,该工具基于利用HTML Smuggling技术实现其功能,可以帮助广大红队研究人员创建包含嵌入式7z/zip压缩文档的HTML文件。

BobTheSmuggler可以将我们的代码(EXE/DLL)压缩为7z/zip格式,并对文档进行XOR加密,最后将所有数据隐藏进PNG/GIF图片文件格式中(图像隐写)。嵌入在HTML文件中的JavaScript脚本将负责下载PNG/GIF文件,并将其存储到缓存中。接下来,JavaScript脚本还会提取PNG/GIF文件中嵌入的数据,然后对其进行汇编并执行XOR解密,最终将其存储为内存中的Blob。

工具运行流程

该工具的运行流程和执行机制如下图所示:

当前版本的BobTheSmuggler支持下列Payload交付链:

1、.EXE/.DLL --> .7z/.Zip (受密码保护) --> .JS --> .HTML

2、.EXE/.DLL --> .7z/.Zip (受密码保护) --> .JS --> .SVG --> .HTML

3、.EXE/.DLL --> .7z/.Zip (受密码保护) --> .PNG/.GIF --> .JS --> .HTML

4、.EXE/.DLL --> .7z/.Zip (受密码保护) --> .PNG/.GIF --> JS --> .SVG --> .HTML

关键功能

1、隐蔽型文件隐藏:可以将任何文件类型(EXE/DLL)安全地嵌入HTML页面、PNG、GIF和SVG文件中,确保数据隐藏在有效的位置;

2、通用型嵌入:支持以多种数据格式嵌入文件,以满足不同的需求和场景,灵活性强;

3、高级混淆功能:利用了复杂的技术对嵌入的数据进行混淆,进一步增强安全性并降低检测风险;

4、自定义模板支持:允许使用自定义HTML和SVG模板进行嵌入,提供个性化和特定于上下文的隐藏支持;

5、直观的界面:提供了易于使用的命令行界面,使技术型和非技术型用户都可以轻松使用它;

6、可视化验证:提供了针对PNG文件的可视化工具,允许用户以可视化方法确认数据是否嵌入成功;

工具要求

在运行该工具之前,我们首先需要使用下列命令安装工具的依赖组件:

pip install python-magic py7zr pyminizip

注意,在安装python-magic之前,你还需要在本地设备上安装好libmagic库【文档】。

工具安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/TheCyb3rAlpha/BobTheSmuggler.git

cd BobTheSmuggler

工具使用

工具安装完成之后,我们就可以直接运行下列命令来执行BobTheSmuggler了:

python3 BobTheSmuggler.py -h

======================================================================

██████╗  ██████╗ ██████╗     ████████╗██╗  ██╗███████╗

██╔══██╗██╔═══██╗██╔══██╗    ╚══██╔══╝██║  ██║██╔════╝

██████╔╝██║   ██║██████╔╝       ██║   ███████║█████╗

██╔══██╗██║   ██║██╔══██╗       ██║   ██╔══██║██╔══╝

██████╔╝╚██████╔╝██████╔╝       ██║   ██║  ██║███████╗

╚═════╝  ╚═════╝ ╚═════╝        ╚═╝   ╚═╝  ╚═╝╚══════╝

███████╗███╗   ███╗██╗   ██╗ ██████╗  ██████╗ ██╗     ███████╗██████╗

██╔════╝████╗ ████║██║   ██║██╔════╝ ██╔════╝ ██║     ██╔════╝██╔══██╗

███████╗██╔████╔██║██║   ██║██║  ███╗██║  ███╗██║     █████╗  ██████╔╝

╚════██║██║╚██╔╝██║██║   ██║██║   ██║██║   ██║██║     ██╔══╝  ██╔══██╗

███████║██║ ╚═╝ ██║╚██████╔╝╚██████╔╝╚██████╔╝███████╗███████╗██║  ██║

╚══════╝╚═╝     ╚═╝ ╚═════╝  ╚═════╝  ╚═════╝ ╚══════╝╚══════╝╚═╝  ╚═╝

======================================================================

 

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            显示工具帮助信息和退出

  -i EXE_FILE           要嵌入的EXE/DLL文件路径

  -p PASSWORD           压缩所使用的密码

  -f OUTPUT_HTML        输出HTML文件路径

  -o OUTPUT_FILENAME    输出文件名称(Payload就在里面)

  -t {html,svg,png,gif}         嵌入模板文件类型

  -c {7z,zip}                压缩格式:7z或zip (默认: zip)

  -u PNG_URL             嵌入PNG图片的URL地址

  -png PNG_FILE          嵌入EXE/DLL的PNG文件路径

  -gif GIF_FILE            嵌入EXE/DLL的GIF文件路径

  -e CUSTOM_FILE        要克隆为模板的HTML文件

  -v, --verbose             启用Verbose日志记录

工具使用样例

将SharpHound.exe压缩为7z格式(受密码保护),并存储到一个HTML文件中:

python3 BobTheSmuggler.py -i path/to/SharpHound.exe -p 123456 -c 7z -f SharpHound.html -o SharpHound.7z -t html

创建一个HTML文件,并将嵌入式Payload隐藏在其中的PNG文件中:

python3 BobTheSmuggler.py -i <Input_file_path> -p <password_to_encrypt> -f <output_HTML_filename> -o <Output 7z/zip filename stored inside HTML> -t png test.png

将嵌入式Payload隐藏在GIF文件中:

python3 BobTheSmuggler.py -i <Input_file_path> -p <password_to_encrypt> -f <output_HTML_filename> -o <Output 7z/zip filename stored inside HTML> -t gif test.gif

.EXE/.DLL --> .7z --> .PNG --> .SVG --> .HTML链执行:

python3 BobTheSmuggler.py -i <Input_file_path> -p <password_to_encrypt> -f <output_HTML_filename> -o <Output 7z/zip filename stored inside HTML> -t svg -e <Custom_SVG_Template>

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

BobTheSmuggler:【GitHub传送门

参考资料

https://medium.com/@TheCyb3rAlpha/bobthesmuggler-your-covert-cyber-swiss-knife-for-undetectable-payload-delivery-bc84f3037522

python-magic · PyPI

  • 34
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值