xqi1337/poc-CVE-2026-0073

GitHub: xqi1337/poc-CVE-2026-0073

针对 Android 无线 ADB TLS 双向认证逻辑缺陷(CVE-2026-0073)的 Python PoC,利用非 RSA 证书绕过身份验证并执行远程命令。

Stars: 0 | Forks: 0

# CVE-2026-0073 PoC(无线 ADB TLS 认证绕过) 此目录包含针对 CVE-2026-0073 的 Python 概念验证(PoC)。 ## 摘要 CVE-2026-0073 是 ADB daemon 证书验证(位于 `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 socket 可用。 - 使用 `--verbose` 重试以获取 packet 级别的跟踪信息。 ## 关于补丁级别检查的说明 基础操作系统安全补丁级别(SPL)与 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`)
标签:ADB, Android, DSL, PE 加载器, PoC, Python, 底层编程, 无后门, 暴力破解, 目录枚举, 移动安全, 逆向工具