hacktricks/radio-hacking/pentesting-rfid.md
2024-02-10 13:11:20 +00:00

11 KiB

Pentestiranje RFID-a

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Uvod

Radio Frequency Identification (RFID) je najpopularnije rešenje za kratkodometno bežično prepoznavanje. Obično se koristi za skladištenje i prenos informacija koje identifikuju entitet.

RFID oznaka može se oslanjati na sopstveni izvor napajanja (aktivna), poput ugrađene baterije, ili može dobijati napajanje od antene za čitanje putem struje indukovane iz primljenih radio talasa (pasivna).

Klase

EPCglobal deli RFID oznake u šest kategorija. Oznaka u svakoj kategoriji ima sve mogućnosti navedene u prethodnoj kategoriji, što je čini kompatibilnom unazad.

  • Klasa 0 oznake su pasivne oznake koje rade u UHF opsezima. Proizvođač ih unapred programira u fabričkoj proizvodnji. Kao rezultat toga, ne možete promeniti informacije koje su sačuvane u njihovoj memoriji.
  • Klasa 1 oznake takođe mogu raditi u HF opsezima. Osim toga, mogu se jednom napisati nakon proizvodnje. Mnoge klase 1 oznaka takođe mogu obraditi ciklične redundante provere (CRC) komandi koje primaju. CRC su nekoliko dodatnih bajtova na kraju komandi za otkrivanje grešaka.
  • Klasa 2 oznake mogu se više puta pisati.
  • Klasa 3 oznake mogu sadržati ugrađene senzore koji mogu beležiti okružne parametre, poput trenutne temperature ili kretanja oznake. Ove oznake su polu-pasivne, jer iako imaju ugrađeni izvor napajanja, poput integrisane baterije, ne mogu pokrenuti bežičnu komunikaciju sa drugim oznakama ili čitačima.
  • Klasa 4 oznake mogu pokrenuti komunikaciju sa drugim oznakama iste klase, čineći ih aktivnim oznakama.
  • Klasa 5 oznake mogu pružiti napajanje drugim oznakama i komunicirati sa svim prethodnim klasama oznaka. Klasa 5 oznaka može delovati kao RFID čitač.

Informacije sačuvane u RFID oznakama

Memorija RFID oznake obično čuva četiri vrste podataka: identifikacione podatke, koji identifikuju entitet kojem je oznaka pridružena (ovi podaci uključuju korisnički definisana polja, poput bankovnih računa); dodatne podatke, koji pružaju dodatne detalje o entitetu; kontrolne podatke, koji se koriste za internu konfiguraciju oznake; i proizvođačke podatke oznake, koji sadrže jedinstveni identifikator oznake (UID) i detalje o proizvodnji, tipu i prodavcu oznake. Prve dve vrste podataka možete pronaći u svim komercijalnim oznakama; poslednje dve se mogu razlikovati na osnovu prodavca oznake.

ISO standard specificira vrednost Application Family Identifier (AFI), kod koji ukazuje na vrstu objekta kojoj oznaka pripada. Još jedan važan registar, takođe specificiran od strane ISO, je Data Storage Format Identifier (DSFID), koji definiše logičku organizaciju korisničkih podataka.

Većina RFID sigurnosnih kontrola ima mehanizme koji ograničavaju operacije čitanja ili pisanja na svakom bloku korisničke memorije i na posebnim registrima koji sadrže vrednosti AFI i DSFID. Ovi mehanizmi zaključavanja koriste podatke sačuvane u kontrolnoj memoriji i imaju unapred podešene lozinke od strane prodavca, ali omogućavaju vlasnicima oznaka da konfigurišu prilagođene lozinke.

Poređenje oznaka niske i visoke frekvencije

RFID oznake niske frekvencije (125kHz)

Oznake niske frekvencije se često koriste u sistemima koji ne zahtevaju visoku sigurnost: pristup zgradama, ključevi za interfonske sisteme, članske karte za teretane, itd. Zbog većeg dometa, pogodne su za korišćenje u plaćenim parking prostorima: vozač ne mora da približava karticu čitaču, jer se aktivira sa veće udaljenosti. Istovremeno, oznake niske frekvencije su veoma primitivne, imaju nisku brzinu prenosa podataka. Iz tog razloga, nemoguće je implementirati kompleksan dvosmerni prenos podataka za stvari poput održavanja salda i kriptografije. Oznake niske frekvencije samo prenose svoj kratki ID bez ikakvih sredstava za autentifikaciju.

Ovi uređaji se oslanjaju na pasivnu RFID tehnologiju i rade u opsegu od 30 kHz do 300 kHz, iako je uobičajenije koristiti 125 kHz do 134 kHz:

  • Dugačak domaći — niža frekvencija se prevodi u veći domaći. Postoje neki EM-Marin i HID čitači, koji rade sa udaljenosti do jednog metra. Oni se često koriste u parking prostorima.
  • Primitivan protokol — zbog niske brzine prenosa podataka, ove oznake mogu samo prenositi svoj kratki ID. U većini slučajeva, podaci nisu autentifikovani i nisu zaštićeni na bilo koji način. Čim je kartica u opsegu čitača, počinje da prenosi svoj ID.
  • Niska sigurnost — Ove kartice se lako mogu kopirati, ili čak očitati iz tuđeg džepa zbog primitivnosti protokola.

Popularni 125 kHz protokoli:

  • EM-Marin — EM4100, EM4102. Najpopularniji protokol u CIS-u. Može se očitati sa udaljenosti od oko jednog metra zbog svoje jednostavnosti i stabilnosti.
  • HID Prox II — niskofrekventni protokol koji je uveo HID Global. Ovaj protokol je popularniji u zapadnim zemljama. On je slo

RFID oznake visoke frekvencije (13,56 MHz)

RFID oznake visoke frekvencije se koriste za složenu interakciju čitača i oznake kada je potrebna kriptografija, dvosmerna razmena podataka, autentifikacija, itd. Obično se nalaze na bankovnim karticama, javnom prevozu i drugim sigurnosnim prolazima.

RFID oznake visoke frekvencije od 13,56 MHz su skup standarda i protokola. Obično se nazivaju NFC, ali to nije uvek tačno. Osnovni set protokola koji se koristi na fizičkom i logičkom nivou je ISO 14443. Visokonaponski protokoli, kao i alternativni standardi (poput ISO 19092), se zasnivaju na njemu. Mnogi ljudi ovu tehnologiju nazivaju Near Field Communication (NFC), što je termin za uređaje koji rade na frekvenciji od 13,56 MHz.

Da jednostavno objasnimo, arhitektura NFC-a funkcioniše na sledeći način: protokol prenosa bira kompanija koja pravi kartice i implementira ga na osnovu niskog nivoa ISO 14443. Na primer, NXP je izumela sopstveni protokol prenosa visokog nivoa koji se zove Mifare. Ali na nižem nivou, Mifare kartice se zasnivaju na ISO 14443-A standardu.

Flipper može da komunicira kako sa protokolom prenosa ISO 14443 na niskom nivou, tako i sa protokolom prenosa podataka Mifare Ultralight i EMV koji se koristi na bankovnim karticama. Radimo na dodavanju podrške za Mifare Classic i NFC NDEF. Detaljan pregled protokola i standarda koji čine NFC vredi poseban članak koji planiramo da objavimo kasnije.

Sve visokofrekventne kartice zasnovane na ISO 14443-A standardu imaju jedinstveni ID čipa. On deluje kao serijski broj kartice, poput MAC adrese mrežne kartice. Obično je UID dužine 4 ili 7 bajtova, ali retko može da bude do 10 bajtova. UID-ovi nisu tajni i lako se mogu pročitati, ponekad čak i odštampani na samoj kartici.

Postoji mnogo sistema za kontrolu pristupa koji se oslanjaju na UID za autentifikaciju i dodelu pristupa. Ponekad se to dešava čak i kada RFID oznake podržavaju kriptografiju. Takva zloupotreba ih svodi na nivo glupih 125 kHz kartica u smislu bezbednosti. Virtuelne kartice (poput Apple Pay) koriste dinamički UID kako vlasnici telefona ne bi otvarali vrata svojom aplikacijom za plaćanje.

  • Mali domet - visokofrekventne kartice su posebno dizajnirane tako da moraju biti postavljene blizu čitača. To takođe pomaže u zaštiti kartice od neovlašćene interakcije. Maksimalni domet čitanja koji smo uspeli da postignemo bio je oko 15 cm, i to sa čitačima visokog dometa koje smo sami napravili.
  • Napredni protokoli - brzine prenosa podataka do 424 kbps omogućavaju složene protokole sa potpunom dvosmernom razmenom podataka. Što opet omogućava kriptografiju, prenos podataka, itd.
  • Visoka bezbednost - bežične kartice visoke frekvencije ni na koji način ne zaostaju za pametnim karticama. Postoje kartice koje podržavaju kriptografski jake algoritme poput AES i implementiraju asimetričnu kriptografiju.

Napad

Možete napasti ove oznake pomoću Flipper Zero:

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

Ili koristeći proxmark:

{% content-ref url="../todo/radio-hacking/proxmark-3.md" %} proxmark-3.md {% endcontent-ref %}

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!