- Как взломать Bluetooth, Часть 1: термины, технологии и безопасность
- Основы Bluetooth
- Основные инструменты Linux для работы с Bluetooth
- Стек протоколов Bluetooth
- Безопасность Bluetooth
- Инструменты для взлома Bluetooth в Kali
- Некоторые атаки на Bluetooth
- Saved searches
- Use saved searches to filter your results more quickly
- License
- its0x08/blue-deauth
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- About
Как взломать 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.
Ждите следующей статьи, мои начинающие хакеры =) Источник
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
A simple script that makes possible BLE deauthentication!
License
its0x08/blue-deauth
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Bluetooth deauthenticator — blue-deauth v0.1.2-alpha
A simple script that makes possible BLE deauthentication!
Bluetooth deauthenticator v0.1.2-beta Attack types: 1.) l2ping - Ping flood 2.) rfcomm - Connect flood [i] Usage: blue_dos.sh target_addr> packet_size> attack_type> root@kali:/scripts/blue-deauth# bash blue_dos.sh FC:58:FA:XX:XX:XX 600 1 root@kali:/scripts/blue-deauth# bash blue_dos.sh FC:58:FA:XX:XX:XX 600 2
l2ping (comes with bluez) rfcomm (comes with bluez)
Tested only in Kali but any Linux OS that uses bluez should work.
Pull requests and issues are welcome!
About
A simple script that makes possible BLE deauthentication!