Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
the-same-key-opens-every-box-cve-2026-71960-hard-coded-jwt-secret-in-cudy-wr3000-mesh-mqtt — PoCツールキット:ルーターファームウェアを展開し、デバイスのシークレットを復号化し、JWTトークンを偽造して、CVE-2026-71960/71961を悪用し、Cudy WR3000メッシュMQTTブローカーを乗っ取ります。 | Kitploit
ツール/GitHubGitHub/hunt-benito/the-same-key-opens-every-box-cve-2026-71960-hard-coded-jwt-secret-in-cudy-wr3000-mesh-mqtt
IoTセキュリティエクスプロイトネットワークセキュリティ暗号化ペネトレーションテスト認証ファームウェア解析
GitHubhunt-benito/the-same-key-opens-every-box-cve-2026-71960-hard-coded-jwt-secret-in-cudy-wr3000-mesh-mqtt

the-same-key-opens-every-box-cve-2026-71960-hard-coded-jwt-secret-in-cudy-wr3000-mesh-mqtt

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

PoCツールキット:ルーターファームウェアを展開し、デバイスのシークレットを復号化し、JWTトークンを偽造して、CVE-2026-71960/71961を悪用し、Cudy WR3000メッシュMQTTブローカーを乗っ取ります。

リポジトリを見る
11日前未レビュー

CVE-2026-71960 — Cudy WR3000 2.0 メッシュMQTTブローカーにおけるハードコードされたJWTシークレット

Hunt-Benito 記事向けの PoC ツール群 「同じ鍵がすべての箱を開ける: CVE-2026-71960 — Cudy の WR3000 メッシュ MQTT ブローカーにおけるハードコードされた JWT シークレット」 (https://www.hunt-benito.com/blog/the-same-key-opens-every-box-cve-2026-71960-hard-coded-jwt-secret-in-cudy-wr3000-mesh-mqtt/)

CVE-2026-71961(同じ MQTT メッシュインターフェースを介した OS コマンドインジェクション)と連鎖させ、ファームウェア 2.5.24 より前 を実行している Cudy WR3000 2.0 メッシュのすべてのノードで root コマンド実行を達成します。

内容

FilePurpose
extract_firmware.py公開されている Cudy の sysupgrade .bin (hboot1tag + UBI) を展開し、完全な OpenWrt ファイルシステムを取り出します。2.4.14 / 2.4.15 / 2.5.24 で検証済み。
decrypt_bdinfo.pyDES 鍵 (DES_string_to_key("88T3j05dtFu8="), IV はゼロ — libbdinfo.so から復元) を導出し、自分のデバイスから取得した bdinfo MTD ダンプを復号して、deviceid とフリート全体で共通の secret を明らかにします。
forge_jwt.pymosquitto_auth_unpwd_check のすべてのチェックを満たす HS256 トークンを発行します (exp の下限は 1577826000、ユーザー名 grant に deviceid を含む)。ラウンドトリップを自己検証します。
mqtt_takeover.py偽造した JWT で TCP 1883 のブローカーに CONNECT し、router/# にサブスクライブして、(オプションで --cmd を使用して) CVE-2026-71961 の command.lua → io.popen シンクを実行します。

クイックスタート

root@kitploit:~
pip install pycryptodome pyjwt paho-mqtt

# 1. unpack the public firmware (no device needed)
python3 extract_firmware.py WR3000V2-R116-2.4.15-20251030-114751-sysupgrade.bin --out rootfs --keep-sqfs

# 2. confirm the DES key literal ships in the image
strings -n 8 rootfs/usr/lib/libbdinfo.so | grep -E '^[A-Za-z0-9+/]{12}=$'
#   88T3j05dtFu8=

# 3. decrypt a bdinfo dump from YOUR OWN device (2.4.x exposes /dev/mtd*)
python3 decrypt_bdinfo.py bdinfo.bin

# 4. forge a token for the recovered deviceid/secret
python3 forge_jwt.py --deviceid 012345678901 --secret '<secret>'

# 5. passive: authenticate and listen on the mesh
python3 mqtt_takeover.py --host 192.168.10.1 --deviceid 012345678901 --secret '<secret>'

要点

  • auth_plugin_jwt.so はブローカー起動時に bdinfo_get_value("deviceid") と bdinfo_get_value("secret") を呼び出します。この secret 値は すべての メッシュ JWT の HS256 署名鍵です。
  • プラグインの exp チェックは exp >= 1577826000(2019-12-31T21:00:00Z)です。time() の呼び出し結果は比較されないため、トークンは実際には期限切れになりません。
  • alg: none は 拒否 されます(鍵が指定されている場合は EINVAL)。つまり、シークレットが本当に必要であり、alg 混乱によるショートカットはありません。
  • mosquitto_auth_acl_check() は無条件に SUCCESS を返します。つまり、受け入れられた CONNECT はすべてのトピックに対する読み書きを許可します。
  • 平文リスナー 0.0.0.0:1883(2.4.x)は、TLS クライアント証明書が不要であることを意味します。修正済みファームウェア 2.5.24 は 1883 リスナーを削除し、bdinfo シークレットを完全に廃止して、相互 TLS に依存します。

法的情報

許可されたセキュリティ研究および教育目的に限ります。自分が所有しているデバイス、またはテストする明示的な書面による許可を得たデバイスに対してのみ実行してください。著者は誤用に対する責任を負いません。

出典

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-71960
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-71961
  • VulnCheck アドバイザリ: https://www.vulncheck.com/advisories/cudy-wr3000-hard-coded-jwt-secret-authentication-bypass-via-mqtt
  • Cudy ファームウェア: https://www.cudy.com/en-us/pages/download-center/wr3000-2-0
ツールをダウンロード