hacktricks/radio-hacking/pentesting-rfid.md

12 KiB

Pentesting RFID

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Inleiding

Radiofrekwensie-identifikasie (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-tag 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).

Klas

EPCglobal verdeel RFID-tags in ses kategorieë. 'n Tag in elke kategorie het al die vermoëns wat in die vorige kategorie gelys is, wat dit agteruitkompatibel maak.

  • Klas 0 tags is passiewe tags 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 tags kan ook in HF bande werk. Daarbenewens kan hulle slegs een keer geskryf word na produksie. Baie Klas 1 tags kan ook sikliese redundanskontroles (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 tags kan meermale geskryf word.
  • Klas 3 tags kan ingebedde sensors bevat wat omgewingsparameters kan opneem, soos die huidige temperatuur of die beweging van die tag. Hierdie tags is semi-passief, omdat hulle 'n ingebedde kragbron het, soos 'n geïntegreerde batterij, maar hulle kan nie inisieer draadlose kommunikasie met ander tags of lesers nie.
  • Klas 4 tags kan kommunikasie inisieer met ander tags van dieselfde klas, wat hulle aktiewe tags maak.
  • Klas 5 tags kan krag aan ander tags verskaf en kommunikeer met al die vorige tag klasse. Klas 5 tags kan as RFID-lesers optree.

Inligting Gestoor in RFID Tags

'n RFID-tag se geheue stoor gewoonlik vier soorte data: die identifikasiedata, wat die entiteit identifiseer waaraan die tag 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 tag se interne konfigurasie; en die tag se fabrikantdata, wat 'n tag se Unieke Identifiseerder (UID) en besonderhede oor die tag se produksie, tipe, en verskaffer bevat. Jy sal die eerste twee soorte data in al die kommersiële tags vind; die laaste twee kan verskil op grond van die tag se verskaffer.

Die ISO-standaard spesifiseer die Toepassing Familie Identifiseerder (AFI) waarde, 'n kode wat die soort objek wat die tag 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.

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 tag-eienaars toe om aangepaste wagwoorde te konfigureer.

Lae & Hoë frekwensie tags vergelyking

Lae-Frekwensie RFID Tags (125kHz)

Lae-frekwensie tags 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 tags baie primitief, hulle het 'n lae data-oordragspoed. Om hierdie rede is dit onmoontlik om komplekse twee-rigting data-oordrag vir dinge soos balans en kriptografie te implementeer. Lae-frekwensie tags stuur slegs hul kort ID oor sonder enige vorm van verifikasie.

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 — weens die lae data-oordragspoed kan hierdie tags slegs hul kort ID oordra. In die meeste gevalle is data nie geverifieer 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 weens 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 vanweë 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.

Aanval

Jy kan hierdie Tags met die Flipper Zero aanval:

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

Hoë-Frekwensie RFID Tags (13.56 MHz)

Hoë-frekwensie tags word gebruik vir 'n meer komplekse leser-tag interaksie wanneer jy kriptografie, 'n groot twee-rigting data-oordrag, verifikasie, ens. benodig.
Dit word gewoonlik in bankkaarte, openbare vervoer, en ander veilige toegangspasse aangetref.

Hoë-frekwensie 13.56 MHz tags is 'n stel standaarde en protokolle. Hulle word gewoonlik verwys na as NFC, 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 Nabyveldkommunikasie (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 kyk na 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 verifieer en toegang te verleen. Soms gebeur dit selfs wanneer RFID tags kriptografie ondersteun. So 'n misbruik bring hulle terug na die vlak van die dom 125 kHz kaarte in terme van sekuriteit. 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 leesafstand 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 kriptografie, data-oordrag, ens. toelaat.
  • 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.

Aanval

Jy kan hierdie Tags met die Flipper Zero aanval:

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

Of met die proxmark:

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

Verwysings

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}