Pentesting RFID

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Вступ

Ідентифікація радіочастот (RFID) є найпопулярнішим рішенням короткого діапазону радіо. Зазвичай використовується для зберігання та передачі інформації, яка ідентифікує сутність.

RFID-мітка може покладатися на власне джерело живлення (активна), таке як вбудована батарея, або отримувати живлення від антени читання за допомогою поточного, викликаного отриманими радіохвилями (пасивна).

Класи

EPCglobal розділяє RFID-мітки на шість категорій. Мітка в кожній категорії має всі можливості, перераховані в попередній категорії, що робить її сумісною з попередньою.

  • Мітки Класу 0 є пасивними мітками, які працюють у UHF діапазонах. Виробник передпрограмує їх на заводі виробництва. В результаті ви не можете змінити інформацію, збережену в їх пам'яті.

  • Мітки Класу 1 також можуть працювати у HF діапазонах. Крім того, їх можна записати лише один раз після виробництва. Багато міток Класу 1 також можуть обробляти циклічні контрольні суми (CRC) отриманих команд. CRC - це кілька додаткових байтів в кінці команд для виявлення помилок.

  • Мітки Класу 2 можна записувати кілька разів.

  • Мітки Класу 3 можуть містити вбудовані датчики, які можуть реєструвати параметри навколишнього середовища, такі як поточна температура або рух мітки. Ці мітки є півпасивними, оскільки хоча вони мають вбудоване джерело живлення, таке як інтегрована батарея, вони не можуть ініціювати бездротовий зв'язок з іншими мітками або читачами.

  • Мітки Класу 4 можуть ініціювати зв'язок з іншими мітками того ж класу, що робить їх активними мітками.

  • Мітки Класу 5 можуть надавати живлення іншим міткам та спілкуватися з усіма попередніми класами міток. Мітки Класу 5 можуть діяти як читачі RFID.

Інформація, збережена в RFID-мітках

Пам'ять RFID-мітки зазвичай зберігає чотири види даних: дані ідентифікації, які ідентифікують сутність, до якої прикріплена мітка (ці дані включають поля, визначені користувачем, такі як банківські рахунки); додаткові дані, які надають додаткові деталі щодо сутності; контрольні дані, використовувані для внутрішньої конфігурації мітки; та виробничі дані, які містять Ідентифікатор Унікального Товару мітки (UID) та деталі щодо виробництва, типу та виробника мітки. Перші два види даних можна знайти у всіх комерційних мітках; останні два можуть відрізнятися в залежності від виробника мітки.

Стандарт ISO визначає значення Ідентифікатора Сімейного Застосування (AFI), код, який вказує на тип об'єкта, до якого належить мітка. Ще один важливий реєстр, також визначений ISO, - Ідентифікатор Формату Зберігання Даних (DSFID), який визначає логічну організацію користувацьких даних.

Більшість контролів безпеки RFID мають механізми, які обмежують операції читання або запису на кожний блок користувацької пам'яті та на спеціальні реєстри, що містять значення AFI та DSFID. Ці механізми блокування використовують дані, збережені в контрольній пам'яті, та мають стандартні паролі, попередньо налаштовані виробником, але дозволяють власникам міток налаштовувати власні паролі.

Порівняння міток низької та високої частот

Мітки RFID низької частоти (125 кГц)

Мітки низької частоти часто використовуються в системах, які не вимагають високого рівня безпеки: доступ до будівель, ключі інтеркому, картки членства в спортзалі тощо. Завдяки їх вищому діапазону, їх зручно використовувати для платної автостоянки: водій не повинен приносити картку близько до читача, оскільки вона активується здалеку. У той ж час мітки низької частоти є дуже примітивними, вони мають низьку швидкість передачі даних. З цієї причини неможливо реалізувати складний двосторонній обмін даними для таких речей, як збереження балансу та криптографія. Мітки низької частоти лише передають свій короткий ідентифікатор без будь-яких засобів аутентифікації.

Ці пристрої покладаються на пасивну RFID технологію та працюють у діапазоні від 30 кГц до 300 кГц, хоча зазвичай використовується 125 кГц до 134 кГц:

  • Довгий діапазон — низька частота перекладається у великий діапазон. Є деякі читачі EM-Marin та HID, які працюють на відстані до метра. Їх часто використовують на автостоянках.

  • Примітивний протокол — через низьку швидкість передачі даних ці мітки можуть лише передавати свій короткий ідентифікатор. У більшості випадків дані не аутентифікуються і не захищені жодним чином. Як тільки картка опиняється в зоні дії читача, вона починає передавати свій ідентифікатор.

  • Низький рівень безпеки — Ці картки можуть легко копіюватися або навіть читатися з кишені іншої людини через примітивність протоколу.

Популярні протоколи 125 кГц:

  • EM-Marin — EM4100, EM4102. Найпопулярніший протокол в СНД. Може бути прочитаний з відстані близько метра через його простоту та стабільність.

  • HID Prox II — протокол низької частоти, представлений компанією HID Global. Цей протокол популярніший у західних країнах. Він складніший, а картки та читачі для цього протоколу відносно дорогі.

  • Indala — дуже старий протокол низької частоти, який був представлений компанією Motorola, а пізніше придбаний компанією HID. Його менше ймовірно зустріти на волі порівняно з попередніми двома, оскільки він виходить з вжитку.

На практиці існує багато інших протоколів низької частоти. Але всі вони використовують ту ж саму модуляцію на фізичному рівні і можуть бути вважані, одним чи іншим чином, варіацією перерахованих вище.

Атака

Ви можете здійснити атаку на ці мітки за допомогою Flipper Zero:

pageFZ - 125kHz RFID

Високочастотні RFID-мітки (13,56 МГц)

Високочастотні мітки використовуються для більш складної взаємодії читача-мітки, коли потрібне шифрування, великий двосторонній обмін даними, аутентифікація тощо. Зазвичай їх можна знайти на банківських картках, в громадському транспорті та інших безпечних пропусках.

Високочастотні мітки 13,56 МГц є набором стандартів та протоколів. Зазвичай їх називають NFC, але це не завжди вірно. Основний набір протоколів, який використовується на фізичному та логічному рівнях, - це ISO 14443. Високорівневі протоколи, а також альтернативні стандарти (наприклад, ISO 19092), базуються на ньому. Багато людей називають цю технологію ближнім бездротовим зв'язком (NFC), терміном для пристроїв, які працюють на частоті 13,56 МГц.

У спрощеному вигляді архітектура NFC працює так: протокол передачі вибирається компанією, яка виготовляє картки, та реалізується на основі низькорівневого ISO 14443. Наприклад, NXP винахідливо створила свій власний високорівневий протокол передачі, який називається Mifare. Але на нижньому рівні картки Mifare базуються на стандарті ISO 14443-A.

Flipper може взаємодіяти як з низькорівневим протоколом ISO 14443, так і з протоколом передачі даних Mifare Ultralight та EMV, який використовується в банківських картках. Ми працюємо над підтримкою Mifare Classic та NFC NDEF. Докладний огляд протоколів та стандартів, які складають NFC, вартий окремої статті, яку ми плануємо опублікувати пізніше.

Усі високочастотні картки на основі стандарту ISO 14443-A мають унікальний ідентифікатор чіпа. Він виступає як серійний номер картки, схожий на MAC-адресу мережевої карти. Зазвичай UID складає 4 або 7 байтів, але іноді може бути до 10. UID не є секретним і його легко прочитати, іноді навіть надруковано на самій картці.

Є багато систем контролю доступу, які покладаються на UID для аутентифікації та надання доступу. Іноді це відбувається навіть тоді, коли RFID-мітки підтримують шифрування. Таке недоречне використання зводить їх на рівень простих карток 125 кГц з точки зору безпеки. Віртуальні картки (наприклад, Apple Pay) використовують динамічний UID, щоб власники телефонів не могли відчиняти двері за допомогою свого платіжного додатку.

  • Низький діапазон — високочастотні картки спеціально розроблені так, щоб їх треба було розмістити близько до читача. Це також допомагає захистити картку від несанкціонованих взаємодій. Максимальна дальність зчитування, яку нам вдалося досягти, становила близько 15 см, і це було з власноруч зробленими читачами великого діапазону.

  • Розширені протоколи — швидкості передачі даних до 424 кбіт/с дозволяють складні протоколи з повноцінним двостороннім обміном даними. Це, в свою чергу, дозволяє шифрування, передачу даних тощо.

  • Висока безпека — безконтактні картки високочастотного зв'язку ні в чому не поступаються смарт-карткам. Є картки, які підтримують криптографічно міцні алгоритми, такі як AES, та реалізують асиметричну криптографію.

Атака

Ви можете здійснювати атаки на ці мітки за допомогою Flipper Zero:

pageFZ - NFC

Або використовуючи proxmark:

pageProxmark 3

Посилання

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Last updated