EmbedPayloadInPng:一款图片文件Payload嵌入工具

2024-11-26 89 0

关于EmbedPayloadInPng

EmbedPayloadInPng是一款功能强大的Payload嵌入工具,该工具能够将Payload拆分为多个IDAT部分,并将Payload数据嵌入到PNG图片文件中。

值得一提的是,EmbedPayloadInPng拆分的IDAT的每一段数据都会使用自己的 16 字节密钥和 RC4 加密算法单独加密。

工具组成

当前版本的EmbedPayloadInPng由两个组件组成:

EmbedPayloadInPng.py- Python脚本负责将输入的Payload嵌入到指定的 PNG 文件中。

FetchPayloadFromPngEmbedPayloadInPng.py- 负责从输出的 PNG 文件中提取Payload,并使用ExtractDecryptedPayload函数对其进行解密。

嵌入式 PNG 文件结构

如前所述,EmbedPayloadInPng.py负责将Payload嵌入 PNG 文件。下面是嵌入Payload的 PNG 文件的结构:

由于一个IDAT部分的最大大小为 8192 字节,因此我们的Payload被分成多个IDAT部分。每个部分的大小相当于(8192 - 16 [RC4 密钥长度])。此外,最后一个IDAT部分将包含Payload的剩余字节。

下面给出的是EmbedPayloadInPng.py的输出并将其与创建的 PNG 文件的结构进行了比较。

输出 PNG 文件部分:

随机 IDAT 部分,用于标记Payload的开始位置。此部分的 CRC 哈希值在该项目的 C 代码中用于标识PNG 文件中Payload的开始位置:

第一个Payload的IDAT部分,紧随随机部分之后(蓝色部分)。此图还展示了 CRC 哈希的位置以及之前随机化 IDAT 部分的大小(黄色部分):

第一个Payload的IDAT 部分的 CRC 哈希值,位于Payload加密的第一个块后面的部分末尾:

第二个Payload的IDAT 部分的起始位置:

工具安装

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

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

git clone https://github.com/Maldev-Academy/EmbedPayloadInPng.git

工具使用

使用EmbedPayloadInPng.py创建嵌入Payload的PNG文件:

嵌入Payload的PNG文件名为Output.png跟源文件对比是相同的。

工具运行演示

演示视频:【点我观看

许可证协议

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

项目地址

EmbedPayloadInPng:【GitHub传送门

参考资料

https://maldevacademy.com/?ref=gh


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

MACOBOX:一款针对硬件安全的多合一渗透测试工具箱
Matildapp:针对Web 3.0环境的网络安全与渗透测试框架
Jumpserver_decrypto: 解密 Jumpserver ssh配置的开源工具
向日葵远程控制软件远程代码执行漏洞复现(CNVD-2022-10270, CNVD-2022-03672)
Kafka UI三大RCE高危漏洞分析
PbootCMS V3.2.9前台SQL注入漏洞(上)

发布评论