hacktricks/radio-hacking/pentesting-rfid.md

107 lines
11 KiB
Markdown
Raw Normal View History

2024-02-10 13:11:20 +00:00
# Pentestiranje RFID-a
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 13:11:20 +00:00
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:11:20 +00:00
* Da li radite u **cybersecurity kompaniji**? Želite li da vidite **vašu kompaniju reklamiranu na HackTricks-u**? Ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF formatu**? Proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**The PEASS Family**](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**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitter-u** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova** [**hacktricks repo-u**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repo-u**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 13:11:20 +00:00
## Uvod
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
**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.
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
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**).
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
### Klase
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
EPCglobal deli RFID oznake u šest kategorija. Oznaka u svakoj kategoriji ima sve mogućnosti navedene u prethodnoj kategoriji, što je čini kompatibilnom unazad.
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
* **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č**.
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
### Informacije sačuvane u RFID oznakama
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
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.
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
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**.
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
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**.
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
### Poređenje oznaka niske i visoke frekvencije
2022-02-28 09:13:08 +00:00
2022-12-24 19:34:46 +00:00
<figure><img src="../.gitbook/assets/image (27).png" alt=""><figcaption></figcaption></figure>
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
## RFID oznake niske frekvencije (125kHz)
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
**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.
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
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:
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
* **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.
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
**Popularni 125 kHz protokoli:**
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
* **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)
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
**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.
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
**RFID 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. 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.
2022-02-28 09:13:08 +00:00
2022-12-24 19:34:46 +00:00
<figure><img src="../.gitbook/assets/image (22).png" alt=""><figcaption></figcaption></figure>
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
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.
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
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.
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
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**.
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
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.
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
* **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.
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
### Napad
2022-02-28 09:13:08 +00:00
2024-02-10 13:11:20 +00:00
Možete **napasti ove oznake pomoću Flipper Zero**:
2022-02-28 09:13:08 +00:00
2022-12-24 11:52:08 +00:00
{% content-ref url="../todo/radio-hacking/flipper-zero/fz-nfc.md" %}
[fz-nfc.md](../todo/radio-hacking/flipper-zero/fz-nfc.md)
{% endcontent-ref %}
2022-05-01 16:32:23 +00:00
2024-02-10 13:11:20 +00:00
Ili koristeći **proxmark**:
2022-05-01 16:32:23 +00:00
2022-12-24 11:52:08 +00:00
{% content-ref url="../todo/radio-hacking/proxmark-3.md" %}
[proxmark-3.md](../todo/radio-hacking/proxmark-3.md)
{% endcontent-ref %}
2022-04-28 16:01:33 +00:00
2024-02-10 13:11:20 +00:00
## Reference
2022-04-28 16:01:33 +00:00
2022-12-24 11:52:08 +00:00
* [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)
2022-04-28 16:01:33 +00:00
2022-12-24 11:52:08 +00:00
<details>
2022-04-28 16:01:33 +00:00
2024-02-10 13:11:20 +00:00
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:11:20 +00:00
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite **vašu kompaniju reklamiranu na HackTricks-u**? Ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF formatu**? Proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**The PEASS Family**](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**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitter-u** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova** [**hacktricks repo-u**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repo-u**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>