mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 13:13:41 +00:00
120 lines
12 KiB
Markdown
120 lines
12 KiB
Markdown
|
# Pentesting RFID
|
||
|
|
||
|
<details>
|
||
|
|
||
|
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
|
||
|
* Lavori in una **azienda di sicurezza informatica**? Vuoi vedere la tua **azienda pubblicizzata in HackTricks**? o vuoi avere accesso all'**ultima versione di PEASS o scaricare HackTricks in PDF**? Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
||
|
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
|
||
|
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
|
* **Unisciti al** [**💬**](https://emojipedia.org/speech-balloon/) [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguimi** su **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||
|
* **Condividi i tuoi trucchi di hacking inviando PR al** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **e al** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
|
||
|
</details>
|
||
|
|
||
|
## Introduzione
|
||
|
|
||
|
**Radio Frequency Identification (RFID)** è la soluzione radio a corto raggio più popolare. Di solito viene utilizzata per memorizzare e trasmettere informazioni che identificano un'entità.
|
||
|
|
||
|
Un tag RFID può fare affidamento sulla **propria fonte di alimentazione (attivo)**, come una batteria incorporata, o ricevere energia dall'antenna di lettura utilizzando la corrente **indotta dalle onde radio ricevute** (**passivo**).
|
||
|
|
||
|
### Classi
|
||
|
|
||
|
EPCglobal divide i tag RFID in sei categorie. Un tag in ogni categoria ha tutte le capacità elencate nella categoria precedente, rendendolo retrocompatibile.
|
||
|
|
||
|
* I tag **Classe 0** sono tag **passivi** che operano nelle bande **UHF**. Il fornitore li **preprogramma** in fabbrica. Di conseguenza, non è possibile **cambiare** le informazioni memorizzate nella loro memoria.
|
||
|
* I tag **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 aggiuntivi alla fine dei comandi per il rilevamento degli errori.
|
||
|
* I tag **Classe 2** possono essere **scritti più volte**.
|
||
|
* I tag **Classe 3** possono contenere **sensori incorporati** che possono registrare parametri ambientali, come la temperatura corrente o il movimento del tag. Questi tag sono **semipassivi**, perché sebbene abbiano una fonte di alimentazione incorporata, come una **batteria** integrata, non possono iniziare **comunicazioni** wireless con altri tag o lettori.
|
||
|
* I tag **Classe 4** possono avviare la comunicazione con altri tag della stessa classe, rendendoli **tag attivi**.
|
||
|
* I tag **Classe 5** possono fornire **alimentazione ad altri tag e comunicare con tutte le classi di tag precedenti**. I tag di Classe 5 possono fungere da **lettori RFID**.
|
||
|
|
||
|
### Informazioni memorizzate nei tag RFID
|
||
|
|
||
|
La memoria di un tag RFID di solito memorizza quattro tipi di dati: i dati di **identificazione**, che **identificano** l'**entità** a cui è collegato il tag (questi dati includono campi definiti dall'utente, come conti bancari); i dati **supplementari**, che forniscono **ulteriori dettagli** relativi 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 (**UID**) del tag e dettagli relativi alla **produzione**, al **tipo** e al **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.
|
||
|
|
||
|
Lo standard ISO specifica il valore dell'Application Family Identifier (**AFI**), un codice che indica il **tipo di oggetto** a cui appartiene il tag. Un altro registro importante, specificato anche da ISO, è l'Identificatore del Formato di Archiviazione dei Dati (**DSFID**), che definisce l'**organizzazione logica dei dati dell'utente**.
|
||
|
|
||
|
La maggior parte dei **controlli di sicurezza** RFID ha meccanismi che **limitano** le operazioni di **lettura** o **scrittura** su ogni blocco di memoria dell'utente e sui registri speciali che contengono i valori AFI e DSFID. Questi **meccanismi di blocco** utilizzano dati memorizzati nella memoria di controllo e hanno **password preconfigurate** dal fornitore ma consentono ai proprietari del tag di **configurare password personalizzate**.
|
||
|
|
||
|
### Confronto tra tag a bassa e alta frequenza
|
||
|
|
||
|
<figure><img src="../../.gitbook/assets/image (27).png" alt=""><figcaption></figcaption></figure>
|
||
|
|
||
|
## Tag RFID a bassa frequenza (125kHz)
|
||
|
|
||
|
I **tag a bassa frequenza** sono spesso utilizzati in sistemi che **non richiedono una grande sicurezza**: accesso agli edifici, chiavi per l'interfono, tessere per l'iscrizione in palestra, ecc. Grazie alla loro maggiore portata, sono comodi da utilizzare per il parcheggio a pagamento: il conducente non ha bisogno di avvicinare la tessera al lettore, poiché viene attivata da una distanza maggiore. Allo stesso tempo, i tag a bassa frequenza sono molto primitivi, hanno un basso tasso di trasferimento dei dati. Per questo motivo, è impossibile implementare un complesso trasferimento bidirezionale dei dati 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.
|
||
|
|
||
|
Questi dispositivi si basano sulla tecnologia **RFID passiva** e operano in un **intervallo di frequenza compreso tra 30 kHz e 300 kHz**, anche se è più comune utilizzare 125 kHz a 134 kHz:
|
||
|
|
||
|
* **Lungo raggio** - una frequenza più bassa si traduce in una maggiore portata. Ci sono alcuni lettori EM-Marin e HID, che funzionano da una distanza fino a un metro. Questi sono spesso utilizzati nei parcheggi per auto.
|
||
|
* **Protocollo primitivo** - a causa del basso tasso di trasferimento dei 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. Non appena la carta è nell'intervallo del lettore, inizia semplicemente a trasmettere il suo ID.
|
||
|
* **Bassa sicurezza** - Queste carte possono essere facilmente copiate, o addirittura lette dalla tasca di qualcun altro a causa della primitività del protocollo.
|
||
|
|
||
|
**Protocolli popolari a 125 kHz:**
|
||
|
|
||
|
* **EM-Marin** - EM4100, EM4102. Il protocollo più popolare nella CSI. Può essere letto da circa un metro a causa della 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 incontrarlo in natura rispetto ai due precedenti perché sta cadendo in disuso.
|
||
|
|
||
|
In realtà, ci sono molti altri protocolli a bassa frequenza. Ma tutti utilizzano la stessa modulazione sul livello fisico e possono essere considerati, in un modo o nell'altro, una variazione di quelli elencati sopra.
|
||
|
|
||
|
### Attacco
|
||
|
|
||
|
Puoi **attaccare questi tag con il Flipper Zero**:
|
||
|
|
||
|
{% content-ref url="flipper-zero/fz-125khz-rfid.md" %}
|
||
|
[fz-125khz-rfid.md](flipper-zero/fz-125khz-rfid.md)
|
||
|
{% endcontent-ref %}
|
||
|
|
||
|
## Tag RFID ad alta frequenza (13,56 MHz)
|
||
|
|
||
|
I tag ad alta frequenza vengono utilizzati per un'interazione più complessa tra lettore e tag quando è necessaria la crittografia, un'ampia trasmissione bidirezionale dei dati, l'autenticazione, ecc.\
|
||
|
Di solito si trovano nelle carte bancarie, nei trasporti pubblici e in altri passaggi sicuri.
|
||
|
|
||
|
I tag ad alta frequenza a 13,56 MHz sono un insieme di standard e protocolli. Solitamente vengono 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.
|
||
|
|
||
|
<figure><img src="../../.gitbook/assets/image (22).png" alt=""><figcaption></figcaption></figure>
|
||
|
|
||
|
Per metterla semplice, l'architettura NFC funziona così: il protocollo di trasmissione viene scelto dall'azienda che produce le carte e implementato sulla base del protocollo ISO 14443 a basso livello. 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.
|
||
|
|
||
|
Flipper può interagire sia con il protocollo ISO 14443 a basso livello, sia con il protocollo di trasferimento dati Mifare Ultralight e EMV utilizzato nelle carte bancarie. Stiamo lavorando per aggiungere il supporto per Mifare Classic e NFC NDEF. Uno sguardo approfondito ai protocolli e agli standard che compongono NFC merita un articolo separato che pianifichiamo di pubblicare in seguito.
|
||
|
|
||
|
Tutte le carte ad alta frequenza basate sullo standard ISO 14443-A hanno un ID chip univoco. 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 sono persino stampati sulla carta stessa.
|
||
|
|
||
|
Ci sono molti sistemi di controllo degli accessi che si basano sull'UID per autenticare e concedere l'accesso. A volte ciò accade anche quando i tag RFID supportano la crittografia. Un tale uso improprio li porta allo stesso livello delle carte a 125 kHz in termini di sicurezza. Le carte virtuali (come Apple Pay) utilizzano un UID dinamico in modo che i proprietari del telefono non aprano le porte con l'app di pagamento.
|
||
|
|
||
|
* **Bassa portata** - le carte ad alta frequenza sono progettate appositamente in modo che debbano essere posizionate vicino al lettore. Ciò 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 ciò è stato fatto con lettori ad alta portata personalizzati.
|
||
|
* **Protocolli avanzati** - velocità di trasferimento dati fino a 424 kbps consentono protocolli complessi con trasferimento bidirezionale completo. Ciò a sua volta consente la crittografia, il trasferimento dei dati, ecc.
|
||
|
* **Alta sicurezza** - le carte senza contatto ad alta frequenza non sono in alcun modo inferiori alle smart card. Ci sono carte che supportano algoritmi crittograficamente forti come AES e implementano la crittografia asimmetrica.
|
||
|
|
||
|
### Attacco
|
||
|
|
||
|
Puoi attaccare questi tag con Flipper Zero:
|
||
|
|
||
|
{% content-ref url="flipper-zero/fz-nfc.md" %}
|
||
|
[fz-nfc.md](flipper-zero/fz-nfc.md)
|
||
|
{% endcontent-ref %}
|
||
|
|
||
|
O utilizzando il **proxmark**:
|
||
|
|
||
|
{% content-ref url="proxmark-3.md" %}
|
||
|
[proxmark-3.md](proxmark-3.md)
|
||
|
{% endcontent-ref %}
|
||
|
|
||
|
## Riferimenti
|
||
|
|
||
|
* [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)
|
||
|
|
||
|
<details>
|
||
|
|
||
|
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
|
||
|
* Lavori in un'azienda di **sicurezza informatica**? Vuoi vedere la tua **azienda pubblicizzata in HackTricks**? O vuoi avere accesso all'**ultima versione di PEASS o scaricare HackTricks in PDF**? Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
|
||
|
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT**](https://opensea.io/collection/the-peass-family) esclusivi
|
||
|
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
|
||
|
* **Unisciti al** [**💬**](https://emojipedia.org/speech-balloon/) [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguimi** su **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||
|
* **Condividi i tuoi trucchi di hacking inviando PR al** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **e al** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
|
||
|
</details>
|