Статья Как взломать Bluetooth, Часть 1: термины, технологии и безопасность
Содержание:
- Основы Bluetooth
- Основные инструменты Linux для работы с Bluetooth
- Стек протоколов Bluetooth
- Безопасность Bluetooth
- Инструменты для взлома Bluetooth в Kali
- Некоторые атаки на Bluetooth
Приветствую вас, мои начинающие хакеры !
Эта новая серия, посвящённая взлому Bluetooth, была написана под впечатлением от недавнего эпизода «Мистера Робота» (моего любимого ТВ-сериала). В эпизоде 6 Эллиот взломал bluetooth-клавиатуру полицейского участка, чтобы получить доступ к системе безопасности тюрьмы и освободить своего заклятого врага Веру. Это лишь один из многих взломов, которые мы рассмотрим на протяжении данной серии статей.
Сегодня Bluetooth встроен почти во все наши гаджеты. Им оборудованы компьютеры, смартфоны, плееры iPod, планшеты, наушники, игровые контроллеры и многие другие устройства. В этом цикле статей мы сосредоточим внимание на взломе мобильных устройств, планшетов и телефонов, поскольку они являются наиболее частой целью хакеров. Возможность взлома Bluetooth может подвергнуть опасности любую информацию, хранящуюся на устройстве (фотографии, электронные письма, тексты и так далее). Кроме этого злоумышленник сможет получить контроль над устройством и отправлять на него нежелательные данные.
Но прежде чем мы приступим к взлому Bluetooth, нам нужно понять эту технологию и её термины, а так же разобраться с системой безопасности, использующейся в Bluetooth, если мы хотим добиться своей цели. В краткой публикации вроде этой, я не могу передать вам все сведения о Блютуз, но поделюсь базовыми знаниями, которые вы сможете использовать в последующих руководствах/взломах.
Bluetooth – универсальный протокол с низким энергопотреблением для связи ближнего действия, работающий в диапазоне 2,4-2,485 ГГц расширенного спектра. При этом несущая частота сигнала скачкообразно меняется со скоростью 1600 скачков в секунду (это сделано в целях безопасности). Он был разработан в 1994 году шведской компанией Ericsson и назван в честь короля Дании Харальда Синезубого, правившего в X веке (Дания и Швеция тогда были единой страной).
Минимальной рабочей дистанцией Bluetooth является 10 метров, но производители ничем не ограничены и могут изменять характеристику дальности работы в своих устройствах. Многие устройства способны общаться, даже если находятся на расстоянии 100 метров друг от друга. Воспользовавшись специальными антеннами, мы можем ещё сильнее расширить рабочий диапазон.
Процесс соединения двух Bluetooth устройств называется сопряжением. Почти любые два устройства, поддерживающие Блютуз, могут подключиться друг к другу. Все видимые устройства Bluetooth транслируют следующую информацию:
- Имя
- Класс
- Список сервисов
- Техническую информацию
При сопряжении устройства обмениваются совместно используемым секретным ключом связи. Каждое из них хранит этот ключ для идентификации другого, во время будущих сопряжений.
Каждое устройство имеет уникальный 48-разрядный идентификатор (наподобие MAC адреса), а также имя, назначенное производителем.
Вот диаграмма процесса сопряжения Bluetooth. Хотя за последние годы его защита усилилась, он остаётся уязвимым, что мы и продемонстрируем в будущих руководствах этого цикла.
Bluetooth устройства создают так называемую пикосеть или очень маленькую сеть. В пикосети может существовать одно главное и до семи активных вспомогательных устройств. Поскольку Bluetooth скачкообразно изменяет частоту сигнала (1600 раз в секунду), эти устройства не мешают друг другу, ведь шансы того, что два устройства будут одновременно использовать одну и ту же частоту, очень малы.
Основные инструменты Linux для работы с Bluetooth
Реализация стек протоколов Bluetooth в Linux называется 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 Binary, AT-commands
- Заимствованные протоколы: PPP, UDP/TCP/IP, OBEX, WAP, vCard, vCal, IrMC, WAE
В дополнение к слоям протоколов, спецификация Bluetooth также определяет интерфейс хост-контроллер (HCI). Он обеспечивает командный интерфейс для связи с контроллером базовой полосы, менеджер канала связи, а также доступ к данным о состоянии оборудования и управляющим регистрам. Отсюда и названия вышеприведённых инструментов: hciconfig, hcidump и hcitool.
Система безопасности Bluetooth базируется на нескольких техниках. Во-первых, скачкообразном изменении частоты. Алгоритм изменения частоты известен как главному, так и вспомогательному устройству, но не третьим лицам. Во-вторых, секретный ключ, обмен которым происходит при сопряжении. Он используется для аутентификации и шифрования (128-разрядного). Существует три режима безопасности Bluetooth. Вот они:
- Режим безопасности 1: Активная защита отключена.
- Режим безопасности 2: Защита на уровне сервисов. Аутентификацией, конфигурацией и авторизацией занимается централизованный менеджер безопасности. Не может быть активирован пользователем. Защита на уровне устройства отсутствует.
- Режим безопасности 3: Защита на уровне устройства. Аутентификация и шифрование на основе секретного ключа. Всегда включён. Принудительно активирует защиту для низкоуровневых подключений.
Инструменты для взлома Bluetooth в Kali
В Kali встроено несколько инструментов для взлома Bluetooth, которые мы будем использовать на протяжении этого цикла руководств. Кроме этого, нам придётся скачать и установить другие инструменты. Чтобы ознакомиться со списком установленных инструментов для работы с Bluetooth, откройте Приложения -> Kali Linux -> Беспроводные атаки -> Инструменты Bluetooth.
Источник
Статья Как взломать Bluetooth, Часть 3: Разведка
С возвращением, мои начинающие хакеры!
Красота взлома Bluetooth в том, что он даёт вам открытое окно в мир своей жертвы. Сейчас практически каждое устройство поддерживает Bluetooth, и люди хранят очень много личной информации на своих телефонах и планшетах. Если мы сможем взломать их Bluetooth подключение, то получим доступ ко всей информации, хранящейся на устройстве!
Конечно, чтобы взломать Bluetooth, нужно находиться в непосредственной близости от устройства. Как я уже упоминал в своём руководстве по терминам, технологиям и безопасности, минимальная рабочая дистанция протокола Bluetooth составляет 10 метров (32 фута). Что касается максимальной дистанции, воспользовавшись специальными адаптерами, мы можем увеличить её до 100 метров (320 футов). Этого должно быть достаточно для охвата кофейни, классной комнаты, вашего офиса или даже соседского дома.
Важность разведки при взломе Bluetooth
Разведка является одним из важнейших элементов любой атаки, будь то военная операция или взлом компьютерной системы. Без хорошей разведки, ваши шансы на успех существенно снижаются, а в некоторых случаях вообще стремятся к нулю. Вероятность успеха во всех случаях увеличивается экспоненциально, по мере того, как вы узнаёте о своей цели больше. Поэтому, в данном руководстве я обсужу несколько способов получения информации о потенциальной цели.
Прежде чем мы продолжим, я настоятельно рекомендую вам познакомиться с терминами, технологиями и системой безопасности Bluetooth, а также электронным ключом MultiBlue – специальным инструментом для взлома Bluetooth. Хотя для использования MultiBlue вам необходим физический доступ к устройству, этот ключ демонстрирует, что вы можете сделать при наличии информации и инструментов.
Использование Bluez для разведки Bluetooth
BlueZ – стандартный стек протоколов Bluetooth, присутствующий почти во всех версиях Linux, включая Kali Linux, построенную на базе Debian. До недавнего времени, BlueZ также являлся стандартным стеком протоколов Bluetooth на Mac OS X и Android.
Эта реализация протокола Bluetooth включает множество встроенных инструментов, которые мы можем использовать для разведки. А поскольку они входят в состав почти любого дистрибутива Linux, ими может воспользоваться любой из вас (вдобавок к этому, мы применим другие инструмент для работы с Bluetooth, присутствующие в Kali).
Шаг 1: Запустите Kali
Для начала, давайте запустим Kali и откроем командную строку. Надеюсь вам ясно, что нам потребуется Bluetooth адаптер, совместимый с Linux, чтобы продолжить работу.
Шаг 2: Используйте Hciconfig, чтобы включить свой Bluetooth адаптер
Проверьте, распознаёт ли система ваш Bluetooth адаптер, и включите его. Это можно сделать с помощью встроенного в BlueZ инструмента под названием hciconfig:
Как вы можете видеть на этом скриншоте, у нас есть Bluetooth адаптер с MAC адресом 10:AE:60:58:F1:37. Стек протоколов Bluetooth дал ему имя «hci0». Теперь, давайте убедимся, что он активен:
Отлично, hci0 включён и готов к работе!
Шаг 3: Сканирование устройств Bluetooth с помощью Hcitool
Стек BlueZ также включает несколько отличных инструментов командной строки для поиска Bluetooth устройств. Они входят в состав hcitool. Сначала, давайте воспользуемся функцией сканирования, чтобы найти устройства Bluetooth, транслирующие свой сигнал (находящиеся в режиме обнаружения). Введите:
На скриншоте выше видно, что нам удалось найти два устройства: ANDROID BT и SCH-I535. Теперь давайте воспользуемся командой запроса (inq) в hcitool, чтобы собрать о них больше информации:
Стоит отметить, что к этим данным также относится смещение часов и класс. Класс указывает на тип Bluetooth устройства. Со списком кодов вы можете ознакомиться на странице «Обнаружение сервисов» сайта Bluetooth SIG. Либо, как мы увидим в дальнейшем, некоторые инструмент сделают эту работу за нас.
Hcitool – мощный интерфейс командной строки для стека Bluetooth, обладающий широким функционалом. На скриншоте выше вы можете видеть некоторые из команд, которые он способен выполнять. Многие из инструментом для взлома Bluetooth, с которыми мы будем работать в будущих руководствах, попросту используют эти команды в своих скриптах. С их помощью вы можете создать и собственный инструмент.
Шаг 4: Сканирование сервисов с помощью Sdptool
Протокол обнаружения сервисов (SDP) – это протокол Bluetooth для поиска сервисов. В BlueZ есть инструмент под названием sdptool, способный просматривать устройство в поисках предоставляемых сервисов. Его можно использовать следующей командой:
Здесь мы видим, что этому инструмент удалось получить информацию обо всех сервисах, которые может использовать устройство.
Шаг 5: Проверьте, отвечают ли они на L2ping
Теперь, когда у нас есть MAC адреса всех ближайших устройств, мы можем пропинговать их, чтобы узнать, находятся ли они в режиме обнаружения и в пределах нашей рабочей дистанции.
Как видите, устройство с MAC адресом 76:6F:46:65:72:67 находится в режиме обнаружения и расположено в пределах нашей зоны досягаемости.
Шаг 6: Сканирование Bluetooth устройств с помощью BTScanner
Если вам удобнее работать с инструментом, обладающим графическим интерфейсом, в Kali есть BTScanner. Просто введите:
После этого на экране появится рудиментарный графический интерфейс со списком команд в нижней части. Чтобы начать сканирование, нажмите на клавишу «i» на своей клавиатуре. В нашем случае BTScanner нашёл те же два устройства, которые показал hcitool, а также ещё одно под названием MINIJAMBOX.
Чтобы собрать больше информации об устройстве, наведите на него курсор мыши и нажмите Enter на клавиатуре. Утилита покажет всю известную информацию об этом устройстве, так же, как sdptool.
В данном случае, это информация об устройстве SCH-I535. Обратите внимание, что инструмент определил класс этого устройства как «Телефон/Смартфон», расшифровав код 0x5a020c.
Шаг 7: Сниффинг Bluetooth с помощью BlueMaho
В Kali имеется ещё один инструмент, который можно использовать для сканирования Bluetooth. Он называется BlueMaho и является встроенной утилитой для сканирования/взлома Bluetooth. Здесь мы воспользуемся им только для сканирования. Для запуска элегантного графического интерфейса BlueMaho, введите:
На экране вашего компьютера появится окно, как на скриншоте ниже. Я нажал на ссылку «получить информацию SDP», а затем на кнопку воспроизведения слева. BlueMaho запустил сканирование видимых устройств, и, как и другие инструменты, нашёл два Bluetooth устройства.
В нижнем окне BlueMaho отображает подробную информацию о найденных устройствах. Я скопировал эти данные и поместил их в тестовый файл, чтобы их было проще читать:
Обратите внимание, что инструмент показывает имя первого устройства «MINIJAMBOX», а затем описывает его как «Аудио/Видео, Профиль гарнитуры». Второе устройство называется «SCH-I535», и, как нам уже известно, относится к типу «Телефон/Смартфон».
Теперь нам известно, как собирать информацию об устройствах Bluetooth в пределах нашей зоны досягаемости. В будущих руководствах мы приступим к их взлому с использованием собранных данных. До встречи, мои начинающие хакеры !
- Как взломать Bluetooth, Часть 1: термины, технологии и безопасность
- Как взломать Bluetooth, Часть 2: Использование MultiBlue для управления любым мобильным устройством
Источник