
CVE-2022-48565 - python plistlib XML デシリアライゼーション攻撃の概念実証
これは、Pythonにおける Plistファイルの安全でないデシリアライゼーション に基づく脆弱性 CVE-2022-48565 を実証する Proof of Concept(PoC)です。特別に細工された Property List(Plist)ファイルを処理することで、攻撃者は対象システム上で任意のコードを実行でき、リモートコード実行(RCE) につながる可能性があります。
このリポジトリには、この脆弱性を悪用するさまざまな方法を示す4つのPoCスクリプトがあります。これらの例は、悪意のあるコードがPlistファイルに埋め込まれ、システム上で実行される仕組みを示しています。
Proof of Concept を示すビデオはこちらです:
これらのPoCスクリプトは、教育目的およびセキュリティ研究専用です。管理された環境でのみ使用し、本番システムでは使用しないでください。この脆弱性の誤用は、重大な法的および倫理的な結果を招く可能性があります。
Python <=3.9.1
Python 2.x
macOS: 一部の例(CalculatorやSafariを開くなど)はmacOS固有のコマンドを使用するため、macOSでのみ動作します
このリポジトリをクローンします:
git clone https://github.com/Einstein2150/CVE-2022-48565-POC
ディレクトリに移動します:
cd CVE-2022-48565-POC
この脆弱性を悪用するさまざまな方法を示す4つのPoCスクリプトがあります。
このスクリプトは、安全でないデシリアライゼーションを使用して、コンソールにメッセージを出力するシェルコマンドを実行する簡単な例を示しています。
使用方法:
bash
python2 cve-2022-48565_poc_echo.py
この例では、悪意のあるPlistファイルをデシリアライズしてmacOSのCalculatorを開く方法を示しています。
使用方法:
bash
python2 cve-2022-48565_poc_calc.py
このスクリプトは、外部ソースからファイルをダウンロードし、自動的にSafariで開く方法を示しています。wgetコマンドを使用して、ウェブサイト foto-video-it.de から index.html をダウンロードし、Safariで開きます。
使用方法:
bash
python2 cve-2022-48565_poc_wget.py
このスクリプトは、悪意のあるPlistファイルが外部に保存され、実行時に読み込まれる実際の攻撃シナリオをシミュレートします。これは、攻撃者が外部ソースからPlistファイルを読み込み、それを悪意のあるコードの実行に使用する方法を示しています。
malicious.plist ファイルにはペイロードが含まれており、スクリプトと同じディレクトリに配置する必要があります。
使用方法:
bash
python2 cve-2022-48565_poc_external_plist.py
このプロジェクトはMITライセンスの下でライセンスされています。詳細については、LICENSEファイルを参照してください。