Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #59, ОКТЯБРЬ 2005 г.

Узнаем по походке

Eto'o

Спецвыпуск: Хакер, номер #059, стр. 059-032-2


$ hccontrol -n ubt0hci Remote_Name_Request 00:0a:d9:7f:88:0d

После выполнения запроса на экране появится символическое имя устройства с указанным адресом. Полный список доступных команд можно получить набрав в консоли man hccontrol либо обратившись к документации на диске. А мы идем дальше.

Bluetooth пинг-понг

В Bluetooth-стэке есть протокол L2CAP (Logical Link Control and Adaptation Protocol), позволяющий интерфейсам более высокого уровня передавать и получать пакеты данных длиной до 64 Кб.

L2CAP использует концепцию так называемых каналов, каждый канал представляет собой не что иное, как отдельное логическое соединение поверх радиолинка. Каждый канал привязан к некоторому протоколу (один протокол может занимать несколько каналов, но не наоборот), причем так, что каждый пакет L2CAP, получаемый каналом, перенаправляется к соответствующему протоколу более высокого уровня.

Есть две утилиты, предоставляющих доступ к этому протоколу. Первая имеет символическое название l2ping. Как несложно догадаться, эта тулза предназначена для проверки связи между устройствами и с виду работает так же, как и icmp ping:

# l2ping –a 00:0a:d9:7f:88:0d

0 bytes from 00:0a:d9:7f:88:0d seq_no=0 time=37.823 ms result=0

...

Но это только с виду! Обрати внимание на то, что многие устройства в ответ на L2CAP echo request возвращают пустые пакеты, поэтому 0 bytes - это в порядке вещей.

Помимо тестирования связи, у этой утилиты есть еще одно интересное применение - DoS-атаки на синезубые устройства. Подобно icmp-флуду, существует гипотетическая возможность завалить с головой любой Bluetooth-девайс L2CAP-пакетами, а тем самым прервать активные пользовательские соединения. Как я уже отмечал, максимальный размер пакета составляет 65 Кб, и, в общем-то, понятно, что для достижения цели необходимо использовать несколько устройств в режиме максимальной производительности. Также есть возможность вести "обстрел" в несколько потоков с каждого из доступных устройств. Плюс нужно экспериментально определить оптимальную длину пакетов и количество тредов – судя по моим опытам, оптимально работать в три-четыре потока, именно так достигается максимум используемой мощности канала.

Обнаружение невидимок

Все, о чем я говорил выше, применимо лишь к ломаемому устройству в "видимом" режиме. Если ты точно знаешь, что рядом с тобой находится активный девайс, но broadcast-сканирование не выявляет устройство, то знай: хозяин девайса перевел его в режим non-descoverable. Производители мобильных устройств, кажется, до сих пор считают, что невидимый режим - панацея от всех бед, взломщик просто не сможет выяснить BT-адрес устройства, и даже если стэк девайса дыряв как решето, злоумышленник не сможет воспользоваться этим. На многих телефонах невидимый режим стоит чуть ли не по умолчанию (или включается через несколько минут после активации BT), и производители советуют активно пользоваться этим. В самом деле, такой ход мысли кажется вполне разумным: пользователь всегда работает с ограниченным числом устройств (гарнитура, телефон девушки, ноутбук, PDA, телефоны трех приятелей), и через неделю после начала использования этот список перестает расширяться. Соответственно, если телефону не нужно париться с новыми девайсами, он висит в невидимом режиме и все хакеры идут лесом. В этой ситуации добро действительно победило бы зло, если бы не несколько обстоятельств.

Назад на стр. 059-032-1  Содержание  Вперед на стр. 059-032-3