CVE-2023-45866漏洞全解析:Hi, My Name is Keyboard攻击演示
2026/7/22 20:51:41 网站建设 项目流程

CVE-2023-45866漏洞全解析:Hi, My Name is Keyboard攻击演示

【免费下载链接】hi_my_name_is_keyboard项目地址: https://gitcode.com/gh_mirrors/hi/hi_my_name_is_keyboard

Hi, My Name is Keyboard项目是一个专注于蓝牙安全研究的开源项目,包含了CVE-2023-45866、CVE-2024-21306和CVE-2024-0230等多个蓝牙漏洞的PoC(概念验证)脚本。本文将深入解析CVE-2023-45866漏洞的原理、影响范围及攻击演示,帮助普通用户了解蓝牙设备面临的安全风险并掌握防护方法。

什么是CVE-2023-45866漏洞?

CVE-2023-45866是一个影响多种操作系统的蓝牙键盘注入漏洞,攻击者可利用该漏洞在无需用户确认的情况下,强制将虚拟蓝牙键盘与目标设备配对并注入恶意 keystrokes。这种攻击方式被称为"Hi, My Name is Keyboard",因其利用了蓝牙设备配对过程中的安全缺陷,允许攻击者伪装成合法键盘设备。

漏洞原理简析

该漏洞的核心在于蓝牙HID(人机接口设备)协议在配对过程中的认证机制缺陷:

  • 当目标设备的蓝牙处于可发现状态时,攻击者可发送伪造的HID设备信息
  • 利用特定的配对请求序列绕过用户确认步骤
  • 成功配对后即可模拟键盘输入,执行打开浏览器、输入命令等操作

受影响的设备与系统版本

CVE-2023-45866漏洞影响范围广泛,包括多种主流操作系统和设备:

移动设备

  • Android:4.2.2至14版本(2023年12月5日安全补丁前)
    • Pixel 6/7/8系列已修复,Pixel 5及更早机型仍受影响
  • iOS:16全版本(无修复计划),17.0-17.1版本(17.2已修复)

桌面系统

  • Linux:使用BlueZ 5的主流发行版(Ubuntu、Debian、Fedora等)
    • 2023年12月前后的补丁已修复该漏洞
  • macOS:12、13全版本(无修复计划),14.0-14.1版本(14.2已修复)
  • Windows:存在类似漏洞,详细信息可参考windows-report.md

漏洞攻击演示

Linux系统攻击演示

在Linux系统中,当蓝牙设置面板打开时,设备通常处于可发现和可连接状态,这为攻击提供了机会。攻击者可使用keystroke-injection-android-linux.py脚本实施攻击:

攻击步骤
  1. 攻击者运行PoC脚本,指定目标设备蓝牙地址和本地蓝牙接口
    ./keystroke-injection-android-linux.py -i hci1 -t 58:28:39:E6:AE:1C
  2. 脚本自动配置蓝牙适配器,模拟合法键盘设备
  3. 绕过配对确认流程,成功建立连接
  4. 注入Tab键击10秒钟,干扰用户正常操作

macOS系统攻击演示

macOS的攻击利用了Magic Keyboard与Mac配对的时机窗口,当用户拔下已配对的Magic Keyboard时,Mac会尝试重新连接蓝牙键盘,此时攻击者可伪装成目标键盘:

攻击特点
  • 需要精准把握Mac尝试连接键盘的时机
  • 可注入更复杂的指令,如打开浏览器并执行搜索
  • 利用keystroke-injection-macos.py脚本实现
    ./keystroke-injection-macos.py -i hci1 -t 50:DE:06:A8:E1:CA -k 1C:57:DC:88:55:02

如何检测与防护?

漏洞检测方法

  1. 检查系统版本:确认设备是否在受影响版本范围内
  2. 安全补丁状态
    • Android:检查"设置 > 安全 > 安全更新"
    • iOS/macOS:检查"设置 > 通用 > 软件更新"
    • Linux:运行sudo apt update && sudo apt upgrade检查安全更新

实用防护措施

日常使用建议
  • 关闭不必要的蓝牙:不使用蓝牙时及时关闭
  • 谨慎配对设备:只配对信任的设备,及时删除不再使用的配对
  • 注意蓝牙可见性:在公共场合避免设置为"对所有人可见"
系统加固方法
  • 启用蓝牙安全模式:部分设备支持"仅配对设备可连接"选项
  • 安装安全更新:及时应用系统厂商发布的安全补丁
  • 使用USB键盘:在高安全需求场景下,优先使用有线连接

漏洞PoC脚本解析

项目提供了多个平台的漏洞验证脚本,主要包括:

核心注入脚本

  • keystroke-injection-android-linux.py:适用于Android和Linux系统
  • keystroke-injection-macos.py:针对macOS系统
  • keystroke-injection-ios.py:iOS设备专用脚本

依赖安装

所有脚本需要在Ubuntu 22.04环境下运行,依赖安装命令:

# 更新系统 sudo apt-get update && sudo apt-get -y upgrade # 安装基础依赖 sudo apt install -y bluez-tools bluez-hcidump libbluetooth-dev \ git gcc python3-pip python3-setuptools python3-pydbus # 安装pybluez git clone https://github.com/pybluez/pybluez.git cd pybluez && sudo python3 setup.py install

总结与展望

CVE-2023-45866漏洞揭示了蓝牙设备在配对认证机制上的根本性安全缺陷,这种"零点击"攻击方式对普通用户构成了严重威胁。虽然主流操作系统已发布补丁,但大量旧设备仍处于风险之中。

作为用户,我们应提高蓝牙安全意识,采取必要的防护措施;作为开发者,需重新审视蓝牙设备的认证流程。未来随着物联网设备的普及,蓝牙安全将面临更大挑战,需要行业共同努力构建更安全的无线连接生态。

通过Hi, My Name is Keyboard项目提供的PoC脚本,安全研究者可以更深入地理解蓝牙漏洞原理,推动更安全的蓝牙协议实现。普通用户也能通过本文了解漏洞风险,保护自己的设备安全。

【免费下载链接】hi_my_name_is_keyboard项目地址: https://gitcode.com/gh_mirrors/hi/hi_my_name_is_keyboard

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询