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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
u3000py — Thinkware U3000ドライブレコーダーのローカルWiFi制御プロトコル用Pythonクライアント。公式Androidアプリからリバースエンジニアリングされたもの。CVE-2026-101053、CVE-2026-101054、CVE-2026-101055のPoCツール群。 | Kitploit
ツール/GitHubGitHub/turretsec/u3000py
組み込みシステムセキュリティIoTセキュリティ脆弱性分析エクスプロイトリバースエンジニアリング情報収集ネットワークセキュリティユーティリティとフレームワークハードウェアとIoTセキュリティ論文と研究
GitHubturretsec/u3000py
5日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

u3000py

Thinkware U3000ドライブレコーダーのローカルWiFi制御プロトコル用Pythonクライアント。公式Androidアプリからリバースエンジニアリングされたもの。CVE-2026-101053、CVE-2026-101054、CVE-2026-101055のPoCツール群。

リポジトリを見る

u3000py

Thinkware U3000 ドライブレコーダーのローカル WiFi 制御プロトコル用 Python クライアント。公式 Android アプリからリバースエンジニアリングし、実機で確認済み。公開仕様(存在しない)に基づくものではありません。

このプロジェクトには 2 つの目的があります。ご自身のドライブレコーダーから映像を吸い出すための実用的なライブラリと、完了した CVE 開示のための補足資料です(下記のセキュリティを参照)。

使用する前に

  • カメラの制御プロトコルには認証も暗号化もありません。カメラと同じネットワーク上にいる誰でも、このライブラリが発行できるあらゆるコマンドを発行できます。
  • このライブラリのすべての挙動は、実機で確認済みであるか、docstring 内で未検証であると明示的にフラグ付けされているかのいずれかです。何が確実で何が推測なのかの完全な内訳は docs/protocol-reference.md を参照してください。
  • 一部のメソッドは、破壊的である(SD カードのフォーマット)か、カメラに到達するために使用しているネットワークからカメラを切断する可能性がある(set_wifi_mode、connect_to_ap など)ため、confirm=True でゲートされています。これらのいずれかに confirm=True を渡す前に docstring を読んでください。

インストール

PyPI リリースはありません。GitHub から直接インストールします:

pip install "u3000py[cli] @ git+https://github.com/turretsec/u3000py.git"

または CLI なしで、ライブラリのみ:

pip install git+https://github.com/turretsec/u3000py.git

またはタグ付きリリースに固定:

pip install git+https://github.com/turretsec/[email protected]

クイックスタート

from u3000py import ThinkLinkClient, VideoCategory

with ThinkLinkClient("192.168.1.100") as cam:  # your camera's actual IP
    print(cam.get_device_info())
    print(cam.get_system_status())

    files = cam.list_files(VideoCategory.CONTINUOUS)
    latest = files[-1]

    def show_progress(received, total):
        print(f"\r{received / total:.0%}", end="")

    cam.download(latest.path, dest="latest_clip.mp4", progress=show_progress)

または、[cli] エクストラ付きでインストールした後、コマンドラインから:

u3000py --host 192.168.1.100 info device
u3000py --host 192.168.1.100 files download --latest --category cont_rec

--host は毎回の呼び出しで必須です。上記のようにフラグとして指定するか、繰り返し入力したくない場合は U3000PY_HOST 環境変数経由で指定します。

できること

  • ステータス: デバイス情報、システムステータス、空き容量、GPS、WiFi 認証情報(そうです、カメラは誰が尋ねてもこれらを返します。セキュリティを参照)、ライブテレメトリ、ホットスポット数
  • ファイル: 任意のディレクトリの閲覧、録画の一覧表示/分類、進捗付きダウンロード、サムネイル生成
  • カメラ設定: プレビューチャンネルの切り替え、音声録音の切り替え、GPS/ADAS のリセット、工場出荷時リセット、SD カードのフォーマット
  • WiFi/ホットスポット管理: ネットワークへの接続、保存済みアクセスポイントの管理、カメラ自身のホットスポットの管理、WiFi モードの切り替え
  • 診断: 駐車イベントデータ、状態履歴、モデム情報(このユニットには無いようです)

どの結果が実機テストによるものか、どの結果が検証待ちの推測なのかを含む、メソッドごとの完全な詳細は、プロトコルリファレンスドキュメントにあります。

意図的に含まれていないもの

  • PUT_FILE: カメラのファイルシステム上の任意の絶対パスへの、認証不要の任意ファイル書き込みを許可することが確認されています。これは 3 件の CVE 調査結果のうちの 1 つです。公開ライブラリに汎用的な write-anywhere メソッドを同梱することは、すぐに使える攻撃ツールを配布することになります。完全な詳細は disclosure-thinkware-u3000 にあります。
  • ファームウェアの書き込み: セキュリティ上の判断ではなく、「自分のドライブレコーダーを文鎮化しないでください」という判断です。このレイヤーでは署名検証もベンダー検証も行われません。
  • キープアライブ/自動同期デーモン: カメラの WiFi 接続は、到達可能な状態を保つために公式アプリを開いているか、定期的なハートビートのいずれかが必要なようです。実用的で有用な機能ですが、このリポジトリのスコープ外とすることを意図的に選択しており、別プロジェクトとして計画されています。
  • 汎用リモートシェルのように振る舞うもの: ここにあるすべてのメソッドは、1 つの特定の名前付きカメラ操作に対応します。ここにはパラメータ化された「任意のコマンドを実行する」プリミティブは何もありません。

テスト

pip install -e ".[dev]"
pytest -v                                  # unit tests, no camera needed
pytest -m hardware --host 192.168.1.100    # real-camera tests, opt-in only

CLI 自体のためのスタンドアロンのスモークテストスクリプトは scripts/smoke_test_cli.py にあります。これは pytest スイートの一部ではありません(実際にインストールされた u3000py コマンドを、実際のカメラに対してシェル経由で実行します)。変更後の健全性チェック用です。

ドキュメント

  • docs/protocol-reference.md: 完全なリバースエンジニアリング済みプロトコル。ワイヤフォーマット、確認済みのすべてのコマンド、まだ未検証のもの、そして既知の未解決の謎(いくつかの挙動は、プロトコル自体の慣習から予測される動作と本当に一致しません)。

セキュリティ

このプロトコルには認証がありません。この調査から 3 件の調査結果が得られ、別リポジトリで完全に文書化・開示されています: disclosure-thinkware-u3000。

  1. PUT_FILE による認証不要の任意ファイル書き込み(CVE-2026-101053(VulDB #410915))。カメラの実際の /tmp ディレクトリへの書き込みによって確認済み。このライブラリでは意図的に公開していません(上記の意図的に含まれていないものを参照)。
  2. LS/GET_FILE による認証不要の任意ファイル読み取り(CVE-2026-101054(VulDB #410916))。パス制限は一切ありません。このライブラリの download() メソッドはこのプリミティブを直接実証します。例えば cam.download("/tmp/wpa_supplicant.conf") はデバイスのライブ WiFi 設定ファイルを読み取ります。
  3. GET_STATUS "wifi_info" による平文 WiFi 認証情報の漏洩(CVE-2026-101055(VulDB #410917))。このライブラリの get_wifi_info() はこのプリミティブを直接実証します(出力を印刷する際、パスワードはデフォルトで伏せられます。WifiInfo の repr() を参照)。

Thinkware には 2026-06-21 に通知しました。30 日間の開示期間は 2026-07-21 に、技術的でない受領確認のみで修正確認はなく終了しました。3 件の調査結果はすべて、現在の製品ファームウェアで再現可能なままです。別の Thinkware モデル(F800 Pro)に関する geo-chen による関連する先行研究が、文脈のために開示リポジトリで参照されています。

ライセンス

MIT、LICENSE を参照。

ツールをダウンロード