Сегодня Bluetooth встроен практически во все наши гаджеты. К ним относятся компьютеры, смартфоны, iPod, планшеты, колонки, игровые контроллеры и многие другие устройства. Умение взламывать Bluetooth поможет компрометировать любую информацию на Bluetooth-устройстве (фотографии, электронные письма, текст), управлять этим устройством и присылать на него нежелательную информацию.
Однако прежде чем взламывать Bluetooth, нам нужно понять его технологию и те средства безопасности, которые в него встроены. В этой короткой статье не будет глубокого анализа Bluetooth, но вот базовые знания, которые вам весьма могут пригодиться, да.
Основы Bluetooth
Bluetooth является универсальным протоколом малой мощности. Это ближняя полевая связь, работающая на частоте в диапазоне от 2,4 до 2,485 ГГц, которая использует расширенный спектр, скачкообразную перестройку частоты до 1600 переходов в секунду (такие частотные скачки обуславливаются предпринимаемыми мерами безопасности). Этот протокол был разработан в 1994 году шведской компанией Ericsson Corp. и назван в честь Короля Дании 10-го века (Швеция и Дания были одной страной в 10 веке) Харальда Синезубого (Harald Bluetooth).
Минимальная спецификация для диапазона Bluetooth составляет 10 метров, но ограничений на диапазон покрытия, который производители могут реализовать на своих устройствах, не существует. Многие устройства имеют диапазон покрытия до 100 метров. С помощью специальных антенн мы можем расширить данный диапазон еще дальше.
Когда два устройства Bluetooth подключаются друг к другу, это называется сопряжением (pairing). Практически любые два Bluetooth-устройства могут подключаться друг к другу. Любое обнаруживаемое Bluetooth-устройство передает следующую информацию:
- Имя
- Класс
- Список сервисов
- Техническая информация
Далее они обмениваются pre-shared секретным ключом или ключом-ссылкой. Каждое устройство хранит этот ключ, для идентификации «партнерского» устройства в будущем.
У каждого устройства есть уникальный 48-битный идентификатор (похожий на MAC-адрес) и обычно назначенное производителем имя.
Ниже приведена схема процесса сопряжения Bluetooth. Хотя в последние годы этот протокол стал более защищенным, он все-таки по-прежнему уязвим.
Bluetooth-устройства создают так называемую пикосеть или очень маленькую сеть. В пикосети есть один мастер и до семи активных подчиненных. Поскольку Bluetooth использует скачкообразную перестройку частоты (частоты изменяются до 1600 раз в секунду), то коммуникация этих устройств не мешает друг другу, поскольку шансы двух устройств использовать одну и ту же частоту чрезвычайно малы.
Основные инструменты Bluetooth для Linux
Для Linux реализация Bluetooth-протокола воплощена в BlueZ. В большинстве дистрибутивов Linux он установлен по умолчанию. Если у вас его нет, можете найти его в репозиториях вашего дистрибутива. В нашей Kali Linux, как и следовало ожидать, он устанавливается по умолчанию.
BlueZ имеет ряд простых инструментов, которые можно использовать для управления и, в конечном итоге, взламывания Bluetooth. К ним относятся:
hciconfig — этот инструмент работает очень похоже на ifconfig в Linux, за исключением того, что он работает с Bluetooth-устройствами. Как видно на скриншоте ниже, вначале мы использовали его, чтобы открыть интерфейс Bluetooth (hci0), а потом для того, чтобы запросить с устройства его спецификацию.
hcitool — инструмент, с помощью которого можно выполнять запросы. Он может предоставить нам имя устройства, идентификатор, класс и часы устройства.
hcidump — этот инструмент позволяет проводить сниффинг Bluetooth-трансляций.
Стек протокола Bluetooth
Стек протокола Bluetooth выглядит следующим образом:
Bluetooth-устройства не должны использовать все протоколы в стеке (например, стек TCP/IP). Стек Bluetooth разработан для использования Bluetooth различными приложениями связи. Как правило, приложение будет использовать только один вертикальный срез отображенного на картинке стека. Уровень Bluetooth-протокола и связанные с ним протоколы перечислены ниже.
Основные сетевые протоколы Bluetooth: LMP, L2CAP, SDP
Протокол замены кабелей: RFCOMM
Протокол управления телефонией: двоичные коды TCS, AT-команды
Адаптированные протоколы: PPP, UDP/TCP/IP, OBEX, WAP, vCard, vCal, IrMC, WAE
В дополнение к уровням протокола спецификация Bluetooth также определяет интерфейс хост-контроллера (HCI). Это обеспечивает командный интерфейс для контроллера основной полосы частот, диспетчера ссылок и доступа к регистрам состояния оборудования и управления, а следовательно, к таким инструментам, как hciconfig, hcidump и hcitool.
Безопасность Bluetooth
Безопасность Bluetooth основана на нескольких методах. Во-первых, скачкообразная перестройка частоты. И мастер и подчиненный знают алгоритм скачкообразной перестройки частоты, но внешнее устройство этого не делает. Во-вторых, устройства при сопряжении друг с другом обмениваются pre-shared ключами, которые используются для аутентификации и шифрования (128 бит). Для Bluetooth существует три режима безопасности. Вот они:
Режим безопасности 1: нет активной защиты.
Режим безопасности 2: безопасность на уровне обслуживания. Централизованный менеджер безопасности обрабатывает аутентификацию, настройку и авторизацию. Этот уровень защиты может не активироваться пользователем. Здесь нет слоя безопасности на уровне устройства.
Режим безопасности 3: Безопасность на уровне устройства. Аутентификация и шифрование осуществляются на основе секретного ключа. Этот слой всегда включен. Он обеспечивает безопасность для низкоуровневого соединения.
Инструменты для взлома Bluetooth в Kali
У нас есть ряд инструментов, которые мы можем использовать для взлома Bluetooth, которые встроены в Kali.
К примеру:
Bluelog — инструмент для опросов bluetooth. Он сканирует окружающее пространство в поисках Bluetooth-устройств, а затем записывает все найденные в файл.
Blueranger — простой Python-скрипт, который использует пинг i2cap для поиска Bluetooth-устройств и определения приблизительных расстояний до них.
Btscanner — этот инструмент с графическим интерфейсом сканирует обнаруженные устройства в радиусе покрытия.
Redfang — позволяет найти скрытое Bluetooth-устройство.
Spooftooph — используется для спуфинга Bluetooth.
Некоторые Bluetooth-атаки
Blueprinting — процесс сбора «отпечатков пальцев» (сигнатур устройств).
Bluesnarfing — эта атака собирает данные с Bluetooth-устройств. Это может включать в себя SMS-сообщения, информацию календаря, фотки, телефонную книгу и чаты.
Bluebugging — хакер способен контролировать телефон цели. Для этой цели Bloover был разработан как инструмент POC.
Bluejacking — злоумышленник отправляет «визитную карточку» (текстовое сообщение), и в случае если пользователь добавляет его в свой список контактов, позволяет злоумышленнику продолжать отправлять дополнительные сообщения.
Bluesmack — DoS-атака на Bluetooth-устройствах.
Теперь, когда есть базовое понимание терминологии Bluetooth, технологий и безопасности, можно начинать изучать способы взлома Bluetooth.