Translated ['src/todo/radio-hacking/proxmark-3.md', 'src/todo/radio-hack

This commit is contained in:
Translator 2025-09-29 12:53:42 +00:00
parent da305c79ca
commit b24e98d836
2 changed files with 136 additions and 52 deletions

View File

@ -2,86 +2,86 @@
{{#include ../../banners/hacktricks-training.md}}
## Introduzione
## Introduction
**Radio Frequency Identification (RFID)** è la soluzione radio a corto raggio più popolare. Viene solitamente utilizzata per memorizzare e trasmettere informazioni che identificano un'entità.
**Radio Frequency Identification (RFID)** è la soluzione radio a corto raggio più diffusa. Viene solitamente usata per memorizzare e trasmettere informazioni che identificano un'entità.
Un tag RFID può fare affidamento su **una propria fonte di alimentazione (attiva)**, come una batteria incorporata, o ricevere la sua energia dall'antenna di lettura utilizzando la corrente **indotta dalle onde radio ricevute** (**passiva**).
Un tag RFID può basarsi su **una propria sorgente di alimentazione (active)**, come una batteria integrata, oppure ricevere la sua energia dall'antenna di lettura tramite la corrente **indotta dalle onde radio ricevute** (**passive**).
### Classi
### Classes
EPCglobal suddivide i tag RFID in sei categorie. Un tag in ciascuna categoria ha tutte le capacità elencate nella categoria precedente, rendendolo retrocompatibile.
EPCglobal suddivide i tag RFID in sei categorie. Un tag di ciascuna categoria possiede tutte le capacità elencate nella categoria precedente, rendendolo retrocompatibile.
- I tag di **Classe 0** sono tag **passivi** che operano nelle bande **UHF**. Il fornitore **li preprogramma** nella fabbrica di produzione. Di conseguenza, non **puoi cambiare** le informazioni memorizzate nella loro memoria.
- I tag di **Classe 1** possono anche operare nelle bande **HF**. Inoltre, possono essere **scritti solo una volta** dopo la produzione. Molti tag di Classe 1 possono anche elaborare **controlli di ridondanza ciclica** (CRC) dei comandi che ricevono. I CRC sono alcuni byte extra alla fine dei comandi per la rilevazione degli errori.
- I tag di **Classe 2** possono essere **scritti più volte**.
- I tag di **Classe 3** possono contenere **sensori incorporati** che possono registrare parametri ambientali, come la temperatura attuale o il movimento del tag. Questi tag sono **semi-passivi**, perché sebbene **abbiano** una fonte di alimentazione incorporata, come una **batteria** integrata, non **possono iniziare** comunicazioni wireless con altri tag o lettori.
- I tag di **Classe 4** possono iniziare comunicazioni con altri tag della stessa classe, rendendoli **tag attivi**.
- I tag di **Classe 5** possono fornire **energia ad altri tag e comunicare con tutte le classi di tag precedenti**. I tag di Classe 5 possono agire come **lettori RFID**.
- **Class 0** i tag sono **passive** che operano nelle bande **UHF**. Il produttore li **preprogramma** in fabbrica. Di conseguenza, **non puoi cambiare** le informazioni memorizzate nella loro memoria.
- **Class 1** i tag possono anche operare nelle bande **HF**. Inoltre, possono essere **scritti una sola volta** dopo la produzione. Molti tag Class 1 possono anche elaborare **cyclic redundancy checks** (CRCs) dei comandi che ricevono. I CRC sono alcuni byte aggiuntivi alla fine dei comandi per il rilevamento degli errori.
- **Class 2** i tag possono essere **riscritti più volte**.
- **Class 3** i tag possono contenere **sensori integrati** che possono registrare parametri ambientali, come la temperatura attuale o il movimento del tag. Questi tag sono **semi-passivi**, perché anche se **hanno** una sorgente di alimentazione integrata, come una **batteria**, **non possono iniziare** comunicazioni wireless con altri tag o reader.
- **Class 4** i tag possono iniziare la comunicazione con altri tag della stessa classe, rendendoli **active tags**.
- **Class 5** i tag possono fornire **alimentazione ad altri tag e comunicare con tutte le classi precedenti**. I tag Class 5 possono agire come **RFID readers**.
### Informazioni Memorizzate nei Tag RFID
### Information Stored in RFID Tags
La memoria di un tag RFID di solito memorizza quattro tipi di dati: i **dati di identificazione**, che **identificano** l'**entità** a cui il tag è attaccato (questi dati includono campi definiti dall'utente, come conti bancari); i **dati supplementari**, che forniscono **ulteriori** **dettagli** riguardo all'entità; i **dati di controllo**, utilizzati per la **configurazione** interna del tag; e i **dati del produttore** del tag, che contengono un Identificatore Unico del tag (**UID**) e dettagli riguardanti la **produzione**, il **tipo** e il **fornitore** del tag. Troverai i primi due tipi di dati in tutti i tag commerciali; gli ultimi due possono differire in base al fornitore del tag.
La memoria di un tag RFID solitamente conserva quattro tipi di dati: i **dati di identificazione**, che **identificano** l'**entità** a cui il tag è attaccato (questi dati includono campi definiti dall'utente, come conti bancari); i **dati supplementari**, che forniscono **ulteriori** **dettagli** sull'entità; i **dati di controllo**, usati per la **configurazione** interna del tag; e i **dati del produttore**, che contengono l'Unique Identifier (**UID**) del tag e dettagli riguardo alla **produzione**, **tipo** e **vendor** del tag. Troverai i primi due tipi di dati in tutti i tag commerciali; gli ultimi due possono variare in base al vendor del tag.
Lo standard ISO specifica il valore dell'Identificatore della Famiglia di Applicazione (**AFI**), un codice che indica il **tipo di oggetto** a cui appartiene il tag. Un altro registro importante, anch'esso specificato dall'ISO, è l'Identificatore del Formato di Memorizzazione dei Dati (**DSFID**), che definisce la **organizzazione logica dei dati utente**.
Lo standard ISO specifica il valore Application Family Identifier (**AFI**), un codice che indica il **tipo di oggetto** a cui il tag appartiene. Un altro registro importante, anch'esso specificato dall'ISO, è il Data Storage Format Identifier(**DSFID**), che definisce la **organizzazione logica dei dati utente**.
La maggior parte dei **controlli di sicurezza** RFID ha meccanismi che **limitano** le operazioni di **lettura** o **scrittura** su ciascun blocco di memoria utente e sui registri speciali contenenti i valori AFI e DSFID. Questi **meccanismi di blocco** utilizzano dati memorizzati nella memoria di controllo e hanno **password predefinite** preconfigurate dal fornitore, ma consentono ai proprietari del tag di **configurare password personalizzate**.
La maggior parte dei **controlli di sicurezza** RFID ha meccanismi che **limitano** le operazioni di **lettura** o **scrittura** su ogni blocco di memoria utente e sui registri speciali che contengono i valori AFI e DSFID. Questi **meccanismi di lock** utilizzano dati memorizzati nella memoria di controllo e hanno **password predefinite** configurate dal vendor ma permettono ai proprietari dei tag di **configurare password personalizzate**.
### Confronto tra Tag a Bassa e Alta Frequenza
### Low & High frequency tags comparison
<figure><img src="../../images/image (983).png" alt=""><figcaption></figcaption></figure>
## Tag RFID a Bassa Frequenza (125kHz)
## Low-Frequency RFID Tags (125kHz)
I **tag a bassa frequenza** sono spesso utilizzati in sistemi che **non richiedono alta sicurezza**: accesso agli edifici, chiavi per citofoni, carte di abbonamento in palestra, ecc. A causa della loro maggiore portata, sono comodi da usare per il parcheggio a pagamento: il conducente non deve avvicinare la carta al lettore, poiché viene attivata da una distanza maggiore. Allo stesso tempo, i tag a bassa frequenza sono molto primitivi, hanno una bassa velocità di trasferimento dati. Per questo motivo, è impossibile implementare un complesso trasferimento dati bidirezionale per cose come il mantenimento del saldo e la crittografia. I tag a bassa frequenza trasmettono solo il loro breve ID senza alcun mezzo di autenticazione.
I **tag a bassa frequenza** sono spesso usati in sistemi che **non richiedono alta sicurezza**: accessi agli edifici, citofoni, tessere di iscrizione alla palestra, ecc. Grazie alla loro maggiore portata, sono comodi da usare per i parcheggi a pagamento: il guidatore non deve avvicinare la tessera al reader, perché viene attivata da più lontano. Allo stesso tempo, i tag a bassa frequenza sono molto primitivi e hanno una bassa velocità di trasferimento dati. Per questo motivo è impossibile implementare trasferimenti dati bidirezionali complessi per funzioni come il mantenimento del saldo e la crittografia. I tag a bassa frequenza trasmettono solo il loro breve ID senza alcun mezzo di autenticazione.
Questi dispositivi si basano sulla tecnologia **RFID** **passiva** e operano in un **intervallo di 30 kHz a 300 kHz**, anche se è più comune utilizzare 125 kHz a 134 kHz:
Questi dispositivi si basano sulla tecnologia **passive RFID** e operano in un **intervallo da 30 kHz a 300 kHz**, anche se è più comune usare 125 kHz a 134 kHz:
- **Lunga distanza** — una frequenza più bassa si traduce in una maggiore portata. Ci sono alcuni lettori EM-Marin e HID, che funzionano da una distanza di fino a un metro. Questi sono spesso utilizzati nel parcheggio.
- **Protocollo primitivo** — a causa della bassa velocità di trasferimento dati, questi tag possono trasmettere solo il loro breve ID. Nella maggior parte dei casi, i dati non sono autenticati e non sono protetti in alcun modo. Non appena la carta è nel raggio del lettore, inizia semplicemente a trasmettere il suo ID.
- **Bassa sicurezza**Queste carte possono essere facilmente copiate, o anche lette dalla tasca di qualcun altro a causa della primitività del protocollo.
- **Lunga portata** — frequenze più basse si traducono in maggiore portata. Esistono alcuni reader EM-Marin e HID che funzionano da una distanza fino a un metro. Questi sono spesso usati nei parcheggi per auto.
- **Protocollo primitivo** — a causa della bassa velocità di trasferimento dati questi tag possono solo trasmettere il loro breve ID. Nella maggior parte dei casi i dati non sono autenticati e non sono protetti in alcun modo. Appena la tessera è nel raggio del reader inizia semplicemente a trasmettere il suo ID.
- **Bassa sicurezza**queste tessere possono essere facilmente clonate, o persino lette dalla tasca di qualcun altro a causa della primitivezza del protocollo.
**Protocollo 125 kHz popolari:**
**Popular 125 kHz protocols:**
- **EM-Marin** — EM4100, EM4102. Il protocollo più popolare nella CIS. Può essere letto da circa un metro grazie alla sua semplicità e stabilità.
- **HID Prox II** — protocollo a bassa frequenza introdotto da HID Global. Questo protocollo è più popolare nei paesi occidentali. È più complesso e le carte e i lettori per questo protocollo sono relativamente costosi.
- **Indala** — protocollo a bassa frequenza molto vecchio introdotto da Motorola, e successivamente acquisito da HID. È meno probabile che tu lo incontri nel mondo reale rispetto ai precedenti due perché sta cadendo in disuso.
- **HID Prox II** — protocollo a bassa frequenza introdotto da HID Global. Questo protocollo è più popolare nei paesi occidentali. È più complesso e le tessere e i reader per questo protocollo sono relativamente costosi.
- **Indala** — protocollo a bassa frequenza molto vecchio introdotto da Motorola e in seguito acquistato da HID. È meno probabile incontrarlo in natura rispetto ai due precedenti perché sta cadendo in disuso.
In realtà, ci sono molti più protocolli a bassa frequenza. Ma utilizzano tutti la stessa modulazione sul livello fisico e possono essere considerati, in un modo o nell'altro, una variazione di quelli elencati sopra.
In realtà esistono molti altri protocolli a bassa frequenza. Ma usano tutti la stessa modulazione a livello fisico e possono essere considerati, in un modo o nell'altro, una variazione di quelli elencati sopra.
### Attacco
### Attack
Puoi **attaccare questi Tag con il Flipper Zero**:
Puoi **attaccare** questi tag con il Flipper Zero:
{{#ref}}
flipper-zero/fz-125khz-rfid.md
{{#endref}}
## Tag RFID ad Alta Frequenza (13.56 MHz)
## High-Frequency RFID Tags (13.56 MHz)
I **tag ad alta frequenza** sono utilizzati per un'interazione più complessa tra lettore e tag quando hai bisogno di crittografia, un ampio trasferimento dati bidirezionale, autenticazione, ecc.\
Si trovano solitamente in carte bancarie, trasporti pubblici e altri passaggi sicuri.
I **tag ad alta frequenza** vengono usati per interazioni reader-tag più complesse quando sono necessarie crittografia, un ampio trasferimento dati bidirezionale, autenticazione, ecc.\
Si trovano solitamente in carte bancarie, trasporto pubblico e altri pass per sicuri.
I **tag ad alta frequenza 13.56 MHz sono un insieme di standard e protocolli**. Vengono solitamente chiamati [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/), ma non è sempre corretto. Il set di protocolli di base utilizzato a livello fisico e logico è ISO 14443. I protocolli di alto livello, così come gli standard alternativi (come ISO 19092), si basano su di esso. Molte persone si riferiscono a questa tecnologia come **Near Field Communication (NFC)**, un termine per dispositivi che operano sulla frequenza di 13.56 MHz.
I **tag ad alta frequenza 13.56 MHz sono un insieme di standard e protocolli**. Vengono solitamente chiamati [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/), ma non è sempre corretto. L'insieme di protocolli di base usati ai livelli fisico e logico è ISO 14443. I protocolli di alto livello, così come standard alternativi (come ISO 19092), si basano su di esso. Molti chiamano questa tecnologia **Near Field Communication (NFC)**, termine per dispositivi che operano sulla frequenza di 13.56 MHz.
<figure><img src="../../images/image (930).png" alt=""><figcaption></figcaption></figure>
In parole semplici, l'architettura NFC funziona così: il protocollo di trasmissione è scelto dall'azienda che produce le carte e implementato sulla base del livello ISO 14443. Ad esempio, NXP ha inventato il proprio protocollo di trasmissione di alto livello chiamato Mifare. Ma a livello inferiore, le carte Mifare si basano sullo standard ISO 14443-A.
Per semplificare, l'architettura di NFC funziona così: il protocollo di trasmissione è scelto dall'azienda che produce le tessere ed è implementato sulla base del livello basso ISO 14443. Per esempio, NXP ha inventato il proprio protocollo di trasmissione di alto livello chiamato Mifare. Ma a livello inferiore, le tessere Mifare si basano sullo standard ISO 14443-A.
Flipper può interagire sia con il protocollo ISO 14443 di basso livello, sia con il protocollo di trasferimento dati Mifare Ultralight e EMV utilizzato nelle carte bancarie. Stiamo lavorando per aggiungere supporto per Mifare Classic e NFC NDEF. Un'analisi approfondita dei protocolli e degli standard che compongono l'NFC merita un articolo separato che prevediamo di pubblicare in seguito.
Flipper può interagire sia con il protocollo di basso livello ISO 14443, sia con il protocollo di trasferimento dati Mifare Ultralight e EMV usato nelle carte bancarie. Stiamo lavorando per aggiungere il supporto per Mifare Classic e NFC NDEF. Un'analisi approfondita dei protocolli e degli standard che compongono NFC meriterebbe un articolo separato che prevediamo di pubblicare più avanti.
Tutte le carte ad alta frequenza basate sullo standard ISO 14443-A hanno un ID chip unico. Funziona come il numero di serie della carta, come l'indirizzo MAC di una scheda di rete. **Di solito, l'UID è lungo 4 o 7 byte**, ma può raramente arrivare **fino a 10**. Gli UID non sono un segreto e sono facilmente leggibili, **a volte anche stampati sulla carta stessa**.
Tutte le tessere ad alta frequenza basate sullo standard ISO 14443-A hanno un ID chip univoco. Agisce come il numero seriale della tessera, come l'indirizzo MAC di una scheda di rete. **Di solito, l'UID è lungo 4 o 7 byte**, ma raramente può arrivare **fino a 10**. Gli UID non sono segreti e sono facilmente leggibili, **a volte persino stampati sulla tessera stessa**.
Ci sono molti sistemi di controllo accessi che si basano sull'UID per **autenticare e concedere accesso**. A volte questo avviene **anche** quando i tag RFID **supportano la crittografia**. Tale **uso improprio** li riduce al livello delle stupide **carte da 125 kHz** in termini di **sicurezza**. Le carte virtuali (come Apple Pay) utilizzano un UID dinamico in modo che i proprietari dei telefoni non possano aprire porte con la loro app di pagamento.
Ci sono molti sistemi di controllo accessi che si basano sull'UID per **autenticare e concedere l'accesso**. A volte ciò avviene **anche** quando i tag RFID **supportano la crittografia**. Tale **abuso** li porta allo stesso livello delle semplici **tessere 125 kHz** in termini di **sicurezza**. Le tessere virtuali (come Apple Pay) usano un UID dinamico in modo che i proprietari del telefono non aprano porte con la loro app di pagamento.
- **Bassa portata** — le carte ad alta frequenza sono progettate specificamente in modo che debbano essere posizionate vicino al lettore. Questo aiuta anche a proteggere la carta da interazioni non autorizzate. La massima distanza di lettura che siamo riusciti a raggiungere è stata di circa 15 cm, e questo è stato con lettori ad alta portata realizzati su misura.
- **Protocolli avanzati** — velocità di trasferimento dati fino a 424 kbps consentono protocolli complessi con trasferimento dati bidirezionale completo. Il che a sua volta **consente la crittografia**, il trasferimento di dati, ecc.
- **Portata ridotta** — le tessere ad alta frequenza sono progettate in modo che debbano essere avvicinate al reader. Questo aiuta anche a proteggere la tessera da interazioni non autorizzate. La portata massima di lettura che siamo riusciti a raggiungere è stata di circa 15 cm, e ciò con reader ad alta portata fatti su misura.
- **Protocolli avanzati** — velocità di trasferimento dati fino a 424 kbps permettono protocolli complessi con trasferimenti dati bidirezionali completi. Il che a sua volta **consente crittografia**, trasferimento dati, ecc.
- **Alta sicurezza** — le carte contactless ad alta frequenza non sono in alcun modo inferiori alle smart card. Ci sono carte che supportano algoritmi crittograficamente forti come AES e implementano crittografia asimmetrica.
### Attacco
### Attack
Puoi **attaccare questi Tag con il Flipper Zero**:
Puoi **attaccare** questi tag con il Flipper Zero:
{{#ref}}
@ -95,9 +95,55 @@ Oppure usando il **proxmark**:
proxmark-3.md
{{#endref}}
### Costruire un Cloner Mobile HID MaxiProx 125 kHz
### MiFare Classic offline stored-value tampering (broken Crypto1)
Se hai bisogno di una soluzione **a lungo raggio**, **alimentata a batteria** per raccogliere i badge HID Prox® durante gli ingaggi di red team, puoi convertire il lettore **HID MaxiProx 5375** montato a parete in un cloner autonomo che si adatta a uno zaino. La guida meccanica ed elettrica completa è disponibile qui:
Quando un sistema memorizza un saldo monetario direttamente su una carta MiFare Classic, spesso è possibile manipolarlo perché Classic usa il cifrario Crypto1 deprecato di NXP. Crypto1 è stato compromesso da anni, permettendo il recupero delle chiavi di settore e la lettura/scrittura completa della memoria della carta con hardware commerciale (es., Proxmark3).
End-to-end workflow (astratto):
1) Effettua il dump della carta originale e recupera le chiavi
```bash
# Attempt all built-in Classic key recovery attacks and dump the card
hf mf autopwn
```
Questo tipicamente recupera le chiavi del settore (A/B) e genera un dump completo della scheda nella cartella client dumps.
2) Individuare e comprendere i campi value/integrity
- Eseguire ricariche legittime sulla scheda originale e effettuare più dump (prima/dopo).
- Eseguire un diff tra i due dump per identificare i blocchi/byte che cambiano e che rappresentano il saldo e gli eventuali campi di integrità.
- Molte implementazioni Classic usano la codifica nativa "value block" oppure implementano checksum propri (es., XOR del saldo con un altro campo e una costante). Dopo aver modificato il saldo, ricalcola i byte di integrità di conseguenza e assicurati che tutti i campi duplicati/complementati siano coerenti.
3) Scrivere il dump modificato su un tag Classic “Chinese magic” scrivibile
```bash
# Load a modified binary dump onto a UID-changeable Classic tag
hf mf cload -f modified.bin
```
4) Clona l'UID originale in modo che i terminali riconoscano la tessera
```bash
# Set the UID on a UID-changeable tag (gen1a/gen2 magic)
hf mf csetuid -u <original_uid>
```
5) Uso ai terminali
I lettori che si fidano del saldo sulla carta e dell'UID accetteranno la carta manipolata. Le osservazioni sul campo mostrano che molte installazioni limitano i saldi in base alla larghezza del campo (ad es., 16-bit fixed-point).
Note
- Se il sistema utilizza value blocks nativi Classic, ricorda il formato: value (4B) + ~value (4B) + value (4B) + block address + ~address. Tutte le parti devono corrispondere.
- Per formati custom con checksum semplici, l'analisi differenziale è il modo più veloce per ricavare la funzione di integrità senza effettuare il reverse engineering del firmware.
- Solo i tag con UID modificabile ("Chinese magic" gen1a/gen2) permettono la scrittura del block 0/UID. Le normali carte Classic hanno UID in sola lettura.
Per i comandi pratici di Proxmark3, vedi:
{{#ref}}
proxmark-3.md
{{#endref}}
### Costruire un cloner mobile portatile HID MaxiProx 125 kHz
Se hai bisogno di una soluzione **long-range**, **battery-powered** per raccogliere badge HID Prox® durante engagement red-team puoi convertire il lettore a muro **HID MaxiProx 5375** in un cloner autonomo che entra in uno zaino. La guida completa meccanica ed elettrica è disponibile qui:
{{#ref}}
@ -110,5 +156,8 @@ maxiprox-mobile-cloner.md
- [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}}

View File

@ -4,13 +4,13 @@
## Attaccare i sistemi RFID con Proxmark3
La prima cosa che devi fare è avere un [**Proxmark3**](https://proxmark.com) e [**installare il software e le sue dipendenze**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
La prima cosa che devi fare è avere un [**Proxmark3**](https://proxmark.com) e [**install the software and it's dependencie**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
### Attaccare MIFARE Classic 1KB
Ha **16 settori**, ognuno dei quali ha **4 blocchi** e ogni blocco contiene **16B**. L'UID si trova nel settore 0 blocco 0 (e non può essere modificato).\
Per accedere a ciascun settore hai bisogno di **2 chiavi** (**A** e **B**) che sono memorizzate in **blocco 3 di ciascun settore** (settore trailer). Il settore trailer memorizza anche i **bit di accesso** che forniscono i permessi di **lettura e scrittura** su **ciascun blocco** utilizzando le 2 chiavi.\
2 chiavi sono utili per dare permessi di lettura se conosci la prima e di scrittura se conosci la seconda (ad esempio).
Ha **16 settori**, ognuno dei quali ha **4 blocchi** e ogni blocco contiene **16B**. L'UID si trova nel settore 0, blocco 0 (e non può essere modificato).\
Per accedere a ogni settore sono necessarie **2 chiavi** (**A** e **B**) che sono memorizzate in **blocco 3 di ogni settore** (sector trailer). Il sector trailer memorizza anche i **bit di accesso** che danno le autorizzazioni di **lettura e scrittura** su **ogni blocco** usando le 2 chiavi.\
Le 2 chiavi sono utili, ad esempio, per concedere permessi di lettura se conosci la prima e permessi di scrittura se conosci la seconda.
Possono essere eseguiti diversi attacchi
```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
```
Il Proxmark3 consente di eseguire altre azioni come **l'intercettazione** di una **comunicazione Tag a Reader** per cercare di trovare dati sensibili. In questa scheda potresti semplicemente sniffare la comunicazione e calcolare la chiave utilizzata perché le **operazioni crittografiche utilizzate sono deboli** e conoscendo il testo in chiaro e il testo cifrato puoi calcolarla (strumento `mfkey64`).
Il Proxmark3 permette di eseguire altre azioni come **eavesdropping** di una **Tag to Reader communication** per cercare di trovare dati sensibili. Su questa card puoi semplicemente intercettare la comunicazione e calcolare la chiave usata perché le **operazioni crittografiche utilizzate sono deboli** e, conoscendo il testo in chiaro e il testo cifrato, puoi calcolarla (tool `mfkey64`).
### Comandi Grezzi
#### Flusso di lavoro rapido di MiFare Classic per l'abuso di stored-value
I sistemi IoT a volte utilizzano **tag non marchiati o non commerciali**. In questo caso, puoi utilizzare Proxmark3 per inviare **comandi grezzi personalizzati ai tag**.
Quando i terminali memorizzano i saldi sulle schede Classic, un tipico flusso end-to-end è:
```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>
```
Note
- `hf mf autopwn` orchestra nested/darkside/HardNested-style attacks, recupera chiavi e crea dump nella cartella client dumps.
- La scrittura del block 0/UID funziona solo su magic gen1a/gen2 cards. Le normali Classic cards hanno UID in sola lettura.
- Molte implementazioni usano Classic "value blocks" o simple checksums. Assicurati che tutti i campi duplicati/complementati e i checksums siano coerenti dopo la modifica.
Vedi una metodologia di livello superiore e le mitigazioni in:
{{#ref}}
pentesting-rfid.md
{{#endref}}
### Comandi raw
I sistemi IoT a volte usano **tag non brandizzati o non commerciali**. In questo caso, puoi usare Proxmark3 per inviare comandi **raw personalizzati ai tag**.
```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
```
Con queste informazioni potresti provare a cercare informazioni sulla scheda e sul modo di comunicare con essa. Proxmark3 consente di inviare comandi raw come: `hf 14a raw -p -b 7 26`
Con queste informazioni potresti provare a cercare informazioni sulla tessera e sul modo di comunicare con essa. Proxmark3 permette di inviare comandi raw come: `hf 14a raw -p -b 7 26`
### Script
Il software Proxmark3 viene fornito con un elenco precaricato di **script di automazione** che puoi utilizzare per eseguire semplici attività. Per recuperare l'elenco completo, utilizza il comando `script list`. Successivamente, utilizza il comando `script run`, seguito dal nome dello script:
Il software Proxmark3 include una lista precaricata di **script di automazione** che puoi usare per eseguire operazioni semplici. Per ottenere la lista completa, usa il comando `script list`. Poi, usa il comando `script run` seguito dal nome dello script:
```
proxmark3> script run mfkeys
```
Puoi creare uno script per **fuzz tag readers**, quindi copiando i dati di una **carta valida** basta scrivere uno **script Lua** che **randomizzi** uno o più **byte** casuali e controlli se il **reader si blocca** con qualche iterazione.
Puoi creare uno script per **fuzz tag readers**: copiando i dati di una **valid card**, basta scrivere un **Lua script** che **randomize** uno o più **bytes** casuali e verificare se il **reader crashes** in qualche iterazione.
## Riferimenti
- [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}}