# Pentesting RFID {{#include ../../banners/hacktricks-training.md}} ## Introduction **Radio Frequency Identification (RFID)** is die mees gewilde kortafstand radio-oplossing. Dit word gewoonlik gebruik om inligting te stoor en oor te dra wat 'n entiteit identifiseer. 'n RFID-etiket kan staatmaak op **sy eie kragbron (aktief)**, soos 'n ingebedde battery, of sy krag ontvang van die leesantenna deur die huidige **geïnduseer deur die ontvangde radiogolwe** (**passief**). ### Classes EPCglobal verdeel RFID-etikette in ses kategorieë. 'n Etiket in elke kategorie het al die vermoëns wat in die vorige kategorie gelys is, wat dit terugwaarts versoenbaar maak. - **Klas 0** etikette is **passiewe** etikette wat in **UHF** bande werk. Die verskaffer **voorprogrammeer** hulle by die produksiefabriek. As gevolg hiervan, kan jy **nie verander** die inligting wat in hul geheue gestoor is nie. - **Klas 1** etikette kan ook in **HF** bande werk. Daarbenewens kan hulle **slegs een keer geskryf** word na produksie. Baie Klas 1 etikette kan ook **cyclic redundancy checks** (CRC's) van die opdragte wat hulle ontvang, verwerk. CRC's is 'n paar ekstra bytes aan die einde van die opdragte vir foutopsporing. - **Klas 2** etikette kan **meermale geskryf** word. - **Klas 3** etikette kan **ingebedde sensors** bevat wat omgewingsparameters kan opneem, soos die huidige temperatuur of die beweging van die etiket. Hierdie etikette is **semi-passief**, omdat hulle **'n** ingebedde kragbron het, soos 'n geïntegreerde **batterij**, maar hulle **kan nie inisieer** draadlose **kommunikasie** met ander etikette of lesers nie. - **Klas 4** etikette kan kommunikasie inisieer met ander etikette van dieselfde klas, wat hulle **aktiewe etikette** maak. - **Klas 5** etikette kan **krag aan ander etikette verskaf en kommunikeer met al die vorige etiket** klasse. Klas 5 etikette kan as **RFID-lesers** optree. ### Information Stored in RFID Tags 'n RFID-etiket se geheue stoor gewoonlik vier soorte data: die **identifikasiedata**, wat die **entiteit** identifiseer waaraan die etiket geheg is (hierdie data sluit gebruiker-gedefinieerde velde in, soos bankrekeninge); die **aanvullende data**, wat **verdere** **besonderhede** oor die entiteit verskaf; die **kontroldata**, wat gebruik word vir die etiket se interne **konfigurasie**; en die etiket se **fabrikantdata**, wat 'n etiket se Unieke Identifiseerder (**UID**) en besonderhede oor die etiket se **produksie**, **tipe**, en **verskaffer** bevat. Jy sal die eerste twee soorte data in al die kommersiële etikette vind; die laaste twee kan verskil op grond van die etiket se verskaffer. Die ISO-standaard spesifiseer die Toepassing Familie Identifiseerder (**AFI**) waarde, 'n kode wat die **soort objek** wat die etiket behoort, aandui. 'n Ander belangrike register, wat ook deur ISO gespesifiseer word, is die Data Stoorformaat Identifiseerder (**DSFID**), wat die **logiese organisasie van die gebruikersdata** definieer. Die meeste RFID **veiligheidsbeheer** het meganismes wat die **lees** of **skryf** operasies op elke gebruikers geheueblok en op die spesiale registers wat die AFI en DSFID waardes bevat, **beperk**. Hierdie **sluit** **meganismes** gebruik data wat in die kontrole geheue gestoor is en het **standaard wagwoorde** wat deur die verskaffer vooraf geconfigureer is, maar laat die etiket eienaars toe om **aangepaste wagwoorde te konfigureer**. ### Low & High frequency tags comparison
## Low-Frequency RFID Tags (125kHz) **Lae-frekwensie etikette** word dikwels gebruik in stelsels wat **nie hoë sekuriteit** vereis nie: geboustoegang, interkomsleutels, gimnasiumlidmaatskapkaarte, ens. Vanweë hul hoër reeks, is dit gerieflik om te gebruik vir betaalde motorparkering: die bestuurder hoef nie die kaart naby die leser te bring nie, aangesien dit van 'n groter afstand geaktiveer word. Terselfdertyd is lae-frekwensie etikette baie primitief, hulle het 'n lae data-oordragtempo. Om daardie rede is dit onmoontlik om komplekse twee-rigting data-oordrag te implementeer vir dinge soos balans en kriptografie. Lae-frekwensie etikette stuur slegs hul kort ID oor sonder enige vorm van outentisering. Hierdie toestelle staatmaak op **passiewe** **RFID** tegnologie en werk in 'n **reeks van 30 kHz tot 300 kHz**, alhoewel dit meer gebruiklik is om 125 kHz tot 134 kHz te gebruik: - **Langafstand** — laer frekwensie vertaal na hoër reeks. Daar is 'n paar EM-Marin en HID lesers, wat van 'n afstand van tot 'n meter werk. Hierdie word dikwels in motorparkering gebruik. - **Primitiewe protokol** — as gevolg van die lae data-oordragtempo kan hierdie etikette slegs hul kort ID oordra. In die meeste gevalle is data nie geoutentiseer nie en dit is nie op enige manier beskerm nie. Sodra die kaart binne die reeks van die leser is, begin dit net om sy ID oor te dra. - **Lae sekuriteit** — Hierdie kaarte kan maklik gekopieer word, of selfs van iemand anders se sak gelees word as gevolg van die protokol se primitiewe aard. **Populêre 125 kHz protokolle:** - **EM-Marin** — EM4100, EM4102. Die mees gewilde protokol in CIS. Kan van ongeveer 'n meter gelees word weens sy eenvoud en stabiliteit. - **HID Prox II** — lae-frekwensie protokol wat deur HID Global bekendgestel is. Hierdie protokol is meer gewild in die westerse lande. Dit is meer kompleks en die kaarte en lesers vir hierdie protokol is relatief duur. - **Indala** — baie ou lae-frekwensie protokol wat deur Motorola bekendgestel is, en later deur HID verkry is. Jy is minder geneig om dit in die natuur te teëkom in vergelyking met die vorige twee omdat dit uit gebruik val. In werklikheid is daar baie meer lae-frekwensie protokolle. Maar hulle gebruik almal dieselfde modulering op die fisiese laag en kan beskou word, op een of ander manier, as 'n variasie van diegene wat hierbo gelys is. ### Attack Jy kan **hierdie etikette met die Flipper Zero aanval**: {{#ref}} flipper-zero/fz-125khz-rfid.md {{#endref}} ## High-Frequency RFID Tags (13.56 MHz) **Hoë-frekwensie etikette** word gebruik vir 'n meer komplekse leser-etiket interaksie wanneer jy kriptografie, 'n groot twee-rigting data-oordrag, outentisering, ens. benodig.\ Dit word gewoonlik in bankkaarte, openbare vervoer, en ander veilige toegangspasse aangetref. **Hoë-frekwensie 13.56 MHz etikette is 'n stel standaarde en protokolle**. Hulle word gewoonlik verwys na as [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/), maar dit is nie altyd korrek nie. Die basiese protokolstel wat op die fisiese en logiese vlakke gebruik word, is ISO 14443. Hoëvlak protokolle, sowel as alternatiewe standaarde (soos ISO 19092), is daarop gebaseer. Baie mense verwys na hierdie tegnologie as **Near Field Communication (NFC)**, 'n term vir toestelle wat oor die 13.56 MHz frekwensie werk.
Om dit eenvoudig te stel, werk NFC se argitektuur soos volg: die oordragprotokol word gekies deur die maatskappy wat die kaarte maak en geïmplementeer op grond van die lae-vlak ISO 14443. Byvoorbeeld, NXP het sy eie hoë-vlak oordragprotokol genaamd Mifare uitgevind. Maar op die laer vlak is Mifare kaarte gebaseer op die ISO 14443-A standaard. Flipper kan met beide die lae-vlak ISO 14443 protokol, sowel as Mifare Ultralight data-oordragprotokol en EMV wat in bankkaarte gebruik word, interaksie hê. Ons werk aan die toevoeging van ondersteuning vir Mifare Classic en NFC NDEF. 'n Deeglike blik op die protokolle en standaarde wat NFC saamstel, is die moeite werd om 'n aparte artikel te wees wat ons van plan is om later op te laai. Alle hoë-frekwensie kaarte gebaseer op die ISO 14443-A standaard het 'n unieke chip ID. Dit dien as die kaart se serienommer, soos 'n netwerkkaart se MAC-adres. **Gewoonlik is die UID 4 of 7 bytes lank**, maar kan selde **tot 10** gaan. UIDs is nie 'n geheim nie en hulle is maklik leesbaar, **soms selfs op die kaart self gedruk**. Daar is baie toegangbeheer stelsels wat op UID staatmaak om **te outentiseer en toegang te verleen**. Soms gebeur dit **selfs** wanneer RFID-etikette **kripto** ondersteun. So 'n **misbruik** bring hulle terug na die vlak van die dom **125 kHz kaarte** in terme van **veiligheid**. Virtuele kaarte (soos Apple Pay) gebruik 'n dinamiese UID sodat telefooneienaars nie deure met hul betalingsapp kan oopmaak nie. - **Lae reeks** — hoë-frekwensie kaarte is spesifiek ontwerp sodat hulle naby die leser geplaas moet word. Dit help ook om die kaart te beskerm teen ongeoorloofde interaksies. Die maksimum leesreeks wat ons kon bereik was ongeveer 15 cm, en dit was met op maat gemaakte hoë-reeks lesers. - **Gevorderde protokolle** — data-oordragspoed tot 424 kbps laat komplekse protokolle met volwaardige twee-rigting data-oordrag toe. Wat op sy beurt **kripto** toelaat, data-oordrag, ens. - **Hoë sekuriteit** — hoë-frekwensie kontaklose kaarte is op geen manier minderwaardig aan slim kaarte nie. Daar is kaarte wat kriptografies sterk algoritmes soos AES ondersteun en onreëlmatige kriptografie implementeer. ### Attack Jy kan **hierdie etikette met die Flipper Zero aanval**: {{#ref}} flipper-zero/fz-nfc.md {{#endref}} Of met die **proxmark**: {{#ref}} proxmark-3.md {{#endref}} ### Building a Portable HID MaxiProx 125 kHz Mobile Cloner As jy 'n **langafstand**, **batterij-aangedrewe** oplossing benodig om HID Prox® badges tydens rooi-span betrokkenhede te oes, kan jy die muur-gemonteerde **HID MaxiProx 5375** leser omskakel in 'n selfstandige kloner wat in 'n rugsak pas. Die volledige meganiese en elektriese stap-vir-stap is hier beskikbaar: {{#ref}} maxiprox-mobile-cloner.md {{#endref}} --- ## References - [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/) - [Let's Clone a Cloner – Part 3 (TrustedSec)](https://trustedsec.com/blog/lets-clone-a-cloner-part-3-putting-it-all-together) {{#include ../../banners/hacktricks-training.md}}