Сверлим 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 В качестве результата работы утилита выведет информацию о найденных устройствах – нас, прежде всего, интересуют их адреса. |