- Как взломать Bluetooth, Часть 1: термины, технологии и безопасность
- Основы Bluetooth
- Основные инструменты Linux для работы с Bluetooth
- Стек протоколов Bluetooth
- Безопасность Bluetooth
- Инструменты для взлома Bluetooth в Kali
- Некоторые атаки на Bluetooth
- #56 Kali Linux для продвинутого тестирования на проникновение. WPA3. Bluetooth-атаки.
Как взломать Bluetooth, Часть 1: термины, технологии и безопасность
Эта новая серия, посвящённая взлому Bluetooth, была написана под впечатлением от недавнего эпизода «Мистера Робота» (моего любимого ТВ-сериала). В эпизоде 6 Эллиот взломал bluetooth-клавиатуру полицейского участка, чтобы получить доступ к системе безопасности тюрьмы и освободить своего заклятого врага Веру. Это лишь один из многих взломов, которые мы рассмотрим на протяжении данной серии статей.
Сегодня Bluetooth встроен почти во все наши гаджеты. Им оборудованы компьютеры, смартфоны, плееры iPod, планшеты, наушники, игровые контроллеры и многие другие устройства. В этом цикле статей мы сосредоточим внимание на взломе мобильных устройств, планшетов и телефонов, поскольку они являются наиболее частой целью хакеров. Возможность взлома Bluetooth может подвергнуть опасности любую информацию, хранящуюся на устройстве (фотографии, электронные письма, тексты и так далее). Кроме этого злоумышленник сможет получить контроль над устройством и отправлять на него нежелательные данные.
Но прежде чем мы приступим к взлому 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
Система безопасности Bluetooth базируется на нескольких техниках. Во-первых, скачкообразном изменении частоты. Алгоритм изменения частоты известен как главному, так и вспомогательному устройству, но не третьим лицам. Во-вторых, секретный ключ, обмен которым происходит при сопряжении. Он используется для аутентификации и шифрования (128-разрядного). Существует три режима безопасности Bluetooth. Вот они:
- Режим безопасности 1: Активная защита отключена.
- Режим безопасности 2: Защита на уровне сервисов. Аутентификацией, конфигурацией и авторизацией занимается централизованный менеджер безопасности. Не может быть активирован пользователем. Защита на уровне устройства отсутствует.
- Режим безопасности 3: Защита на уровне устройства. Аутентификация и шифрование на основе секретного ключа. Всегда включён. Принудительно активирует защиту для низкоуровневых подключений.
Инструменты для взлома Bluetooth в Kali
В Kali встроено несколько инструментов для взлома Bluetooth, которые мы будем использовать на протяжении этого цикла руководств. Кроме этого, нам придётся скачать и установить другие инструменты. Чтобы ознакомиться со списком установленных инструментов для работы с Bluetooth, откройте Приложения -> Kali Linux -> Беспроводные атаки -> Инструменты Bluetooth.
Здесь вы найдёте несколько инструментов для выполнения атак на Bluetooth. Давайте кратко рассмотрим каждый из них.
- Bluelog: Инструмент для обнаружения устройств bluetooth. Он сканирует окружающее пространство в поисках видимых устройств и заносит их в файл.
- Bluemaho: Набор инструментов с графическим интерфейсом для тестирования безопасности Bluetooth устройств.
- Blueranger: Простой скрипт, написанный на Python, который использует i2cap сигналы для обнаружения Bluetooth устройств и определения примерного расстояния до них.
- Btscanner: Этот инструмент, обладающий графическим интерфейсом, сканирует видимые устройства в пределах рабочего диапазона.
- Redfang: Этот инструмент позволяет нам находить скрытые Bluetooth устройства.
- Spooftooph: Это инструмент для спуфинга Bluetooth.
Некоторые атаки на Bluetooth
- Blueprinting: Процесс футпринтинга (получения карты сети).
- Bluesnarfing: Эта атака крадёт данные с устройства, поддерживающего Bluetooth. К ним относятся SMS, текстовые сообщения, информация календаря, изображения, адресная книга и чаты.
- Bluebugging: Атакующий получать полный контроль над телефоном цели. Для автоматического исполнения этой атаки было разработано приложения Bloover.
- Bluejacking: Атакующий отправляет жертве «визитку» (текстовое сообщение). Если пользователь добавит её в свой список контактов, злоумышленник получит возможность отправлять дополнительные сообщения.
- Bluesmack: DoS атака против устройств Bluetooth.
Ждите следующей статьи, мои начинающие хакеры =) Источник
#56 Kali Linux для продвинутого тестирования на проникновение. WPA3. Bluetooth-атаки.
Хотя принятие третьего поколения WPA (WPA3) было введено в январе 2018 г., на замену WPA2, для устранения недостатков WPA2, он не получил широкого распространения. Этот стандарт использует 192-битную криптографическую стойкость, а WPA3-Enterprise работает с AES-256 в режиме GCM с SHA-384 (алгоритм безопасного хеширования), в качестве кода аутентификации сообщения на основе хэша (HMAC), и по-прежнему требует использования CCMP-128 (сообщение о цепочке блоков шифрования в режиме счетчика), который представляет собой AES-128 (американский стандарт шифрования) в режиме CCM и используется как минимальный алгоритм шифрования в WPA3-Personal.
В отличие от предварительного общего ключа WPA2 (PSK), WPA3 использует одновременную аутентификацию (SAE), также известный как Dragonfly. Одна довольно интересная статья, написанная Мэти Ванхоф (https://papers.mathyvanhoef.com/usenix2021.pdf) описывает недостатки дизайна стандарта IEEE 802.11 в отношении фрагментации кадров, агрегации и атак Forge. Хотя доступных эксплойтов нет, есть проблемы, связанные с WPA3-Personal и протоколом аутентификации SAE, который он использует.
Bluetooth-атаки
В прошлом, казино было взломано с помощью термометра в аквариуме, что показывает важность защиты устройств, являющихся частью Интернета вещей (IoT). Bluetooth не исключение, и устройства Bluetooth Low Energy (BLE) широко используются потребителями и корпорациями, следовательно, злоумышленникам важно понимать, как их исследовать и атаковать.
Важными частями уровней протокола Bluetooth являются следующие:
• Протокол управления логическим каналом и адаптации (L2CAP): обеспечивает интерфейс данных между протоколами данных высокого уровня и приложениями.
• Протокол радиочастотной связи (RFCOMM): эмулирует функции для интерфейсов последовательной связи, таких как EIA-RS-232 на компьютере.
Bluetooth имеет три режима безопасности:
• Режим безопасности 1 – это небезопасный режим, встречающийся в старых моделях телефонов/устройств.
• Режим безопасности 2 — в этом режиме обеспечивается безопасность на уровне обслуживания; например, некоторый доступ требует авторизации и аутентификации, для подключения и использования службы.
• Режим безопасности 3 — в этом режиме обеспечивается безопасность на уровне канала, в то время как сам Bluetooth использует доверенные и недоверенные устройства. В Kali Linux предварительно установлены драйверы устройств (BlueZ, набор инструментов для управления Bluetooth устройств), для поддержки устройств Bluetooth. Подобно использованию iwconfig для идентификации беспроводных адаптеров, мы используем sudo hciconfig -a в терминале, чтобы убедиться, что наши устройства Bluetooth подключены и активны. При выполнении этой команды, Вы должны увидеть информацию о конфигурации для hci0 или hci1 адаптера или оба, как показано на рисунке ниже:
Следующим шагом будет выполнение разведки любых доступных Bluetooth-устройств в радиусе действия, с помощью запуска команды sudo hcitool scan в терминале. Это должно вывести нам список устройств, с которыми наш адаптер может связаться и получить ответы, как показано на рисунке ниже:
Подобно Wireshark, злоумышленники также могут использовать инструмент hcidump, для дальнейшей отладки пакетов, которые отправлены и получены устройствами.
Теперь, когда у нас есть целевые устройства, следующим шагом будет определение того, какой тип служб они используют, и поддерживают. Этого можно добиться, используя sdptool, предварительно установленный вместе с Kali. Следующая команда предоставляет нам список сервисов, которые поддерживает целевое устройство, как показано на рисунке ниже: