Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
u3000py — Cliente Python para el protocolo de control WiFi local de la dashcam Thinkware U3000, obtenido mediante ingeniería inversa de la aplicación oficial de Android. Herramientas PoC detrás de CVE-2026-101053, CVE-2026-101054 y CVE-2026-101055. | Kitploit
Herramientas/GitHubGitHub/turretsec/u3000py
Seguridad de Sistemas EmbebidosSeguridad IoTAnálisis de VulnerabilidadesExplotaciónIngeniería InversaRecopilación de InformaciónSeguridad de RedesUtilidades y FrameworksSeguridad de Hardware e IoTPapers e Investigación
GitHub
hace 5 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
turretsec/u3000py

u3000py

Cliente Python para el protocolo de control WiFi local de la dashcam Thinkware U3000, obtenido mediante ingeniería inversa de la aplicación oficial de Android. Herramientas PoC detrás de CVE-2026-101053, CVE-2026-101054 y CVE-2026-101055.

Ver Repositorio

u3000py

Un cliente Python para el protocolo de control WiFi local de la dashcam Thinkware U3000, obtenido mediante ingeniería inversa de la aplicación oficial de Android, confirmado contra hardware real, no a partir de ninguna especificación pública (no existe ninguna).

Este proyecto tiene dos propósitos: una biblioteca utilizable para extraer grabaciones de tu propia dashcam, y material de apoyo para una divulgación de CVE completada (ver Seguridad más abajo).

Antes de usarlo

  • El protocolo de control de la cámara no tiene autenticación ni cifrado. Cualquiera en la misma red que la cámara puede emitir cualquier comando que esta biblioteca pueda.
  • Cada comportamiento de esta biblioteca está confirmado contra hardware real o marcado explícitamente como no verificado en su docstring. Consulta docs/protocol-reference.md para el desglose completo de lo que es sólido y lo que es una suposición.
  • Un puñado de métodos están protegidos tras confirm=True porque son destructivos (formatear la tarjeta SD) o porque pueden desconectar la cámara de la red que estás usando para acceder a ella (set_wifi_mode, connect_to_ap, etc.). Lee el docstring antes de pasar confirm=True en cualquiera de estos.

Instalación

Sin publicación en PyPI. Instala directamente desde GitHub:

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

O sin la CLI, solo la biblioteca:

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

O fija a una versión etiquetada:

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

Inicio rápido

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)

O desde la línea de comandos, una vez instalado con el extra [cli]:

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

--host es obligatorio en cada invocación, ya sea como el flag mostrado arriba o mediante la variable de entorno U3000PY_HOST si prefieres no repetirlo.

Qué puede hacer

  • Estado: información del dispositivo, estado del sistema, espacio libre, GPS, credenciales WiFi (sí, la cámara se las devolverá a cualquiera que las pida, ver Seguridad), telemetría en vivo, recuento de hotspots
  • Archivos: explorar cualquier directorio, listar/categorizar grabaciones, descargar con progreso, generar miniaturas
  • Configuración de la cámara: cambiar el canal de vista previa, activar/desactivar la grabación de audio, restablecer GPS/ADAS, restablecimiento de fábrica, formatear la tarjeta SD
  • Gestión de WiFi/hotspot: conectarse a redes, gestionar puntos de acceso guardados, gestionar el hotspot propio de la cámara, cambiar el modo WiFi
  • Diagnóstico: datos de eventos de aparcamiento, historial de estados, información del módem (esta unidad parece no tener ninguno)

El detalle completo método por método, incluyendo qué resultados provienen de pruebas con hardware real frente a cuáles son conjeturas fundamentadas pendientes de verificación, se encuentra en el documento de referencia del protocolo.

Lo que deliberadamente no está aquí

  • PUT_FILE: confirmado que permite escrituras arbitrarias de archivos sin autenticación en cualquier ruta absoluta del sistema de archivos de la cámara. Este es uno de los tres hallazgos de CVE; incluir un método genérico de escritura en cualquier lugar en una biblioteca pública entregaría una herramienta de ataque lista para usar. Detalle completo en disclosure-thinkware-u3000.
  • Flasheo de firmware: no es una decisión de seguridad, es una decisión de "por favor, no conviertas tu propia dashcam en un ladrillo". En esta capa no ocurre ninguna verificación de firma ni validación del fabricante.
  • Un demonio de keepalive/auto-sincronización: la conexión WiFi de la cámara parece necesitar o bien la aplicación oficial abierta o bien un latido periódico para seguir siendo accesible. Es una característica real y útil, deliberadamente fuera del alcance de este repositorio, planificada como un proyecto separado.
  • Cualquier cosa que se comporte como un shell remoto genérico: cada método aquí corresponde a una operación específica y nombrada de la cámara. Nada aquí es una primitiva parametrizada de "ejecutar un comando arbitrario".

Pruebas

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

Un script independiente de prueba de humo para la propia CLI se encuentra en scripts/smoke_test_cli.py. No forma parte de la suite de pytest (invoca el comando u3000py real instalado contra una cámara real) para comprobaciones de cordura tras los cambios.

Documentación

  • docs/protocol-reference.md: el protocolo completo obtenido por ingeniería inversa; formato de cable, cada comando confirmado, lo que aún no está verificado y misterios abiertos conocidos (un par de cosas genuinamente no se comportan como predecirían las propias convenciones del protocolo).

Seguridad

Este protocolo no tiene autenticación. De esta investigación surgieron tres hallazgos, completamente documentados y divulgados en un repositorio separado: disclosure-thinkware-u3000.

  1. Escritura arbitraria de archivos sin autenticación mediante PUT_FILE (CVE-2026-101053 (VulDB #410915)), confirmada escribiendo en el directorio /tmp real de la cámara. Deliberadamente no expuesta por esta biblioteca (ver Lo que deliberadamente no está aquí arriba).
  2. Lectura arbitraria de archivos sin autenticación mediante LS/GET_FILE (CVE-2026-101054 (VulDB #410916)), sin ninguna restricción de ruta. El método download() de esta biblioteca demuestra la primitiva directamente, p. ej. cam.download("/tmp/wpa_supplicant.conf") lee el archivo de configuración WiFi en vivo del dispositivo.
  3. Divulgación de credenciales WiFi en texto plano mediante GET_STATUS "wifi_info" (CVE-2026-101055 (VulDB #410917)). El método get_wifi_info() de esta biblioteca demuestra la primitiva directamente (con la contraseña censurada por defecto en cualquier salida impresa, ver el repr() de WifiInfo).

Thinkware fue notificada el 2026-06-21. La ventana de divulgación de 30 días se cerró el 2026-07-21 con solo un acuse de recibo no técnico y sin confirmación de corrección. Los tres hallazgos siguen siendo reproducibles en el firmware de producción actual. Se hace referencia a una investigación previa relacionada sobre un modelo diferente de Thinkware (F800 Pro) por geo-chen en el repositorio de divulgación para contexto.

Licencia

MIT, ver LICENSE.

Descargar herramienta