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
Embedded Systems SecurityIoT SecurityVulnerability AnalysisExploitationReverse EngineeringInformation GatheringNetwork SecurityUtilities & FrameworksHardware & IoT SecurityPapers & Research
GitHub
5일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
turretsec/u3000py

u3000py

Thinkware U3000 대시캠의 로컬 WiFi 제어 프로토콜을 위한 Python 클라이언트로, 공식 Android 앱에서 리버스 엔지니어링되었습니다. CVE-2026-101053, CVE-2026-101054, CVE-2026-101055에 대한 PoC 도구입니다.

저장소 보기

u3000py

Thinkware U3000 대시캠의 로컬 WiFi 제어 프로토콜을 위한 Python 클라이언트로, 공식 Android 앱에서 리버스 엔지니어링했으며 실제 하드웨어에서 검증되었습니다. 공개된 명세(존재하지 않음)를 기반으로 한 것이 아닙니다.

이 프로젝트는 두 가지 목적을 가지고 있습니다. 자신의 대시캠에서 영상을 가져오기 위한 실용적인 라이브러리, 그리고 완료된 CVE 공개를 위한 지원 자료입니다(아래 Security 참조).

사용하기 전에

  • 카메라의 제어 프로토콜에는 인증도 암호화도 없습니다. 카메라와 같은 네트워크에 있는 사람이라면 누구나 이 라이브러리가 실행할 수 있는 모든 명령을 내릴 수 있습니다.
  • 이 라이브러리의 모든 동작은 실제 하드웨어에서 검증되었거나 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 자격 증명(예, 카메라는 요청하는 사람 누구에게나 이를 돌려줍니다. Security 참조), 실시간 텔레메트리, 핫스팟 수
  • 파일: 모든 디렉터리 탐색, 녹화 파일 목록/분류, 진행률과 함께 다운로드, 썸네일 생성
  • 카메라 설정: 미리보기 채널 전환, 오디오 녹음 토글, GPS/ADAS 재설정, 공장 초기화, SD 카드 포맷
  • WiFi/핫스팟 관리: 네트워크 연결, 저장된 액세스 포인트 관리, 카메라 자체 핫스팟 관리, WiFi 모드 전환
  • 진단: 주차 이벤트 데이터, 상태 이력, 모뎀 정보(이 기기에는 없는 것으로 보임)

실제 하드웨어 테스트에서 나온 결과와 검증 대기 중인 추측을 포함한 메서드별 전체 세부 사항은 프로토콜 참조 문서에 있습니다.

의도적으로 포함하지 않은 것

  • PUT_FILE: 카메라 파일 시스템의 모든 절대 경로에 인증 없이 임의 파일 쓰기를 허용하는 것으로 확인되었습니다. 이는 세 가지 CVE 발견 중 하나입니다. 공개 라이브러리에 범용 쓰기 메서드를 제공하는 것은 바로 사용 가능한 공격 도구를 건네주는 것과 같습니다. 자세한 내용은 disclosure-thinkware-u3000에 있습니다.
  • 펌웨어 플래싱: 보안상의 이유가 아니라 "자신의 대시캠을 벽돌로 만들지 마세요"라는 이유입니다. 이 계층에서는 서명 검증이나 벤더 검증이 이루어지지 않습니다.
  • keepalive/자동 동기화 데몬: 카메라의 WiFi 연결은 공식 앱이 열려 있거나 주기적인 하트비트가 있어야 접근 가능한 것으로 보입니다. 실제로 유용한 기능이지만 이 저장소의 범위에서 의도적으로 제외되었으며 별도 프로젝트로 계획되어 있습니다.
  • 범용 원격 셸처럼 동작하는 모든 것: 여기의 모든 메서드는 하나의 특정하고 명명된 카메라 작업에 대응합니다. 여기에는 매개변수화된 "임의 명령 실행" 기본 요소가 없습니다.

테스트

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: 전체 리버스 엔지니어링된 프로토콜; 전송 형식, 모든 확인된 명령, 아직 검증되지 않은 것, 그리고 알려진 미해결 미스터리(프로토콜 자체의 관례가 예측하는 방식대로 동작하지 않는 몇 가지 사항이 실제로 있습니다).

Security

이 프로토콜에는 인증이 없습니다. 이 연구에서 세 가지 발견이 나왔으며, 별도 저장소에 완전히 문서화되고 공개되었습니다: 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에 종료되었으며, 비기술적인 수신 확인만 있었고 수정 확인은 없었습니다. 세 가지 발견 모두 현재 프로덕션 펌웨어에서 여전히 재현 가능합니다. 다른 Thinkware 모델(F800 Pro)에 대한 geo-chen의 관련 선행 연구가 맥락을 위해 공개 저장소에 참조되어 있습니다.

License

MIT, LICENSE 참조.

도구 다운로드