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
嵌入式系统安全物联网安全漏洞分析漏洞利用逆向工程信息收集网络安全实用工具与框架硬件与物联网安全论文与研究
GitHubturretsec/u3000py

u3000py

5天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

用于 Thinkware U3000 行车记录仪本地 WiFi 控制协议的 Python 客户端,从官方 Android 应用逆向工程而来。CVE-2026-101053、CVE-2026-101054 和 CVE-2026-101055 背后的 PoC 工具。

查看仓库

u3000py

一个用于 Thinkware U3000 行车记录仪本地 WiFi 控制协议的 Python 客户端,从官方 Android 应用逆向工程而来,并已在真实硬件上验证,并非来自任何公开规范(根本不存在这样的规范)。

本项目有两个目的:提供一个可用的库,用于从你自己的行车记录仪中提取录像;以及为已完成的 CVE 披露提供支持材料(见下方安全部分)。

使用前须知

  • 摄像头的控制协议没有身份验证,也没有加密。任何与摄像头处于同一网络的人都可以发出本库能发出的任何命令。
  • 本库中的每一项行为要么已在真实硬件上验证,要么在其文档字符串中明确标记为未验证。有关哪些是可靠的、哪些是猜测的完整说明,请参见 docs/protocol-reference.md。
  • 有少数方法被限制在 confirm=True 之后,因为它们具有破坏性(格式化 SD 卡),或者因为它们可能会使摄像头与你用来访问它的网络断开连接(set_wifi_mode、connect_to_ap 等)。在对这些方法中的任何一个传入 confirm=True 之前,请先阅读文档字符串。

安装

没有 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:已确认允许未经身份验证地向摄像头文件系统上的任意绝对路径写入任意文件。这是三项 CVE 发现之一;在公开库中提供一个通用的任意位置写入方法,等于交出一件现成的攻击工具。完整细节见 disclosure-thinkware-u3000。
  • 固件刷写:这不是出于安全考虑,而是出于“请不要把自己的行车记录仪变砖”的考虑。在这一层不会进行任何签名验证或厂商校验。
  • 保活/自动同步守护进程:摄像头的 WiFi 连接似乎需要官方应用保持打开,或者需要定期心跳才能保持可达。这是一个真实且有用的功能,但刻意不在本仓库的范围内,计划作为单独项目。
  • 任何行为类似通用远程 shell 的东西:这里的每个方法都对应一个特定的、有名称的摄像头操作。这里没有任何参数化的“运行任意命令”原语。

测试

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:完整的逆向工程协议;线格式、每条已确认的命令、仍未验证的内容,以及已知的未解之谜(有几件事确实没有按照协议自身约定所预测的方式表现)。

安全

此协议没有身份验证。这项研究产生了三项发现,已在单独的仓库中完整记录并披露: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. 明文 WiFi 凭据泄露,通过 GET_STATUS "wifi_info"(CVE-2026-101055(VulDB #410917))。本库的 get_wifi_info() 直接演示了这一原语(在任何打印输出中默认对密码进行脱敏,见 WifiInfo 的 repr())。

Thinkware 已于 2026-06-21 收到通知。30 天披露窗口于 2026-07-21 结束,仅收到非技术性的收到确认,没有修复确认。所有三项发现在当前生产固件上仍可复现。geo-chen 对另一款 Thinkware 型号(F800 Pro)的相关先前研究在披露仓库中作为背景资料引用。

许可证

MIT,见 LICENSE。

下载工具