Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
disclosure-thinkware-u3000 — Thinkware U3000 ドライブレコーダーのローカル WiFi 制御プロトコルにおける 3 件の未認証脆弱性: 任意ファイル書き込み、任意ファイル読み取り、および平文 WiFi 認証情報の漏洩。CVE-2026-101053、CVE-2026-101054、CVE-2026-101055。 | Kitploit
ツール/GitHubGitHub/turretsec/disclosure-thinkware-u3000
組み込みシステムセキュリティIoTセキュリティ脆弱性分析リバースエンジニアリングワイヤレスセキュリティ暗号化ハードウェアとIoTセキュリティ論文と研究

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
turretsec/disclosure-thinkware-u3000

disclosure-thinkware-u3000

Thinkware U3000 ドライブレコーダーのローカル WiFi 制御プロトコルにおける 3 件の未認証脆弱性: 任意ファイル書き込み、任意ファイル読み取り、および平文 WiFi 認証情報の漏洩。CVE-2026-101053、CVE-2026-101054、CVE-2026-101055。

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

Thinkware U3000 ドライブレコーダー: セキュリティ脆弱性

Thinkware U3000 ドライブレコーダーのローカル WiFi 制御プロトコルにおける3件の脆弱性。公式 Android アプリのリバースエンジニアリングによって発見され、実機で確認された。3件はいずれもローカルネットワークへのアクセスのみを必要とする。デバイスへの物理的アクセス、事前認証、デバイス所有者の協力はいずれも不要である。

2026-06-21 に Thinkware へ開示済み。30日間の開示期間は、技術的な内容を含まない受領確認のみで終了した。

なぜこれが重要か

ドライブレコーダーは、この種の露出にとって異例のカテゴリである。これらは車両の動きを継続的に記録し、レンタル、フリート管理、中古車販売を通じて頻繁に持ち主が変わる。現在その車両にアクセスできる者が、その車両が設定されているネットワークを必ずしも管理しているわけではない。任意ファイル書き込みプリミティブと制御プロトコル上の認証ゼロが組み合わさることで、これはプライバシーの懸念にとどまらない。改ざんの懸念でもある。動画だけでなく、デバイス上のあらゆるファイルが、所有者に知られることなく改変または置換され得るのである。

これはまた、この形の脆弱性が Thinkware のドライブレコーダーに現れた最初の事例でもない。独立研究者 geo-chen は、関連モデルである F800 Pro における複数の問題を以前に開示している。詳細は geo-chen/Thinkware-Dashcam を参照。それらは一般に、悪用に物理的アクセスまたはローカルファイルシステムへのアクセスを必要とした。以下の発見はいずれも不要である。ネットワークアクセスだけで十分であり、ファイル書き込みの発見は、その先行事例のいずれよりも強力な能力である。

影響を受けるモデルに関する注記: 以下の発見はすべて、ベースモデルの Thinkware U3000 に対して確認されたものである。Thinkware は別途「U3000 Pro」という派生モデルも販売しているが、同一のプロトコル実装を共有しているかどうかは検証されていない。


発見 1: 認証不要の任意ファイル書き込み

CVE: CVE-2026-101053 (VulDB #410915)

詳細な解説: findings/01-arbitrary-file-write.md

製品: Thinkware U3000 ドライブレコーダー

影響を受けるコンポーネント: TCP 制御プロトコル (ポート 7878 コマンド / ポート 8787 データ)、認証なし

攻撃ベクター: 同一ローカルネットワーク上の任意のデバイスが、攻撃者制御のコンテンツをデバイスのファイルシステム上の任意の絶対パスに書き込める。

説明

デバイスの制御プロトコルは PUT_FILE コマンドを公開しており、これが攻撃者提供のバイト列を攻撃者提供の絶対パスに書き込む。パス検証やサンドボックス化は一切ない。デバイスの /tmp ディレクトリ (デバイス自身の WiFi 設定 (wpa_supplicant.conf) と少なくとも1つのシェルスクリプト (hidraw0.sh) を保持するディレクトリと同じ) に直接ファイルを書き込み、それをバイト単位で読み戻して正確な配置を確認することで検証された。

Put file proof

再現手順

  1. セッションハンドシェイクを完了する: START_SESSION -> SET_CLNT_INFO -> APP_CONNECT。
  2. PUT_FILE を送信し、param に公式アプリが正当に書き込むであろう場所の外側のパスを設定する。
  3. ファイルのバイト列をデータソケットに書き込む。
  4. カメラは即座に {"rval": 0, "msg_id": 1286} を返し、その後、完了を確認する非同期の NOTIFICATION (msg_id 7) をプッシュする。
  5. 親ディレクトリに対する LS により、システムファイルと並んで、要求された正確な名前でファイルが存在することが確認される。
  6. 同じパスに対する GET_FILE でコンテンツを読み戻し、送信した内容とバイト単位で比較する。

発見 2: 認証不要の任意ファイル読み取り

CVE: CVE-2026-101054 (VulDB #410916)

詳細な解説: findings/02-arbitrary-file-read.md

製品: Thinkware U3000 ドライブレコーダー

影響を受けるコンポーネント: TCP 制御プロトコル (ポート 7878 コマンド / ポート 8787 データ)、認証なし

攻撃ベクター: 同一ローカルネットワーク上の任意のデバイスが、記録された動画だけでなく、デバイスのファイルシステム上の任意の絶対パスを一覧表示および読み取りできる。

説明

同じプロトコルの LS および GET_FILE コマンドは、任意の絶対パスを制限なく列挙および読み取る。デバイスのライブな wpa_supplicant.conf を直接読み取ることで確認された。これには実際の WiFi SSID と平文パスワードが含まれている。これは発見 1 の読み取り側の鏡像である。同じ根本原因、逆方向であり、発見 3 で露出するのと同じ認証情報への、機構的に異なる経路である。

再現手順

  1. セッションハンドシェイクを完了する: START_SESSION -> SET_CLNT_INFO -> APP_CONNECT。
  2. /tmp に対する LS により、wpa_supplicant.conf が存在することが確認される。他のシステムファイル (hidraw0.sh、aws.dat、resolv.conf など) と並んでいる。
  3. param: "/tmp/wpa_supplicant.conf" を指定した GET_FILE がファイルのサイズを返し、その後、完全なコンテンツが動画ファイルの場合とまったく同様にデータソケット経由でストリーミングされる。
  4. 返されたコンテンツには、カメラの実際に設定されたネットワークと一致する ssid=/psk= 行が含まれている。

発見 3: ステータスクエリによる平文 WiFi 認証情報の漏洩

CVE: CVE-2026-101055 (VulDB #410917)

詳細な解説: findings/03-wifi-credential-disclosure.md

製品: Thinkware U3000 ドライブレコーダー

影響を受けるコンポーネント: TCP 制御プロトコル (ポート 7878)、認証なし

攻撃ベクター: 同一ローカルネットワーク上の任意のデバイスが、認証なし、事前アクセスなしで、カメラの WiFi パスワードを直接取得できる。

説明

専用のステータスクエリ GET_STATUS "wifi_info" は、デバイスの WiFi SSID と平文パスワードを直接返す。これは発見 2 とは異なる機構であり、ファイルシステムへのアクセスは一切不要で、通常のプロトコルステータス読み取りだけで済む。

再現手順

  1. セッションハンドシェイクを完了する: START_SESSION -> SET_CLNT_INFO -> APP_CONNECT。
  2. param: "wifi_info" を指定して GET_STATUS を送信する。
  3. レスポンス: {"rval": 0, "msg_id": 2050, "type": "wifi_info", "param": [{"ssid": "<real SSID>"}, {"password": "<real plaintext password>"}, {"mac": "<real MAC>"}]}。

開示タイムライン

日付出来事
2026-06-19ファームウェア v1.02.00 に対して発見を確認
2026-06-21ファームウェアを v1.02.04 (現行の製品リリース) にアップグレード。3件の発見をすべて再確認、挙動に変化なし
2026-06-21[email protected] へのメールでベンダーに通知
2026-06-22 (頃)Thinkware カスタマーサポートが受領を確認、報告が開発チームに転送されたことを確認。技術的な回答、タイムライン、修正の確認は提供されなかった。
2026-07-2130日間の開示期間が終了。ベンダーからのさらなる連絡はなし。
2026-08-13公開開示
2026-9-27CVE ID が割り当てられ、VulDB エントリが公開

ここに意図的に含めていないもの

責任ある開示の慣行に従い、本リポジトリは各プリミティブの存在と影響を文書化するものであり、すぐに使える悪用ツールは提供しない。

  • 動作する PUT_FILE の概念実証スクリプトは公開していない。上記の再現手順は発見を確認するのに十分である。パラメータ化された、すぐ実行できる write-anywhere ツールは、正当な検証に付加価値を与えず、悪用に実際の価値をもたらすだけである。
  • PUT_FILE で配置されたファイルが実行可能かどうか、またさらなる悪用チェーンについては、一切調査していない。

ツール

これらの発見は、u3000py を用いて確認された。これは U3000 の制御プロトコル用のオープンソース Python クライアントであり、本研究の一環として構築された。

  • u3000py の ThinkLinkClient.download() メソッドは、発見 2 の直接実行可能な再現である: cam.download("/tmp/wpa_supplicant.conf") は、デバイスのライブな WiFi 設定を制限なく読み取る。
  • ThinkLinkClient.get_wifi_info() は、発見 3 の直接実行可能な再現である (実際のパスワードは、印刷される出力ではデフォルトで伏せられる。実際の値は返されたオブジェクト上では依然としてアクセス可能であり、発見自体の動作と一致する)。
  • u3000py は、発見 1 の解説に記した理由により、汎用の PUT_FILE 機能 (発見 1) を意図的に公開していない。

クレジット

Ryan Moore (turretsec) によって発見および開示された。

ツールをダウンロード