adityatelange/poc-CVE-2026-0073

GitHub: adityatelange/poc-CVE-2026-0073

针对 CVE-2026-0073 的概念验证脚本,利用 ADB 守护进程 TLS 证书验证逻辑漏洞绕过无线 ADB 双向认证,实现未授权远程命令执行。

Stars: 10 | Forks: 2

# CVE-2026-0073 PoC (无线 ADB TLS 身份验证绕过) 此目录包含针对 CVE-2026-0073 的 Python 概念验证脚本。 ## 概述 CVE-2026-0073 是 ADB 守护程序证书验证(`auth.cpp` 中的 `adbd_tls_verify_cert`)中的一个逻辑问题。 存在漏洞的检查将 `EVP_PKEY_cmp(...)` 的任何非零返回值都视为匹配成功。 预期的比较结果处理应为: - `1` = 密钥匹配 - `0` = 密钥不匹配 - 负值 = 错误 / 不支持的比较 在存在漏洞的构建版本中,负值被视为真值,可能会错误地将证书标记为已授权。 ## `poc-cve-2026-0073.py` 的作用 该脚本: 1. 创建一个非 RSA 客户端证书(`ec` 或 `ed25519`)。 2. 连接到目标 ADB TCP 服务。 3. 执行 CNXN -> STLS -> TLS 握手流程。 4. 通过存在漏洞的证书比较路径进行身份验证。 5. 打开命令服务(`shell:`,并提供 `exec:` 备用方案)。 6. 打印命令输出。 ## 要求 - Python 3.10+(推荐) - `cryptography` 包 - 目标设备已启用无线 ADB - 到目标 ADB 端口的网络可达性 - 目标设备的测试授权 安装依赖项: ``` pip install cryptography ``` ## 用法 发现目标 ADB 服务(如果需要): ``` adb mdns services ``` 运行 PoC: ``` python3 poc-cve-2026-0073.py [port] [command] [key_type] [--verbose] ``` 参数: - `target_ip`:目标 Android 设备的 IP 地址 - `port`:ADB 端口(默认:`5555`) - `command`:要执行的命令(默认:`id`) - `key_type`:`ec` 或 `ed25519`(默认:`ec`) - `--verbose`:启用协议调试日志 示例: ``` python3 poc-cve-2026-0073.py 192.168.1.100 5555 id python3 poc-cve-2026-0073.py 192.168.1.100 5555 whoami ec --verbose python3 poc-cve-2026-0073.py 192.168.1.100 5555 getprop ed25519 ``` ## 典型的成功输出 ``` [*] Opening service: 'shell:id' [*] After OPEN, received: OKAY arg0=2 data=b'' [+] Stream open (local_id=1, remote_id=2) [+] Command output: ---------------------------------------- uid=2000(shell) gid=2000(shell) ... ---------------------------------------- [+] Exploitation successful. ``` ## 故障排除 - `Connection refused`(连接被拒绝) - 无线 ADB 可能被禁用。 - 目标 IP/端口错误。 - `certificate_unknown`(证书未知) - 设备可能已修复此问题。 - 或者目标在此身份验证路径中没有符合条件的受信任密钥状态。 - 等待响应超时 - 检查网络路径以及目标 ADB 套接字的可用性。 - 使用 `--verbose` 重试以获取数据包级别的跟踪信息。 ## 关于补丁级别检查的说明 基本操作系统安全补丁级别 (Base OS security patch level) 和 Mainline 模块补丁可能有所不同。 设备可能显示较旧的每月 SPL,但同时接收到了较新的 ADB 模块修复。 有用的检查命令: ``` adb shell getprop ro.build.version.security_patch adb shell pm list packages --apex-only | grep adbd adb shell dumpsys package com.google.android.adbd | grep -E "versionCode|versionName|lastUpdateTime" ``` ## 负责任的使用 仅在经过授权的环境中(拥有的实验室设备、明确的许可或批准的测试)使用此 PoC。 请勿对您不拥有或未获得书面测试授权的系统运行此程序。 ## 参考 - Android 安全公告(2026 年 5 月) - CVE-2026-0073 的 NVD 条目 - AOSP ADB 源代码(`daemon/auth.cpp`)
标签:0-day, ADB, adbd, ADB无线调试, Android, Android安全, Android调试桥, CISA项目, Cryptography库, CVE-2026-0073, DSL, ec, ed25519, EVP_PKEY_cmp, Exploit, Modbus, N-day, PoC, Python, RCE, TLS身份验证绕过, 命令执行, 安全测试工具, 底层编程, 提示词注入, 无后门, 无线ADB, 暴力破解, 概念验证, 漏洞分析, 目录枚举, 移动安全, 编程工具, 网络安全, 证书验证缺陷, 路径探测, 身份验证绕过, 身份验证缺陷, 远程代码执行, 逆向工具, 逻辑漏洞, 隐私保护