11 KiB
Pentesting RFID
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
- Werk jy in 'n cybersekerheidsmaatskappy? Wil jy jou maatskappy geadverteer sien in HackTricks? of wil jy toegang hê tot die nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat? Kyk na die INSKRYWINGSPLANNE!
- Ontdek Die PEASS-familie, ons versameling eksklusiewe NFT's
- Kry die amptelike PEASS & HackTricks swag
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg my op Twitter 🐦@carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die hacktricks-opslag en hacktricks-cloud-opslag.
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-etiket kan staatmaak op sy eie kragbron (aktief), soos 'n ingeboude battery, of kry sy krag van die leesantenne deur die huidige wat geïnduseer word deur die ontvang radio-golwe (passief).
Klasse
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 agteruitversoenbaar maak.
- Klas 0 etikette is passiewe etikette wat in UHF bande werk. Die verkoper programmeer hulle by die produksiefabriek. As gevolg hiervan kan jy nie die inligting wat in hul geheue gestoor is, verander nie.
- Klas 1 etikette kan ook in HF bande werk. Daarbenewens kan hulle slegs een keer na produksie geskryf word. Baie Klas 1 etikette kan ook sikliese redundansie kontroles (CRC's) van die opdragte wat hulle ontvang, verwerk. CRC's is 'n paar ekstra byte aan die einde van die opdragte vir foutopsporing.
- Klas 2 etikette kan meerdere kere geskryf word.
- Klas 3 etikette kan ingebedde sensors bevat wat omgewingsparameters kan opneem, soos die huidige temperatuur of die etiket se beweging. Hierdie etikette is semi-passief, omdat alhoewel hulle 'n ingeboude kragbron het, soos 'n geïntegreerde batterye, hulle nie draadlose kommunikasie met ander etikette of lesers kan inisieer nie.
- Klas 4 etikette kan kommunikasie met ander etikette van dieselfde klas inisieer, wat hulle aktiewe etikette maak.
- Klas 5 etikette kan krag aan ander etikette voorsien en met al die vorige etiketklasse kommunikeer. Klas 5 etikette kan as RFID-lesers optree.
Inligting Gestoor in RFID Etikette
'n RFID-etiket se geheue stoor gewoonlik vier soorte data: die identifikasie data, 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 beheerdata, wat gebruik word vir die etiket se interne konfigurasie; en die etiket se vervaardigerdata, wat 'n etiket se Unieke Identifiseerder (UID) en besonderhede oor die etiket se produksie, tipe, en verkoper bevat. Jy sal die eerste twee soorte data in alle kommersiële etikette vind; die laaste twee kan verskil op grond van die etiket se verkoper.
Die ISO-standaard spesifiseer die Aansoekfamilie-identifiseerder (AFI) waarde, 'n kode wat die soort voorwerp aandui waaraan die etiket behoort. 'n Ander belangrike register, ook deur ISO gespesifiseer, is die Data Bergingsformaat Identifiseerder (DSFID), wat die logiese organisasie van die gebruikersdata definieer.
Meeste RFID sekuriteitskontroles het meganismes wat die lees of skryf-operasies op elke gebruikersgeheueblok en op die spesiale registers wat die AFI- en DSFID-waardes bevat, beperk. Hierdie sluitingsmeganismes gebruik data wat in die beheergeheue gestoor is en het standaard wagwoorde wat deur die verkoper voorgesit is, maar laat die etiket eienaars toe om aangepaste wagwoorde te konfigureer.
Lae- en Hoëfrekwensie-etikette vergelyking
Lae-Frekwensie RFID Etikette (125kHz)
Lae-frekwensie etikette word dikwels gebruik in stelsels wat nie hoë sekuriteit benodig nie: gebou-toegang, interkom sleutels, gimnasium-lidmaatskapskaarte, ens. As gevolg van hul hoër reikwydte, is dit gerieflik om dit te gebruik vir betaalde motorparkering: die bestuurder hoef nie die kaart naby aan die leser te bring nie, omdat dit van verder af geaktiveer word. Terselfdertyd is lae-frekwensie etikette baie primitief, hulle het 'n lae data-oordragtempo. Om hierdie rede is dit onmoontlik om komplekse tweerigting data-oordrag te implementeer vir sulke dinge soos balans hou en kriptografie. Lae-frekwensie etikette stuur slegs hul kort ID oor sonder enige vorm van outentifikasie.
Hierdie toestelle staatmaak op passiewe RFID-tegnologie en werk in 'n reeks van 30 kHz tot 300 kHz, alhoewel dit meer gewoonlik is om 125 kHz tot 134 kHz te gebruik:
- Lang Reikwydte — laer frekwensie vertaal na hoër reikwydte. Daar is 'n paar EM-Marin en HID lesers wat werk van 'n afstand tot 'n meter. 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 word data nie geoutentifiseer en dit is op geen manier beskerm nie. Sodra die kaart binne die reik van die leser is, begin dit net sy ID oordra.
- Laer sekuriteit — Hierdie kaarte kan maklik gekopieer word, of selfs van iemand anders se sak gelees word as gevolg van die primitiwiteit van die protokol.
Gewilde 125 kHz protokolle:
- EM-Marin — EM4100, EM4102. Die mees gewilde protokol in die GOS. Kan gelees word vanaf ongeveer 'n meter as gevolg van sy eenvoudigheid 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 vind in vergelyking met die vorige twee omdat dit uit gebruik raak.
In werklikheid is daar baie meer lae-frekwensie protokolle. Maar hulle gebruik almal dieselfde modulasie op die fisiese laag en kan, op een of ander manier, as 'n variasie van die bogenoemde beskou word.
Aanval
Jy kan hierdie Etikette aanval met die Flipper Zero:
{% content-ref url="flipper-zero/fz-125khz-rfid.md" %} fz-125khz-rfid.md {% endcontent-ref %}
Hoë Frekwensie RFID-etikette (13.56 MHz)
Hoë frekwensie etikette word gebruik vir 'n meer komplekse leser-etiket interaksie wanneer jy kriptografie, 'n groot tweerigting data-oordrag, verifikasie, ens. benodig. Dit word gewoonlik gevind in bankkaarte, openbare vervoer, en ander veilige toegangspasse.
Hoë frekwensie 13.56 MHz etikette is 'n stel standaarde en protokolle. Hulle word gewoonlik verwys as NFC, maar dit is nie altyd korrek nie. Die basiese protokolstel wat op 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 op die 13.56 MHz frekwensie werk.
Om dit eenvoudig te stel, werk die argitektuur van NFC soos volg: die oordragprotokol word deur die maatskappy wat die kaarte maak gekies en geïmplementeer op grond van die laevlak 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 laevlak ISO 14443 protokol, sowel as Mifare Ultralight data-oordragprotokol en EMV wat in bankkaarte gebruik word, interaksie hê. Ons werk daaraan om ondersteuning vir Mifare Classic en NFC NDEF by te voeg. 'n Deeglike kyk na die protokolle en standaarde wat NFC uitmaak, is die moeite werd van 'n aparte artikel wat ons later beplan om te publiseer.
Alle hoë frekwensie kaarte gebaseer op die ISO 14443-A standaard het 'n unieke chip-ID. Dit tree op as die kaart se serienommer, soos 'n netwerkkaart se MAC-adres. Gewoonlik is die UID 4 of 7 byte 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 toegangsbeheerstelsels wat op UID staatmaak om verifikasie te doen en toegang te verleen. Soms gebeur dit selfs wanneer RFID-etikette kriptografie ondersteun. Sulke misbruik bring hulle na die vlak van die domme 125 kHz kaarte in terme van sekuriteit. Virtuele kaarte (soos Apple Pay) gebruik 'n dinamiese UID sodat foneienaars nie deure met hul betalingsprogram sal oopmaak nie.
- Lae reeks — hoë frekwensie kaarte is spesifiek ontwerp sodat hulle naby die leser geplaas moet word. Dit help ook om die kaart teen ongemagtigde interaksies te beskerm. Die maksimum leesafstand wat ons kon bereik was ongeveer 15 cm, en dit was met op maat gemaakte hoë-reik leser.
- Gevorderde protokolle — data-oordrag spoed tot 424 kbps maak komplekse protokolle met volwaardige tweerigting data-oordrag moontlik. Dit maak kriptografie, data-oordrag, ens. moontlik.
- Hoë sekuriteit — hoë frekwensie kontaklose kaarte is geensins minderwaardig aan slim kaarte nie. Daar is kaarte wat kriptografies sterk algoritmes soos AES ondersteun en asimmetriese kriptografie implementeer.
Aanval
Jy kan hierdie Etikette aanval met die Flipper Zero:
{% content-ref url="flipper-zero/fz-nfc.md" %} fz-nfc.md {% endcontent-ref %}
Of deur die proxmark te gebruik:
{% content-ref url="proxmark-3.md" %} proxmark-3.md {% endcontent-ref %}