cve-2022-44268-detector 是一个 Go 程序,它接收 PNG 文件并报告它们是否是由针对 CVE-2022-44268 的利用生成的恶意图像,该漏洞是 ImageMagick 中的一个漏洞,允许攻击者使用特制图像读取任意文件内容。
要安装 cve-2022-44268-detector,请使用 go install:
$ go install github.com/jnschaeffer/cve-2022-44268-detector@latest
请务必小心 处理不可信数据。攻击者可以构造一个可能包含非 zlib 数据(如 shell 脚本或利用检测工作流漏洞的代码)的 PNG 块。意外将攻击者提供的代码写入终端或 shell 可能导致恶意代码执行。强烈建议在虚拟机或隔离计算环境中运行检测器,以帮助减轻此类安全故障。
cve-2022-44268-detector 是一个命令行应用程序。您可以按如下方式运行:
$ cve-2022-44268-detector -filename image.png
***POTENTIAL INDICATOR OF COMPROMISE*** - keyword: 'Raw profile type' | compressed: true | id: 0 | offset: 0x72 | len: 666
用户可以选择通过提供 -print 参数将每个外泄块的内容输出到标准输出。请注意,每个块的值很可能是二进制、zlib 压缩的数据(即不可读)。强烈建议用户将这些数据重定向到文件。
注意:使用 -print 时要非常小心。 不可信的 PNG 可能包含如果暴露给终端或 shell 可能被解释为可执行代码的数据。使用此功能时请采取适当的预防措施。
-print 参数接受以下值:
raw - 将块的值原样写入标准输出decompress - 在将块的值写入标准输出之前解压缩decompress-hexdecode - 在将块的值写入标准输出之前解压缩并十六进制解码。ImageMagick 似乎先进行十六进制编码,然后使用 zlib 压缩数据$ cve-2022-44268-detector -filename image.png -print raw > /tmp/out
***POTENTIAL INDICATOR OF COMPROMISE*** - keyword: 'Raw profile type' | compressed: true | id: 0 | offset: 0x72 | len: 666
$ hexdump -C /tmp/out