Badge MiFare RFID : Un hasardeux succès

Bref article pour ceux qui se perdent sur internet en recherche d’information pour la duplication d’un badge Mifare 1K Classic via un lecteur/inscripteur de type ACR122 (le bleu et blanc que tout le monde a). Effectivemment après quelques mois de galères en dilettante j’ai enfin réussi, pour la science évidemment, à réaliser un clone parfait !

Avertissement, comme beaucoup de gens, je me suis acharné en partant dans tout les sens et suis tombé à moitié par hasard sur une méthode qui fonctionne. Je ne garantis donc pas sa réplicabilité

La base

Toujours tout faire en root sur sa machine ! (donc vite, sudo su, de toute façons les utilisateurs c’est pour les nuls)

Les manipulations suivantes ont toutes été effectuées de mon côté en Février 2023 sous Ubuntu 22.04

Les dépendances

Le plus long est de réussir à avoir la totalité des dépendances nécessaires. Pour toutes les suivantes, j’ai téléchargé directement les repository github (via git clone) et effectuer les étapes suivantes :

  1. autoreconf -vis
  2. ./configure
  3. make && make install

Sur mon poste à la fin je me retrouve avec les repos suivants (j’ai essayé de mettre un ordre):

Voilà, après toutes ces installations il faut à minima réouvrir un terminal (en root) mais je conseille de redémarrer (j’en ai eu besoin pour qu’un driver soit pris en compte)

La procédure

  1. Une fois les librairies installées, le plus important est de, sur un terminal administrateur de lancer le démon PCSC en foreground via la commande pcsc -f. Cette fenêtre doit rester ouvertes pour toutes les autres étapes, qui se feront dans un autre terminal administrateur.

  2. Placer le badge original à coper sur l’ACR122r

  3. Réaliser les deux enregistrements des badges via mfoc -O original.dmp

  4. Placer le badge cible sur l’ACR122u

  5. Réaliser l’enregistrement du badge via mfoc -O nouveau.dmp

  6. Réaliser la copie des clés avec nfc-mfclassic W v a original.dmp nouveau.dmp

  7. Réaliser la copie d’éventuels clés restantes avec nfc-mfclassic W v b original.dmp nouveau.dmp (ça m’a parfois été nécessaire).

  8. Fermer les deux terminaux, profitez de la vie, soyez heureux.

Voilà, si vous êtes dans mon cas (j’en doute) votre périple RFID se termine ici. Les points suivants s’adressent à ceux qui cherchent la voie, déçu d’un énième tutoriel qui n’a pas fait ce qu’il prétendait.

Petites considérations

Quelques points notables qui me montraient que j’étais sur la bonne voie

  • Si votre badge est simple, pas besoin d’un ̀mfcuk̀` de plusieurs heures/jours, ne faites pas comme moi

  • Pour ce que ça vaut, quand les pilotes étaient enfin correct, la lumière verte du ACR122u était allumée (contrairement à mes premiers pilotes où elle restait éteinte)

  • Le daemon pcsd indiquait des erreurs de lectures, elles ne sont pas importantes. Par contre, en cas d’erreur d’initialisation (qui parle de driver PC/SC USB) il y a sans doute un souci de driver.

Les inspirations (Sources)

Dans mon parcours, je me suis principalement inspiré de deux ressources :

  • Les articles RFID de l’Atelier du Geek. Un peu vieux et n’insistant pas assez sur les galères de dépendances c’est celui sur lequel je me suis basé pour finalement me contenter de mfoc(sans chercher le crack via ̀mfcuk`)
  • [Ce post de Linus Karlsson] qui m’a fait m’orienter vers des problèmes de compatibilité et tout faire en root avec le daemon pcscd en foreground.

Voilà, si cet article est utile à qui que ce soit je serais ravi de le savoir et sinon en cas de questions, je suis pas certain pouvoir répondre et sur mastodon: @ledoublesept@mastodon.zaclys.com