freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何基于HTML Smuggling技术创建包含嵌入式文档的HTML文件
2024-05-11 09:42:14

关于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

https://pypi.org/project/python-magic/

# HTML注入 # 嵌入EXE # 数据隐写 # 图像隐写 # Payload隐藏
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录