| name | iot-rfid-nfc |
| title | RFID & NFC — Clonage, Émulation et Attaques |
| description | Guide complet pour le hacking de systèmes RFID et NFC : clonage de badges (MIFARE Classic, HID, iCLASS), émulation, attaques cryptographiques (crypto1), bruteforce de clés, sniffing de transactions, et exploitation de protocoles de proximité sur les dispositifs IoT. |
| category | cybersecurite |
RFID & NFC — Clonage, Émulation et Attaques
Vue d'Ensemble
Les technologies RFID (Radio Frequency Identification) et NFC (Near Field Communication) sont omniprésentes dans l'IoT : contrôle d'accès (badges, serrures), paiement sans contact, inventaire, identification d'appareils, authentification sans fil. La capacité à cloner, émuler, ou contourner ces systèmes est un vecteur d'attaque critique.
Objectifs
- Identifier le type de tag RFID/NFC (fréquence, protocole, crypto)
- Lire et écrire des badges (MIFARE, HID, iCLASS, EM4102)
- Cloner un badge légitime
- Émuler un tag avec un appareil programmable (Flipper Zero, Proxmark3)
- Attaquer la crypto MIFARE Classic (crypto1)
- Bruteforcer des clés d'accès
- Sniffer les échanges entre lecteur et tag
- Contourner l'authentification NFC (relay attack, MITM)
Types de Tags RFID/NFC
Fréquences
| Bande | Fréquence | Portée | Usage |
|---|
| LF (Low Frequency) | 125-134 kHz | ~10cm | Contrôle d'accès, animal ID |
| HF (High Frequency) | 13.56 MHz | ~5cm | Paiement, transport, MIFARE |
| UHF (Ultra HF) | 860-960 MHz | ~10m | Inventaire, logistique |
Standards LF (125 kHz)
| Type | Crypto | Cloneable | Usage |
|---|
| EM4100 / EM4102 | Non | Oui (sans effort) | Badges basiques, club, parking |
| HID Prox (26-bit) | Wiegand encoding | Oui | Contrôle d'accès entreprises |
| Indala | Propriétaire | Partiellement | Anciens systèmes |
| AWID | Encodage | Oui | Systèmes legacy |
Standards HF (13.56 MHz)
| Type | Crypto | Cloneable | Notes |
|---|
| MIFARE Classic (1K/4K) | Crypto-1 (cassé) | Oui | Badges transport, campus |
| MIFARE Plus | AES-128 | Non (sauf vuln) | Successeur Classic |
| MIFARE DESFire (EV1/EV2/EV3) | 3DES/AES | Non (clé nécessaire) | Paiement, transport haut de gamme |
| NTAG (213/215/216) | Non | Oui | Tags NFC, produits, cartes de visite |
| MIFARE Ultralight | Non (UL) / 3DES (EV1) | Oui (UL) | Tickets transport jetables |
| FeliCa | DES/MAC | Non | Transport (Japon, HK), Sony |
| ISO 15693 (I-Code) | Non | Oui | Bibliothèque, inventaire |
Standards UHF (860-960 MHz)
| Type | Crypto | Cloneable | Usage |
|---|
| EPC Gen2 | Non (optionnel) | Oui | Commerce, logistique |
| Impinj Monza | Non | Oui | Retail, supply chain |
Outils Essentiels
Hardware
| Outil | Fréquences | Prix | Capacités |
|---|
| Proxmark3 RDV4 | LF + HF | ~$350 | Lecteur/émuleur complet, sniffing, brute-force |
| Flipper Zero | LF + HF | ~$200 | Portable, menu, multi-protocole |
| ChameleonUltra | HF | ~$80 | Émulateur multi-MIFARE, scripts Python |
| ACR122U | HF (NFC) | ~$30 | Lecteur/écrivain PCSC basique |
| PN532 (Adafruit) | HF | ~$25 | NFC shield, Arduino/Raspberry Pi |
| RC522 | HF | ~$5 | Lecteur MIFARE basique |
| RDM6300 | LF | ~$10 | Lecteur 125kHz |
| USRP / HackRF | LF+HF+UHF | ~$350+ | SDR + RFID (plus complexe) |
| Magic Tag (UID writeable) | HF | ~$10/tag | Tags contrefaits, UID modifiable |
Logiciels
| Outil | Usage |
|---|
| mfoc | Attaque crypto1 MIFARE Classic (nested attack) |
| mfcuk | Attaque par dictionnaire de clés MIFARE |
| libnfc | Bibliothèque NFC, CLI avec ACR122U/PN532 |
| proxmark3 client | Client pour Proxmark3 (iceman fork) |
| nfc-mfclassic | Lecture/écriture MIFARE (libnfc) |
| nfc-list | Détection de tags |
| mfkey32 / mfkey64 | Calcul de clés MIFARE à partir de nonces |
| crapto1 | Attaque crypto1 (GitHub : iceman1001) |
| pm3 (Iceman fork) | Firmware + outils Proxmark3 amélioré |
Méthodologie
Phase 1 : Identification du Tag
proxmark3> hw search
proxmark3> lf search
proxmark3> hf search
nfc-list
Phase 2 : Clonage d'un Tag Non Crypté
EM4100 (125 kHz) — Clonage Simple
proxmark3> lf em 410x read
proxmark3> lf em 410x write 0x1234567890
proxmark3> lf search
MIFARE Ultralight / NTAG — Pas de Crypto
nfc-mfclassic r a dump.mfd
proxmark3> hf mf dump
nfc-mfclassic w a dump.mfd
nfc-list
Phase 3 : Attaque MIFARE Classic (Crypto-1)
proxmark3> hf search
proxmark3> hf mf mfoc -o dump.mfd
mfoc -O dump.mfd -k FFFFFFFFFFFFF
mfoc -O dump.mfd -k keys.dic
proxmark3> hf mf darkside
mfkey32 0xAABBCCDD 0x12345678 0x87654321
Phase 4 : Émulation de Tag
proxmark3> lf em 410x sim --id 0x1234567890
proxmark3> hf mf sim -f dump.mfd
Phase 5 : Attack par Relais (NFC Relay)
git clone https://github.com/nfcgate/nfcgate
proxmark3> hf mf sniff
Techniques Avancées
Magic Tags (UID Écriture)
proxmark3> hf mf csetuid --uid 0x12345678
proxmark3> hf mf reader
Attaque sur HID Prox (26-bit)
proxmark3> lf hid fskdemod
proxmark3> lf hid clone --fc 123 --cn 45678
Reverse de Crypto Propriétaire
proxmark3> hf sniff
Bruteforce de Clés MIFARE
proxmark3> hf mf chk *1 ? t dictionaries/nstd.keys
Pièges & ASTUCES
⚠️ MIFARE Classic est mort : crypto-1 cassé, mais encore massivement utilisé. Ne pas s'étonner si ça marche
⚠️ UID non modifiable : la plupart des tags ont un UID verrouillé en usine. Les Magic Tags sont les seuls à permettre l'écriture d'UID
⚠️ Distance de lecture : NFC < 5cm, LF ~10cm, UHF ~10m. Ne pas s'attendre à lire un badge à distance avec un smartphone
⚠️ Proxmark3 iceman fork : le fork iceman1001 est bien supérieur à l'original. Utiliser celui-ci
⚠️ ACR122U limité : ne supporte pas tous les modes de MIFARE Classic (il manque parfois le hardware crypto)
⚠️ Contrefaçon de lecteurs : les ACR122U chinois peuvent avoir des bugs (UID tronqué, SAK erroné)
⚠️ Batterie de tag : les tags passifs (la plupart) n'ont pas de batterie. Ils sont alimentés par le champ du lecteur. Un tag émulé doit générer ce champ
⚠️ Anti-clonage avancé : les systèmes modernes (DESFire EV3) utilisent des protocoles à clé partagée et des certificats. Le clonage physique ne suffit pas
Check-list Rapide
Références