Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-0073 — 针对 Android adbd 无线调试 TLS 认证绕过的概念验证漏洞利用,利用 EC/RSA 密钥类型不匹配来获取未经认证的远程 shell。 | Kitploit
工具/GitHubGitHub/umarrehmansiddiqui/cve-2026-0073
Android安全漏洞分析漏洞利用Web应用程序漏洞利用密码学移动安全身份验证远程访问工具
GitHubumarrehmansiddiqui/cve-2026-0073

CVE-2026-0073

针对 Android adbd 无线调试 TLS 认证绕过的概念验证漏洞利用,利用 EC/RSA 密钥类型不匹配来获取未经认证的远程 shell。

查看仓库
11天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-0073:Android 无线调试(adbd)身份验证绕过

免责声明: 本概念验证(PoC)严格仅供教育和经授权的安全研究目的使用。未经授权访问计算机系统是违法的。在对任何设备或网络进行测试之前,请务必确保您已获得明确许可。

📖 理解该漏洞(适合初学者)

Android 设备具有一项名为无线调试的功能,它允许开发者通过 Wi-Fi 连接到设备,而无需使用 USB 数据线。为确保此连接的安全性,设备使用 TLS 加密,并要求连接的计算机使用加密密钥来证明其身份。

缺陷在哪里? 当计算机发起连接时,Android 守护进程(adbd)会检查该计算机的密钥是否与任何先前已授权的密钥相匹配。它使用一个内置的数学函数(EVP_PKEY_cmp)来完成此操作,该函数返回以下三个数字之一:

  • 1 表示:“密钥完全匹配。”
  • 0 表示:“密钥不匹配。”
  • -1 表示:“错误:密钥是完全不同的类型(例如,将 RSA 密钥与 EC 密钥进行比较)。”

该漏洞: 程序员编写了一个简单的检查:if (result) { grant_access(); }。 在编程中,1 和 -1 都被视为“真”。因此,如果攻击者故意发送一种完全不同类型的密钥(例如,发送椭圆曲线密钥而非预期的 RSA 密钥),该函数会返回 -1(一个错误)。有缺陷的代码看到 -1,便认为它表示“真”,于是仍然授予了完全访问权限。

结果: 同一 Wi-Fi 网络上的攻击者可以完全绕过身份验证,在无需原始配对密钥的情况下获得设备的远程 shell,并且用户不会看到任何批准提示。


⚠️ 前提条件

要使此漏洞利用生效,目标 Android 设备必须满足两个条件:

  1. 在开发者选项中必须启用无线调试。
  2. 该设备之前必须至少与一台计算机进行过配对。(该漏洞利用依赖于设备密钥库中已存在一个 RSA 密钥,以触发类型不匹配漏洞)。

攻击机要求

此脚本需要 Python 3 和 cryptography 库,以便即时生成临时证书。

您可以使用 apt(在 Debian/Ubuntu/Kali 上)或 pip 安装所需的库:

使用 apt(Linux 推荐):

sudo apt update
sudo apt install python3-cryptography

使用 pip(跨平台):

pip3 install cryptography

🔍 查找目标端口

与 USB 调试不同,Android 在每次设备重启或 Wi-Fi 网络变化时,都会为无线调试分配一个随机的高位端口。

如果你不知道当前端口,可以使用 nmap 轻松扫描到它。无线调试端口通常位于 30000 到 50000 之间。

运行以下命令,将 <hostname> 替换为目标设备的 IP 地址:

nmap -Pn -p T:30000-50000 <hostname>

如何阅读输出: 查找显示为 open 的端口。例如:

PORT      STATE SERVICE
41234/tcp open  unknown

在此示例中,41234 是您将在下一步中使用的端口。


🚀 使用方法

一旦您获得了目标主机名/IP 和正确的端口,就可以运行该漏洞利用程序。

1. 交互式 Shell

要打开一个完整的交互式远程 shell(类似于 SSH):

python3 adb_bypass.py <hostname> <port>

示例:

python3 adb_bypass.py 192.168.1.50 41234

连接后,你将进入 shell 用户提示符。按 Ctrl+C 退出。

2. 执行单条命令

如果你只想运行特定命令并查看输出,而不进入交互式 shell,请使用 --cmd 标志:

python3 adb_bypass.py <hostname> <port> --cmd "id"

3. 详细模式

如需查看底层网络流量和握手细节以进行调试或研究,请附加 -v 标志:

python3 adb_bypass.py <hostname> <port> -v

🛠️ 工作原理(技术摘要)

  1. 明文协商: 脚本连接到目标的 TCP 端口,并交换初始的 CNXN 和 STLS 数据包,以就 TLS 升级达成一致。
  2. 临时证书生成: 脚本使用 cryptography 库,在内存中生成一个临时 EC P-256 私钥和一个自签名 X.509 证书。
  3. TLS 1.3 升级: 脚本将套接字升级到 TLS 1.3,并向 Android 设备出示该 EC 证书。
  4. 触发漏洞: 设备尝试将该 EC 证书与其存储的 RSA 密钥进行比较。EVP_PKEY_cmp 返回 -1,if (cmp) 检查结果为真,设备便将连接标记为已授权。
  5. TLS 后利用: 脚本排空 TLS 握手后的数据包,并立即使用较大的 delayed_ack 窗口打开一个 shell: 流,从而获得未经身份验证的远程 shell。

下载工具