2
0
Fork 0
mirror of https://github.com/carlospolop/hacktricks synced 2025-02-19 15:38:29 +00:00
hacktricks/todo/radio-hacking/pentesting-rfid.md

11 KiB

Testowanie penetracyjne RFID

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Wprowadzenie

Radio Frequency Identification (RFID) to najpopularniejsze rozwiązanie radiowe krótkiego zasięgu. Zazwyczaj służy do przechowywania i przesyłania informacji identyfikujących podmiot.

EPCglobal dzieli tagi RFID na sześć kategorii. Tag w każdej kategorii ma wszystkie możliwości wymienione w poprzedniej kategorii, co sprawia, że są one wstecznie kompatybilne.

  • Tagi klasy 0 to tagi pasywne, które działają w pasmach UHF. Producent preprogramowuje je w fabryce produkcyjnej. W rezultacie nie można zmienić informacji przechowywanych w ich pamięci.
  • Tagi klasy 1 mogą również działać w pasmach HF. Ponadto mogą być zapisane tylko raz po produkcji. Wiele tagów klasy 1 może również przetwarzać sprawdzenia sumy kontrolnej cyklicznej (CRC) otrzymywanych poleceń. CRC to kilka dodatkowych bajtów na końcu poleceń służących do wykrywania błędów.
  • Tagi klasy 2 można zapisywać wielokrotnie.
  • Tagi klasy 3 mogą zawierać wbudowane sensory, które mogą rejestrować parametry środowiskowe, takie jak aktualna temperatura lub ruch tagu. Tagi te są półpasywne, ponieważ chociaż posiadają wbudowane źródło zasilania, takie jak zintegrowana bateria, nie mogą inicjować bezprzewodowej komunikacji z innymi tagami lub czytnikami.
  • Tagi klasy 4 mogą inicjować komunikację z innymi tagami tej samej klasy, co czyni je aktywnymi tagami.
  • Tagi klasy 5 mogą dostarczać zasilanie innym tagom i komunikować się ze wszystkimi poprzednimi klasami tagów. Tagi klasy 5 mogą działać jako czytniki RFID.

Informacje Przechowywane w Tagach RFID

Pamięć taga RFID zazwyczaj przechowuje cztery rodzaje danych: dane identyfikacyjne, które identyfikują podmiot, do którego przyczepiony jest tag (te dane obejmują pola zdefiniowane przez użytkownika, takie jak konta bankowe); dane uzupełniające, które dostarczają dodatkowych informacji dotyczących podmiotu; dane kontrolne, używane do konfiguracji wewnętrznej tagu; oraz dane producenta, które zawierają unikalny identyfikator tagu (UID) oraz szczegóły dotyczące produkcji, typu i producenta tagu. Pierwsze dwa rodzaje danych znajdziesz we wszystkich tagach komercyjnych; ostatnie dwa mogą się różnić w zależności od producenta tagu.

Standard ISO określa wartość Identyfikatora Rodziny Aplikacji (AFI), kod wskazujący rodzaj obiektu, do którego należy tag. Innym ważnym rejestr jest Identyfikator Formatu Przechowywania Danych (DSFID), również określony przez ISO, który definiuje logiczną organizację danych użytkownika.

Większość kontroli bezpieczeństwa RFID ma mechanizmy, które ograniczają operacje odczytu lub zapisu na każdym bloku pamięci użytkownika oraz na specjalnych rejestrach zawierających wartości AFI i DSFID. Te mechanizmy blokady korzystają z danych przechowywanych w pamięci kontrolnej i mają prekonfigurowane domyślne hasła dostawcy, ale pozwalają właścicielom tagów na konfigurowanie niestandardowych haseł.

Porównanie tagów RFID o Niskiej i Wysokiej Częstotliwości

Tagi RFID o Niskiej Częstotliwości (125kHz)

Tagi o niskiej częstotliwości są często używane w systemach, które nie wymagają wysokiego poziomu bezpieczeństwa: dostęp do budynków, klucze do domofonów, karty członkowskie siłowni, itp. Ze względu na ich większy zasięg, są wygodne w użyciu do płatnego parkowania samochodów: kierowca nie musi zbliżać karty do czytnika, ponieważ jest ona aktywowana z większej odległości. Jednocześnie tagi o niskiej częstotliwości są bardzo prymitywne, mają niską szybkość transferu danych. Z tego powodu niemożliwe jest zaimplementowanie złożonego dwukierunkowego transferu danych do takich zastosowań jak prowadzenie salda i kryptografia. Tagi o niskiej częstotliwości przesyłają jedynie swoje krótkie ID bez żadnych środków uwierzytelniania.

Te urządzenia opierają się na technologii pasywnego RFID i działają w zakresie od 30 kHz do 300 kHz, chociaż bardziej typowe jest użycie 125 kHz do 134 kHz:

  • Długi zasięg — niższa częstotliwość przekłada się na większy zasięg. Istnieją niektóre czytniki EM-Marin i HID, które działają z odległości do metra. Są one często stosowane w parkowaniu samochodów.
  • Prymitywny protokół — ze względu na niską szybkość transferu danych te tagi mogą przesyłać jedynie swoje krótkie ID. W większości przypadków dane nie są uwierzytelniane i nie są w żaden sposób chronione. Jak tylko karta znajdzie się w zasięgu czytnika, zaczyna przesyłać swoje ID.
  • Niskie bezpieczeństwo — Te karty mogą być łatwo skopiowane, lub nawet odczytane z kieszeni innej osoby ze względu na prymitywność protokołu.

Popularne protokoły 125 kHz:

  • EM-Marin — EM4100, EM4102. Najbardziej popularny protokół w WNP. Może być odczytywany z odległości około metra ze względu na swoją prostotę i stabilność.
  • HID Prox II — protokół o niskiej częstotliwości wprowadzony przez HID Global. Ten protokół jest bardziej popularny w krajach zachodnich. Jest bardziej złożony, a karty i czytniki tego protokołu są stosunkowo drogie.
  • Indala — bardzo stary protokół o niskiej częstotliwości, który został wprowadzony przez Motorolę, a później przejęty przez HID. Mniej prawdopodobne jest, że go spotkasz na wolności w porównaniu z poprzednimi dwoma, ponieważ wychodzi z użycia.

W rzeczywistości istnieje wiele innych protokołów o niskiej częstotliwości. Ale wszystkie one używają tej samej modulacji na warstwie fizycznej i można je uznać, w jednym lub drugim stopniu, za wariację wymienionych powyżej.

Atak

Możesz atakować te Tagi za pomocą Flipper Zero:

{% content-ref url="flipper-zero/fz-125khz-rfid.md" %} fz-125khz-rfid.md {% endcontent-ref %}

Tagi RFID o Wysokiej Częstotliwości (13,56 MHz)

Tagi o wysokiej częstotliwości są używane do bardziej złożonej interakcji między czytnikiem a tagiem, gdy potrzebna jest kryptografia, duża dwukierunkowa transmisja danych, uwierzytelnianie, itp.
Zazwyczaj są one stosowane w kartach bankowych, transporcie publicznym i innych zabezpieczonych przepustkach.

Tagi o wysokiej częstotliwości 13,56 MHz to zestaw standardów i protokołów. Zazwyczaj są one określane jako NFC, ale nie zawsze jest to poprawne. Podstawowy zestaw protokołów używanych na poziomie fizycznym i logicznym to ISO 14443. Protokoły na wyższym poziomie, jak również alternatywne standardy (np. ISO 19092), są na nim oparte. Wiele osób odnosi się do tej technologii jako komunikacja w polu bliskim (NFC), terminu dla urządzeń działających w częstotliwości 13,56 MHz.

W skrócie, architektura NFC działa w ten sposób: protokół transmisji jest wybierany przez firmę produkującą karty i implementowany na podstawie niskopoziomowego ISO 14443. Na przykład NXP wynalazł własny protokół transmisji na wysokim poziomie o nazwie Mifare. Ale na niższym poziomie karty Mifare są oparte na standardzie ISO 14443-A.

Flipper może współdziałać zarówno z niskopoziomowym protokołem ISO 14443, jak i protokołem transmisji danych Mifare Ultralight oraz EMV używanym w kartach bankowych. Pracujemy nad dodaniem obsługi dla Mifare Classic i NFC NDEF. Dokładne przyjrzenie się protokołom i standardom tworzącym NFC jest warte oddzielnego artykułu, który planujemy opublikować później.

Wszystkie karty o wysokiej częstotliwości oparte na standardzie ISO 14443-A mają unikalne ID chipa. Działa ono jako numer seryjny karty, podobnie jak adres MAC karty sieciowej. Zazwyczaj UID ma długość 4 lub 7 bajtów, ale czasami może sięgać aż do 10. UID nie jest tajny i jest łatwo odczytywalny, czasami nawet wydrukowany na samej karcie.

Istnieje wiele systemów kontroli dostępu, które polegają na UID do uwierzytelniania i przyznawania dostępu. Czasami dzieje się to nawet w przypadku tagów RFID, które obsługują kryptografię. Takie nadużycie obniża je do poziomu głupich kart 125 kHz pod względem bezpieczeństwa. Wirtualne karty (jak Apple Pay) używają dynamicznego UID, aby właściciele telefonów nie otwierali drzwi za pomocą swojej aplikacji płatniczej.

  • Krótki zasięg — karty o wysokiej częstotliwości są specjalnie zaprojektowane tak, aby musiały być umieszczone blisko czytnika. Pomaga to również w ochronie karty przed nieautoryzowanymi interakcjami. Maksymalny zasięg odczytu, jaki udało nam się osiągnąć, wynosił około 15 cm, i to dzięki specjalnie wykonanym czytnikom o dużym zasięgu.
  • Zaawansowane protokoły — prędkości transmisji danych do 424 kbps pozwalają na złożone protokoły z pełną dwukierunkową transmisją danych. Co z kolei umożliwia kryptografię, transmisję danych, itp.
  • Wysokie bezpieczeństwo — bezstykowe karty o wysokiej częstotliwości nie ustępują w żaden sposób kartom inteligentnym. Istnieją karty, które obsługują kryptograficznie silne algorytmy, takie jak AES, i implementują kryptografię asymetryczną.

Atak

Możesz atakować te Tagi za pomocą Flipper Zero:

{% content-ref url="flipper-zero/fz-nfc.md" %} fz-nfc.md {% endcontent-ref %}

Lub używając proxmark:

{% content-ref url="proxmark-3.md" %} proxmark-3.md {% endcontent-ref %}

Referencje