Найти тему
IT Сектор

Глушилка портативных колонок

Оглавление

Глушилка портативных колонок

В мире есть не так много вещей, которые могут бесить практически всех без исключения. Это слякоть весной и осенью, отключение горячей воды летом и подростки с портативными Bluetooth-колонками. И если с первым и вторым случаем сделать практически ничего нельзя, то с третьим вполне можно бороться, причем почти без криминала. В этой статье речь пойдет о глушилках Bluetooth. Я покажу как отключить и заглушить Bluetooth колонку без навыков хакера и не покупая специальные устройства.

Если современные WiFi-роутеры способны фильтровать нежелательные пакеты, то большинство адаптеров Bluetooth, мягко говоря, туповаты. Им по большому счету безразлично, какой пакет и какого объема, а уж тем более сколько этих пакетов вы пришлете. Поэтому нам не составляет абсолютно никакого труда увеличить в Linux информационный объем пакета ping до огромного значения, а потом отослать этих пакетов на девайс с Bluetooth, скажем, 1000 штук.

Теперь по порядку. Для начала нам нужно найти подходящие устройства в зоне досягаемости. Для этого используем команду

$ hcitool scan

В результате этой нехитрой манипуляции вы получите список доступных устройств с Bluetooth с их MAC-адреса. Если ваша система не видит адаптер Bluetooth, то я рекомендую поставить один из менеджеров Bluetooth для Linux. В Kali Linux лично мне подошел gnome-bluetooth, который можно установить следующей командой:

$ apt-get install gnome-bluetooth

Еще можно воспользоваться утилитой blueman:

$ apt-get install blueman

Получив список потенциальных жертв, можно расправиться с их синезубыми девайсами несколькими способами. Рассмотрим каждый по отдельности.

Глушилка Bluetooth l2ping

Введите следущую команду:

$ l2ping -i hci0 -s <packet value> -f <MAC_address>

Она сгенерирует пакеты указанного тобой в параметре <packet value> объема и будет отсылать эти пакеты на MAC-адрес, записанный в качестве параметра <MAC_address>. В конце концов вы увидите такую картину: в терминале время отклика будет постепенно увеличиваться, а на атакуемом устройстве, скорее всего, просто отключится Bluetooth. Через какое-то время он все равно включится, но музыка прервется, и некоторое удовлетворение будет получено.

Такая схема очень хорошо работает, когда атакуемое устройство (к примеру, телефон) подключено к гарнитуре или колонке по Bluetooth. После атаки эти два устройства не смогут соединиться друг с другом.

Глушилка Bluetooth Websploit

Существует более элегантный и удобный способ заглушить колонку, из которой доносятся жизнерадостные звуки рэпа. Запускаем утилиту Websploit:

$ websploit

Набираем в консоли команду

$ show modules

Она продемонстрирует нам все модули, которые работают с этой утилитой. Там есть множество компонентов, работающих с WiFi, но нас интересует конкретно модуль bluetooth/bluetooth_pod:

$ use bluetooth/bluetooth_pod

Теперь нужно настроить все параметры и указать сведения об атакуемом устройстве:

$ show options

$ set bdaddr <MAC_address>

Чтобы точно и наверняка вырубить Bluetooth, мы изменим размер отсылаемого пакета:

$ set size 999

Все подготовительные действия завершены, можем запускать нашу «машину для убийств»:

$ run

На выходе мы увидим абсолютно похожую картину: пинги становятся дольше, а музыка прерывается. Красота!

Эти два способа будут работать практически с любыми блютусными колонками, гарнитурами и прочими похожими устройствами. Просто потому, что производители не выпускают для них новые прошивки, способные фильтровать входящие пакеты. Так что, если у вас есть ноутбук с «Линуксом» на борту, вы точно можете назвать себя грозой портативных колонок.

Если колонка справляется с атакой, можно попробовать отправить пакеты на сам телефон, к которому она подключена. Лично я тестировал этот метод на довольно мощной портативной колонке (JBL Xtreme), и она более-менее справлялась с нагрузкой. Но дешевые китайские поделки такая атака вырубает на раз.

Готовые глушилки Bluetooth

В интернете продаются любопытные товары, среди которых можно найти и глушилки частот. Стоят они обычно приличных денег и предоставляют разные возможности. Одни могут валить практически все сигналы мобильной сети, WiFi и Bluetooth разом, а другие не справятся и с H+.

Если вы считаете, что вам действительно необходим подобный товар, то перед его приобретением настоятельно рекомендую ознакомиться с действующим законодательством. В России покупать и продавать глушилки не запрещено, однако если вы решите воспользоваться ей, то необходима регистрация устройства в ГКРЧ. Если вас поймают на использовании незарегистрированного девайса, то, скорее всего, оштрафуют по статье 13.4 КоАП РФ. Штраф для физических лиц на сегодняшний день составляет 500 рублей, для юридических — до 10 тысяч.

Подключение к Bluetooth

Как мы уже знаем, примитивные колонки и гарнитуры почти никогда не фильтруют пакеты, которые мы им отправляем. Но что будет, если отослать такому девайсу не просто пакет с данными для проверки связи (ping), а пакет с запросом на подключение к устройству? И не один.

Не все производители подобных гарнитур позаботились о защите от переполнения буфера. Если все пакеты становятся в очередь, то что произойдет, когда складировать запросы уже будет некуда? Колонка попытается выполнить команду и при этом очистить буфер.

Поэтому мы используем стандартный протокол обмена данными по Вluetooth — rfcomm. Но так как сама утилита, контролирующая протокол, не позволит нам отправить тысячу таких запросов, мы напишем небольшой скрипт на Python, который автоматизирует процесс.

#!/usr/bin/env python

import subprocess

cmd=['rfcomm', 'connect', '<MAC_address>', '1']

for i in range(0, 1001):

subprocess.call(cmd)

print('Connecting...')

Перед запуском скрипта нам нужно узнать MAC-адрес устройства. Для этого используем уже знакомую команду hcitool scan, а полученный адрес вставляем в скрипт вместо <MAC_address>. Теперь сохраняем скрипт и запускаем его:

$ python <FileName>

Сработает скрипт или нет, зависит от модели атакуемого девайса, вернее, от скорости заполнения буфера. Если буфер успеет забиться до его очистки, то команда будет выполнена, и тогда мы подключимся к колонке одновременно с основным пользователем. Если же буфер очистится, то ничего не получится и придется перезапустить скрипт.

Если наш сценарий успешно выполнен, мы можем устроить свою дискотеку или вырубить устройство. Мои личные эксперименты с колонкой JBL Xtreme привели к ее отключению, а вот JBL Flip 2 когда-то удавалось и перехватывать (сейчас ее под рукой нет).