OSINT через Bluetooth: как наушники, часы и смартфон выдают владельца
Если даже мемы не мешают вам спать спокойно, то вот информация к размышлению:
- Американские операционные системы умеют принудительно активировать заглушенный Bluetooth-сигнал в рамках программы трекинга COVID (да, она актуальна и в 2025 году)
- Bluetooth-наушники трех крупнейших производителей сообщают о низком сигнале уровня батареи не шифруя информацию об устройстве (да, Apple, ты тоже в этом списке)
- Инсулиновые помпы, например, Medtronic MiniMed и Dexcom G6 не верифицируют устройство, от которого принимают Bluetooth-команды, и про это давно известно.
И если вам кажется, что ваше Bluetooth-соединение достаточно приватно из-за малого радиуса и отсутствия активного соединения, то это иллюзия. Но мы не хакеры, а осинтеры. Поэтому мы не будем ничего ломать и эксплуатировать, а ответим на более простой вопрос: как много информации о человеке сообщают его Bluetooth-устройства.
Как работает Bluetooth и что такое BLE
Bluetooth использует два режима: классический (BR/EDR) и энергоэффективный BLE (Bluetooth Low Energy). Первый нужен для подключения к наушникам или передачи файлов. Второй — для постоянного вещания коротких служебных сообщений, даже без соединения.
Именно BLE и представляет интерес. Большинство современных гаджетов — от фитнес-браслетов и смарт-часов до телефонов и гарнитур — используют BLE, чтобы сообщать о себе в эфире. Эти сигналы — рекламные пакеты (advertising packets) — транслируются каждые 1–10 секунд. Они открыты, не защищены шифрованием и принимаются любым сканером Bluetooth в радиусе до 30 метров.
Что передаёт рекламный пакет
BLE-пакет содержит минимум информации, необходимой для обнаружения и первичной идентификации устройства. Его структура задаётся форматом AD Structure: тип — длина — значение. Внутри можно найти:
Имя устройства (если не скрыто).
MAC-адрес (настоящий или временный).
Manufacturer Specific Data — данные производителя.
UUID сервисов — список функций (пульс, заряд, уведомления).
RSSI — уровень сигнала, по которому можно прикинуть расстояние.
Пакеты бывают разной длины, с разными комбинациями полей, но даже самый короткий из них может содержать уникальные признаки. И хотя MAC-адрес может быть рандомизирован, другие поля остаются стабильными и позволяют отследить устройство.
Почему рандомизация MAC-адресов не спасает
Производители внедрили механизм автоматической смены MAC-адреса, чтобы усложнить слежку. В теории это должно разрывать связь между пакетами. На практике:
- Смена адреса происходит редко — раз в 15–60 минут.
- Имя устройства часто остаётся прежним: “JBL_Tune220”, “Katya_Watch”.
- Manufacturer Data не меняется вообще.
- UUID передаются в том же порядке.
- Устройства создают устойчивые связки — смартфон + часы + наушники.
AirPods передают один и тот же Manufacturer-код, даже если MAC-адрес меняется. Если рядом одновременно появляются три устройства с одинаковыми шаблонами пакетов — это уже цифровой отпечаток конкретного человека.
Поговорим о конкретных идентификаторах.
Каждое BLE-устройство может включать в рекламный пакет поле Manufacturer Specific Data. Это служебный блок, в котором первые два байта указывают идентификатор компании (например, 0x004C для Apple), а дальше идёт структура данных, определяемая производителем. Эти данные используются для внутренних целей: например, кодирования модели устройства или передачи информации для фирменных приложений. Но для OSINT они превращаются в сигнатуру (так как имеют уникальное поведение).
Например, AirPods используют фиксированную структуру, которую легко распознать по первым байтам. iBeacon — по UUID и major/minor. Mi Band разных поколений имеют отличающиеся Manufacturer Data: по первым 2–3 байтам также можно точно определить модель.А устройства Samsung и Huawei сохраняют структуру Manufacturer Data даже при смене MAC-адресов.
Если такая структура один раз зафиксирована, то её можно использовать для повторной идентификации устройства, даже если имя и MAC-адрес изменились.
Список UUID (Universally Unique Identifiers), то есть сигнатур сервисов, отражает, какие сервисы доступны на устройстве. Это может быть:
180F: Battery Service — уровень заряда.
180A: Device Information — сведения об устройстве.
180D: Heart Rate — пульс.
Производители добавляют и свои UUID. Комбинация UUID уникальна для моделей или прошивок. Например, часы с поддержкой пульса и зарядки отличаются от гарнитуры, у которой только статус батареи и идентификатор производителя.
В OSINT такие списки работают как шаблоны. Даже если MAC и имя скрыты, UUID остаются.
Когда теряются все идентификаторы, остаётся поведение. Оно предсказуемо:
- Частота передачи пакетов: раз в 1, 5 или 10 секунд.
- Условия включения, например, при разблокировке экрана, снятии с зарядки.
- Совместное появление устройств в эфире.
Каждый будний день в 8:47 три устройства с определёнными RSSI и UUID появляются одновременно. Через неделю — в том же месте, с теми же признаками. Это не случайность, а цифровой профиль владельца.
Наблюдение в реальных условиях
Bluetooth-OSINT применим в реальной среде — в транспорте, на улице, в офисах и на массовых мероприятиях. Поскольку BLE-пакеты передаются постоянно, наблюдателю не нужно вмешиваться или устанавливать соединение. Достаточно слушать эфир.
В реальности десятки BLE-устройств непрерывно транслируют свои сигналы в метро, на остановке, в торговом центре. Замечали, как глючит ваша гарнитура, когда вы проходите мимо рекламного щита? Кстати, особенно активны именно гарнитуры и браслеты. Сканер фиксирует их MAC-адреса, уровни сигнала, UUID и Manufacturer Data.
Если устройства повторяются в одном и том же месте и времени, можно выделить регулярные маршруты, группы устройств (например, “смартфон + наушники”) и даже аномалии, скажем, новое устройство среди стабильных или устройство с необычной сигнатурой. Если будет любопытно поработать с такой задачей, вот вам идея для собственного исследования: определить перечень сигнатур датчиков мониторинга уровня глюкозы в крови, которыми пользуются диабетики (а точнее, их ретрансляторов, чьи сигналы ничем не защищены).
Возьмем для примера закрытую конференцию. Участники приходят с личными гаджетами. В течение 4 часов фиксируются все рекламные пакеты в радиусе 30 метров. Используется Ubertooth One и Wireshark. Вот что вполне реально собрать:
- 1500+ MAC-адресов.
- 600 уникальных Manufacturer Data.
- 200 устройств с одинаковыми UUID.
- 70 устойчивых связок.
По времени появления и совпадению RSSI строится карта перемещений. В некоторых случаях сигнатуры совпадают с данными из соцсетей (например, опубликовано фото с настройками Bluetooth). Результат: подтверждена принадлежность устройств как минимум 10 участникам, 15 — с высокой вероятностью.
Между прочим Bluetooth сам по себе даёт много информации. Но если подключить другие источники, такая система может стать полноценным инструментом слежки и корреляции. Например, бесценными становятся Wi-Fi-сканеры, которые фиксируют MAC-адреса, поведение в сети и, очевидно, местонахождение / движение владельца.
Автоматизация анализа и сигнатуры устройств
Однако надо понимать, что сотни или тысячи пакетов вручную не обработать. Поэтому используется автоматизация: парсинг *.pcap-файлов, извлечение данных, группировка по признакам. Это позволяет строить базы сигнатур и отслеживать повторяющиеся устройства.
Для OSINTа по Bluetooth не требуются дорогое аппаратное или программное обеспечение. Всё, что нужно — это любой компьютер с установленной ОС GNU/Linux, приёмник BLE и софт для анализа. Но от качества оборудования зависит стабильность захвата и глубина анализа.
Извлечение BLE-пакетов с помощью tshark
Сначала нужен *.pcap, захваченный Wireshark или Ubertooth. Затем — извлекаем нужные поля:
Группировка по сигнатурам
Устройства группируются по Manufacturer Data и UUID:
Так формируются устойчивые цифровые отпечатки. По числу повторов, времени появления и стабильности сигнала можно оценить поведение и частоту использования.
Аппаратные средства
Ubertooth One
Открытое устройство для анализа Bluetooth-трафика. Поддерживает sniffer-режим, позволяет видеть настоящие MAC-адреса при установке соединения, фиксирует BLE-пакеты без участия системы. Пример захвата будет выглядеть так:
Файл можно открыть в Wireshark для анализа.
SDR: HackRF, BladeRF
Применяются в сложных задачах — полный спектральный захват, анализ нестандартных протоколов, радиопрофилирование. Могут ловить BLE, ZigBee и другие сигналы одновременно. Не обязательны для базового OSINT, но полезны при исследовании нестандартных устройств.
Внешние адаптеры BLE
Некоторые ноутбуки имеют ограниченный доступ к HCI-интерфейсу. Для стабильного сканирования лучше использовать внешний USB-модуль с поддержкой режима мониторинга.
Программное обеспечение
Wireshark
Наверное, самый известный инструмент для анализа трафика, в том числе поддерживает BLE, отображает поля advertising-пакетов, позволяет фильтровать по MAC, UUID, RSSI. Он будет просто необходим для ручного анализа. Например:
btmon
CLI-инструмент на Linux. Показывает живой поток HCI-событий. Подходит для быстрой проверки, но шумит — требует постобработки.
blesuite (Python)
Фреймворк для сканирования и анализа BLE. Позволяет писать скрипты, декодировать пакеты, имитировать устройства.
BlueHydra
Сканер BLE и Bluetooth Classic. Работает в паре с Ubertooth. Автоматически классифицирует устройства, собирает сигнатуры, ведёт базу.
nRF Connect (Android)
Приложение от Nordic Semiconductor. Показывает BLE-устройства, UUID, уровни сигнала, manufacturer data. Полезно для мобильных наблюдений.
Эти инструменты — лишь часть арсенала OSINT-специалиста. Если вы хотите освоить их в связке с другими методами (соцсети, геоданные), полезным будет курс "OSINT:технология боевой разведки", где разбираются реальные кейсы и тактики сбора информации
Немного про приватность BLE
Спецификация BLE предусматривает защиту приватности: временные MAC-адреса, обфускация соединений, временные UUID. Но в реальности эти меры почти не работают. Причины:
- MAC меняется редко, предсказуемо или вовсе не меняется, при этом Manufacturer Data и UUID остаются постоянными.
- Имя устройства часто передается в явном виде.
- Поведение устройства — частота, время, сочетания — на текущий момент не шифруется и даёт уникальную сигнатуру.
Согласно независимым исследователям, производители могут позволить себе нарушать рекомендации. Например, бюджетные китайские устройства вообще не реализуют рандомизацию, а некоторые меняют только последние байты MAC. Протокол GAP транслирует набор сервисов, а GATT — их структуру, и с ненулевой вероятностью эти данные будут доступны без подключения.
Пример обхода на практике
Зафиксированы два пакета:
Пакет 1
- MAC: C2:45:89:A1:23:9F
- Manufacturer: Apple (AirPods Pro)
- UUID: 180F, 180A
- RSSI: -55 dBm
- Время: 12:00:00
Пакет 2
- MAC: C2:45:89:A1:23:A2
- Manufacturer и UUID — те же
- Время: 12:03:00
- RSSI: -54 dBm
MAC-адрес разный, но всё остальное идентично, так как это одно устройство. Смена MAC не спасает, если вся остальная структура не изменена. Поэтому на сегодняшний день Bluetooth становится источником утечек, о котором забывают. BLE-протокол делает возможным пассивное наблюдение без соединения и взлома. Даже с рандомизированными MAC-адресами устройства остаются узнаваемыми по Manufacturer Data, UUID и поведению. Связки “смартфон + часы + наушники” становятся цифровыми отпечатками пользователя.
Более того, чем больше у вас Bluetooth-устройств, тем проще жизнь того, кто захочет их изучить. На данный момент для отслеживания достаточно только трех составляющих: ноутбук с Ubertooth или Android с nRF Connect, который будет выполнять роль сканера BLE, софт для анализа, например, Wireshark, и Python-скрипт для группировки.
Так что не забывайте, что приватность — это не настройка в меню, а ваше реальная и систематическая цифровая гигиена.