# Pentesting RFID
Naučite hakovanje AWS-a od nule do heroja sahtARTE (HackTricks AWS Red Team Expert)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite da imate pristup **najnovijoj verziji PEASS ili preuzmete HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) **Discord grupi** ili **telegram grupi** ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova** [**hacktricks repozitorijumu**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repozitorijumu**](https://github.com/carlospolop/hacktricks-cloud).
## Uvod
**Radio Frekvencijska Identifikacija (RFID)** je najpopularnije rešenje za kratkodometnu radio komunikaciju. Obično se koristi za skladištenje i prenos informacija koje identifikuju entitet.
RFID oznaka može da se oslanja na **sopstveni izvor napajanja (aktivna)**, poput ugrađene baterije, ili da prima napajanje od čitača antene koristeći trenutnu **indukciju od primljenih radio talasa** (**pasivna**).
### Klase
EPCglobal deli RFID oznake u šest kategorija. Oznaka u svakoj kategoriji ima sve mogućnosti navedene u prethodnoj kategoriji, čime je kompatibilna 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 skladištene u njihovoj memoriji.
* **Klasa 1** oznake takođe mogu raditi u **HF** opsezima. Pored toga, mogu se **pisati samo jednom** nakon proizvodnje. Mnoge Klasa 1 oznake takođe mogu obraditi **ciklične redundante provere** (CRC) komandi koje primaju. CRC-ovi su nekoliko dodatnih bajtova na kraju komandi za detekciju grešaka.
* **Klasa 2** oznake mogu se **pisati više puta**.
* **Klasa 3** oznake mogu sadržati **ugrađene senzore** koji mogu beležiti okolne parametre, poput trenutne temperature ili kretanja oznake. Ove oznake su **polu-pasivne**, jer iako **imaju** ugrađeni izvor napajanja, poput integrisane **baterije**, ne mogu inicirati bežičnu **komunikaciju** sa drugim oznakama ili čitačima.
* **Klasa 4** oznake mogu inicirati komunikaciju sa drugim oznakama iste klase, čime postaju **aktivne oznake**.
* **Klasa 5** oznake mogu obezbediti **napajanje drugim oznakama i komunicirati sa svim prethodnim klasama** oznaka. Klasa 5 oznake mogu delovati kao **RFID čitači**.
### Informacije Skladištene u RFID Oznakama
Memorija RFID oznake obično skladišti četiri vrste podataka: **identifikacione podatke**, koji **identifikuju** **entitet** na koji je oznaka prikačena (ovi podaci uključuju korisnički definisana polja, poput bankovnih računa); **dodatne podatke**, koji pružaju **dodatne** **detalje** o entitetu; **kontrolne podatke**, korišćene 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 se mogu naći u svim komercijalnim oznakama; poslednje dve se mogu razlikovati u zavisnosti od prodavca oznake.
ISO standard specificira vrednost Identifikatora Aplikacione Porodice (**AFI**), kod koji označava **vrstu objekta** kojoj oznaka pripada. Još jedan važan registar, takođe specificiran od strane ISO-a, je Identifikator Formata Skladištenja Podataka (**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 korisničkom bloku memorije i na specijalnim registrima koji sadrže vrednosti AFI i DSFID. Ovi **mehanizmi zaključavanja** koriste podatke skladištene u kontrolnoj memoriji i imaju **unapred podešene šifre** od strane prodavca, ali dozvoljavaju vlasnicima oznaka da **konfigurišu prilagođene šifre**.
### Poređenje Niskofrekventnih i Visokofrekventnih Oznaka
## Niskofrekventne RFID Oznake (125kHz)
**Niskofrekventne oznake** se često koriste u sistemima koji **ne zahtevaju visoku sigurnost**: pristup zgradama, ključevi za interfonske uređaje, članstvo u teretanama, itd. Zbog njihovog većeg opsega, pogodne su za korišćenje u plaćenim parking prostorima: vozač ne mora da približi karticu čitaču, jer se aktivira sa daljine. Istovremeno, niskofrekventne oznake su veoma primitivne, imaju nisku stopu prenosa podataka. Iz tog razloga, nemoguće je implementirati kompleksnu dvosmernu razmenu podataka za stvari poput čuvanja salda i kriptografije. Niskofrekventne oznake samo prenose svoj kratki ID bez ikakvih sredstava za autentikaciju.
Ovi uređaji se oslanjaju na **pasivnu** **RFID** tehnologiju i rade u **opsegu od 30 kHz do 300 kHz**, iako je češće koristiti 125 kHz do 134 kHz:
* **Dug opseg** — niža frekvencija se prevodi u veći opseg. Postoje neki EM-Marin i HID čitači, koji rade sa udaljenosti do metar. Često se koriste u parking prostorima.
* **Primitivan protokol** — zbog niske stope 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 proč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 pročitati sa oko metar zbog svoje jednostavnosti i stabilnosti.
* **HID Prox II** — niskofrekventni protokol koji je predstavio HID Global. Ovaj protokol je popularniji u zapadnim zemljama. Složeniji je i kartice i čitači za ovaj protokol su relativno skupi.
* **Indala** — veoma stari niskofrekventni protokol koji je predstavio Motorola, a kasnije je kupljen od strane HID-a. Manje je verovatno da ćete ga sresti u divljini u poređenju sa prethodna dva jer izlazi iz upotrebe.
U stvarnosti, postoji mnogo više niskofrekventnih protokola. Ali svi oni koriste istu modulaciju na fizičkom sloju i mogu se smatrati, na ovaj ili onaj način, varijacijom navedenih protokola.
### Napad
Možete **napasti ove Oznake sa Flipper Zero uređajem**:
{% content-ref url="flipper-zero/fz-125khz-rfid.md" %}
[fz-125khz-rfid.md](flipper-zero/fz-125khz-rfid.md)
{% endcontent-ref %}
## RFID oznake visoke frekvencije (13,56 MHz)
**Oznake visoke frekvencije** se koriste za složeniju interakciju čitača i oznake kada je potrebna kriptografija, veliki dvosmerni prenos podataka, autentikacija, itd. Obično se nalaze na bankovnim karticama, javnom prevozu i drugim sigurnosnim prolazima.
**Oznake visoke frekvencije od 13,56 MHz su skup standarda i protokola**. Obično se nazivaju [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/), ali to nije uvek tačno. Osnovni set protokola koji se koristi na fizičkom i logičkom nivou je ISO 14443. Visokonivovski protokoli, kao i alternativni standardi (poput ISO 19092), zasnovani su na njemu. Mnogi ljude nazivaju ovu tehnologiju **Near Field Communication (NFC)**, termin za uređaje koji rade na frekvenciji od 13,56 MHz.
Da bismo to pojednostavili, arhitektura NFC-a funkcioniše na sledeći način: protokol prenosa bira kompanija koja pravi kartice i implementira ga na osnovu niskonivoaškog ISO 14443. Na primer, NXP je izmislio svoj visokonivoaški protokol prenosa nazvan Mifare. Ali na nižem nivou, Mifare kartice se zasnivaju na ISO 14443-A standardu.
Flipper može da interaguje kako sa niskonivoaškim ISO 14443 protokolom, tako i sa Mifare Ultralight protokolom prenosa podataka i EMV-om 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 posebnog članka koji planiramo da objavimo kasnije.
Sve visokofrekventne kartice zasnovane na ISO 14443-A standardu imaju jedinstveni ID čipa. 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**. UID-ovi nisu tajni i lako su čitljivi, **ponekad čak i odštampani na samoj kartici**.
Postoji mnogo sistema za kontrolu pristupa koji se oslanjaju na UID za **autentikaciju 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 specijalno dizajnirane tako da moraju biti blizu čitača. To takođe pomaže u zaštiti kartice od neovlašćenih interakcija. 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 kompleksne protokole sa potpunim dvosmernim prenosom podataka. Što zauzvrat **omogućava kriptografiju**, prenos podataka, itd.
* **Visoka bezbednost** — beskontaktne 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 uređaja**:
{% content-ref url="flipper-zero/fz-nfc.md" %}
[fz-nfc.md](flipper-zero/fz-nfc.md)
{% endcontent-ref %}
Ili koristeći **proxmark**:
{% content-ref url="proxmark-3.md" %}
[proxmark-3.md](proxmark-3.md)
{% endcontent-ref %}
## Reference
* [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)