Сверлим Bluetooth

Никита Кислицин

Хакер, номер #077, стр. 077-060-1

(nikitoz@real.xakep.ru)

Взлом Bluetooth-устройств на практике

Bluetooth – чрезвычайно удобная штука. В самом деле: переслать картинку, телефонный контакт, мелодию? Без проблем! Поиграть вдвоем в игрушку на лекции? Что может быть приятнее! Однако не лишним тебе будет знать, что каждый раз, когда ты пользуешься этим протоколом, ты в опасности. Любой человек в радиусе десяти метров запросто может утащить секретный номер из твоей телефонной книги, почитать sms-сообщения, посмотреть фотографии и даже присвоить себе деньги на твоем счету. Неожиданный поворот событий, не правда ли? :)

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

[станок для опытов]

Прежде, чем приступать к нашим изысканиям, необходимо определиться со средой, в которой мы будем работать. На самом деле, толкового bluetooth-софта под Windows практически нет, вернее, у меня сложилось такое ощущение, что его нет в принципе. Поэтому я буду использовать в своих опытах Unix, конкретнее – FreeBSD 5.3, которая стоит на моем ноутбуке. Что касается bluetooth-девайса, то я заюзал обычный десятидолларовый адаптер, втыкаемый в USB и сейчас расскажу, как такую железку подцепить под фряхой.

Bluetooth-стэк во FreeBSD реализовал наш соотечественник Максим Евменкин в виде модуля ng_ubt. В пятой фряхе этот модуль присутствует по умолчанию, для более старых версий его необходимо собрать отдельно — сорцы можно получить на нашем диске, а так же на сайте www.geocities.com/m_evmenkin. Чтобы поднять девайс, нужно подгрузить модуль следующей командой: kldload ng_ubt. Затем необходимо подключить адаптер к USB-порту и выполнить сценарий, активизирующий интерфейс:

/etc/rc.bluetooth start ubt0. В консоли появится информация об устройстве, его адрес и т.д. Теперь уже можно начинать работу.

Вместе с модулем поставляется несколько утилит, которые сыграют ключевую роль в наших экспериментах. Я опишу самые главные программы и покажу, что с их помощью можно делать.

[стандартный софт]

Первым делом следует упомянуть утилиту hccontrol, которая выполняет все операции, связанные с интерфейсом HCI. Пользоваться этой программой чрезвычайно просто:

$ hccontrol –n имя_hci_узла команда

Тут следует заметить, что имя узла – это не тоже самое, что и имя интерфейса: так, например, интерфейсу ubt0 соответствует имя ubt0hci. В качестве команды может быть указано несколько десятков допустимых HCI-операций, среди которых мне имеет смысл выделить лишь несколько.

Первая из них осуществляет поиск в окрестностях активных discoverable-устройств и называется «Inquiry». Пользуются ей следующим образом:

$ hccontrol –n ubt0hci Inquiry

В качестве результата работы утилита выведет информацию о найденных устройствах – нас, прежде всего, интересуют их адреса.

Содержание  Вперед на стр. 077-060-2
ttfb: 3.1571388244629 ms