RFID – Le clone parfait

Cet article fait partie de la série Expériences NFC / RFID (4 articles au total)

Quand j’ai écrit, il y a 2 ans, l’article qui expliquait comment dupliquer le contenu d’une puce RFID, je n’imaginais pas qu’il susciterait un tel engouement. Pourtant, encore aujourd’hui c’est un des articles les plus consultés du site et c’est également un de ceux pour lequel je reçois de plus en plus de questions. Aussi, je me suis dit qu’il était temps d’écrire cette seconde partie que tant attendent : comment réaliser un clone parfait et complet d’une puce rfid.

On travaille toujours sur la famille de tag Mifare

Même s’il en existe différentes familles, les puces (ou tags) les plus répandues sont de type « Mifare Classic ». Cela tombe bien, c’est justement le type de tag sur lesquels nous allons travailler aujourd’hui. Personnellement je les ai rencontrés sur tout un tas d’applications différentes : badge de porte d’immeuble, carte d’accès à un parking, carte d’accès à une chambre d’hôtel, porte monnaie électronique pour la machine à café, ou encore carte de consommation de boissons dans certains bars et boîtes de nuit.

Pourquoi écrire un nouvel article sur la copie de tag RFID ?

Si vous êtes familier du 1er article que j’ai écrit sur le sujet, vous pouvez vous demander ce que vous allez apprendre de plus ici, voici les 2 raisons principales qui vous motiveront :

  • Si dans le 1er article on se contentait de copier les données d’un tag RFID à l’autre, aujourd’hui on va voir comment modifier l’identifiant du TAG (le fameux UID ou Unique ID) qui est gravé en usine, non modifiable et inviolable… enfin presque
  • Dans le premier article, il fallait installer linux sur une machine, avant d’installer ensuite les outils de manipulation des tags RFID. Une manoeuvre un peu compliquée pour les plus novices. Aujourd’hui je vous montre comment créer en 3 clics une clé USB sur laquelle vous pourrez démarrer votre ordinateur. Vous arriverez ainsi sur un bureau temporaire contenant tous les outils qui vous seront nécessaires, sans que cela n’altère votre machine.

C’est quoi cette histoire d’UID ?

Les tags RFID sont généralement composés de 2 zones : une zone de stockage de données, généralement ré-inscriptible, et une zone de stockage de l’identifiant du tag. Le fameux UID. L’UID est un identifiant unique au monde (il n’existe donc pas 2 tags avec le même UID). Il est gravé en usine au moment de la fabrication du tag et se trouve sur une partie du tag qui n’est pas ré-inscriptible. On ne peut donc pas le modifier.

A titre d’information, les tags Mifare Classic 1K (les plus répandus) contiennent 64 blocs de données. L’UID est stockée sur le premier bloc (souvent appelé dans la litterature « block 0 ») et les 63 suivants sont dédiés au stockage de données.

Dans ce cas comment dupliquer un UID ?

Si on ne peut pas modifier l’UID stocké sur ce fameux bloc 0, comment avoir 2 cartes avec le même identifiant ? C’est là que nos amis les chinois arrivent à la rescousse :)

Depuis quelques années, on a vu arriver sur le marché des tags mifare avec une petite particularité : légèrement modifiés, ils possèdent un bloc 0 réinscriptible. On peut donc modifier l’UID sur ces tags (et uniquement ceux-là !). La première fois que j’ai réussi à mettre la main sur un tag de ce type, c’était en 2014, et j’estimais avoir fait une bonne affaire en dépensant environ 20 dollars pour ce tag. En 2017, les prix ont été divisés par 10 et mettent donc ce type de tag à la portée de tous les curieux !

Où trouver ces tags chinois avec UID modifiable ?

Évidemment, ces tags sont moins évidents à dénicher mais pas de panique, j’ai tout prévu :) Vous pouvez les commander sur la Boutique de l’Atelier du Geek sous forme de badges, sous forme de cartes, sous forme de bracelets ou encore sous forme de stickers, à chaque fois par lot de 5. Les commandes sont en général dans votre boîte aux lettres en moins de 3 jours !

Un mot sur sur la norme VIGIK

VIGIK : ce nom peut sembler barbare, mais c’est la norme créée par La Poste pour standardiser l’accès aux immeubles. On lit donc très souvent le nom de cette norme sur les interphones. C’est donc VIGIK qui permet à votre facteur, mais aussi aux pompiers, policiers et autres services d’urgence d’ouvrir n’importe quelle porte d’immeuble avec un badge unique. Si je vous en parle aujourd’hui c’est que je reçois beaucoup de questions à ce sujet, car nombreuses sont les personnes qui se rêvent la possession d’un tel badge (et oui, ces badges ne sont ni plus ni moins que des tags RFID Mifare).

Malheureusement, ce n’est pas si simple. S’il est tout à fait possible de dupliquer le badge de votre ami le facteur, la norme est faite de telle sorte que pour que le badge reste valide il faut qu’il soit « rechargé » toutes les 48h. En d’autre terme, si par je ne sais quel hasard, vous arriviez à copier un de ces passes VIGIK, il ne fonctionnerait que pendant quelques heures avant de devenir complètement inutile.

Est-ce que ça veut dire que je ne peux pas dupliquer mon badge d’accès d’immeuble si je lis « VIGIK » sur l’interphone ?

Puisque ça ne fonctionne pas pour le badge du facteur, on pourrait se dire que ça ne fonctionnera pas davantage pour les résidents… Mais en fait si ça fonctionne. Les badges résidents n’ont pas besoin d’être rechargés comme ceux des facteurs, par conséquent si vous en dupliquez un cela fonctionnera et vous donnera les mêmes accès que le badge original.

Motivés à tenter l’expérience ? Il est temps de passer aux choses sérieuses :)

Cloner un tag mifare

Matériel nécessaire

Etape 1 : Création de la clé USB de démarrage

Pour ne pas avoir à installer de Linux sur le disque dur, il faut créer une clé USB de démarrage. Le principe est simple : lors de son lancement, le PC démarrera le système d’exploitation présent sur la clé USB comme s’il s’agissait de son propre disque dur. Cela nous permettra d’obtenir un système linux complet pour notre session de travail sur les tags RFID. A l’extinction de l’ordinateur, il suffira de retirer cette clé USB pour que la machine retrouve son fonctionnement normal.

J’ai choisi de travailler avec la distribution linux « Kali ». Cette distribution, orientée sécurité, contient de nombreux outils dont les fameux « NFC Tools » qui nous seront utiles aujourd’hui. Il faut commencer par télécharger kali (version 64 bits live) ici https://www.kali.org/downloads/. Ce tuto a été réalisé avec la version 2017.1 qui est sortie voilà quelques jours au moment où j’écris ces lignes.

Edit du 29/03/2020 : Ce tuto marche parfaitement jusqu’à la version de Kali 2019.3. Si vous souhaitez utiliser une version plus récente il faudra entrer quelques commandes supplémentaires que je vous ai préparé et surtout bénéficier d’une connexion internet.

Une fois le fichier ISO récupéré, il va falloir le transférer sur la clé. Pour cela j’utilise comme à mon habitude le logiciel RUFUS qui est très simple. Une fois RUFUS téléchargé et installé, il suffit de sélectionner la clé USB sur laquelle installer Kali, et de lui indiquer l’endroit où votre fichier ISO de kali est situé. Chez moi cela donne quelque chose comme ça :

L’écran de RUFUS, prêt à créer la clé USB de démarrage avec Kali.

Cliquez ensuite sur le bouton Démarrer pour lancer l’opération.

Notez que si vous souhaitez gagner du temps, vous pouvez également trouver des clés USB pré-configurées avec Kali sur la Boutique de l’Atelier du Geek.

Etape 2 : Lancement du système et préparation de l’environnement

Une fois votre clé préparée, éteignez l’ordinateur que vous souhaitez utiliser, branchez la clé et démarrez sur la clé USB. Attention pour sélectionner un périphérique de démarrage, sur certains ordinateur il faut appuyer sur une touche particulière. Sur le mien par exemple, il s’agit de la touche Echap, mais j’ai déjà croisé des ordinateurs où il fallait utiliser la touche F2, F8, F10, F11 ou Suppr par exemple…

Après quelques instants nécessaires au chargement du système, vous devriez atterrir sur un bureau vierge. On y est presque.

Le bureau de Kali au démarrage

Par défaut, le clavier est configuré en QWERTY, ce qui n’est pas très pratique si votre ordinateur est équipé comme le mien d’un clavier AZERTY. Pour rétablir cela, il suffit de lancer le terminal via l’icône suivante :

L’icône du terminal se trouve sur la barre de gauche.

Une fenêtre d’invite de commande va s’ouvrir, et il faudra saisir à l’intérieur la commande suivante : setxkbmap fr (ce qui nécessitera sur votre clavier d’appuyer sur les touches setxb,qp fr). Cette fenêtre de terminal va nous servir dans toutes les manipulations suivantes, vous pouvez donc la garder ouverte.

La commande doit être tapée dans le terminal, ce sera la même chose pour toutes les autres commandes de ce tuto.

Si vous utilisez une version récente de Kali Linux

Si  vous souhaitez utiliser une version de Kali 2020 ou supérieure, vous devez vous connecter à internet à ce moment et exécuter quelques commandes supplémentaires. En effet, depuis la version 2020 de kali, vous n’êtes plus identifié comme un super-utilisateur et surtout, les NFC Tools utilisés dans cet article ne sont plus présents par défaut, il va donc falloir les réinstaller ! Pour remédier à tout cela, entrez les commandes suivantes. 

kali@kali:~$ sudo su
root@kali:/home/kali# apt-get update
root@kali:/home/kali# apt-get upgrade -y
root@kali:/home/kali# apt-get install libnfc-bin mfoc -y

Configuration du système

Maintenant que le clavier est en français, il va falloir configurer le système pour que les NFC Tools puissent interagir correctement avec votre lecteur RFID. Pour ce faire, commencez par branchez votre lecteur RFID (si ça n’est pas déjà fait). Kali va alors charger automatiquement en arrière plan des modules qui vont perturber les NFC Tools. Pour décharger ces modules, toujours dans votre fenêtre du terminal, entrez les commandes suivantes.

root@kali:~# modprobe -r pn533_usb
root@kali:~# modprobe -r pn533
On dsactive avec ces 2 commandes les modules standard de linux qui perturberaient les NFC Tools

L’environnement est désormais fin prêt pour notre petite expérience, on va pouvoir entrer dans le vif du sujet.

Etape 3 : Vérifier le bon fonctionnement du lecteur

Pour être sûr que le lecteur fonctionne correctement avec les NFC Tools, il suffit de lancer la commande suivante et de passer un tag RFID devant le lecteur.

root@kali:~# nfc-list

Si tout est bien configuré, le lecteur devrait vous afficher quelques informations sur le tag, dont le fameux UID, comme dans la capture ci-dessous. Ici mon UID, ce fameux numéro unique est le ea b5 8f 4b. Si vous essayez maintenant avec votre puce RFID chinoise, vous devriez obtenir un numéro d’UID différent, ce qui est tout à fait normal.

L’UID est visible avec la commande nfc-list, sur la ligne « UID ». Ici la puce à copier à un UID avec la valeur suivante : eab58f4b.

Si jamais vous obtenez un message d’erreur ou si rien ne s’affiche plusieurs possibilités :
Votre tag n’est pas un tag RFID compatible avec votre lecteur
Il y a eu une erreur lors de l’étape 2, recommencez donc à cette étape en vérifiant méticuleusement vos commandes.

Etape 4 : Extraire les clés de chiffrement de la puce RFID chinoise dans un fichier

Cette étape au nom un peu barbare ne devrait vous prendre que quelques secondes. Son principe ? Pour pouvoir écrire sur une puce RFID, il faut en posséder les clés de chiffrement. Une sorte de mot de passe qui permet d’encoder et de décoder les informations de la puce. Ces clés de chiffrements vont être stockées avec le contenu de la clé, dans un fichier. Ce fichier nous servira lors de l’étape finale pour copier les données de la puce originale sur la puce chinoise.

Pour lancer l’extraction des clés de chiffrement, placez votre puce sur le lecteur et saisissez dans un terminal la commande suivante.

root@kali:~# mfoc -P 500 -O carte-vierge.dmp

Les clés de chiffrement seront stockées dans le fichier « carte-vierge.dmp ».

La commande mfoc permet de copier le contenu d’une puce dans un fichier. Cette commande va notamment se charger de trouver les différentes clés de chiffrement qui empêchent normalement de lire le contenu de la puce RFID.

Etape 5 : Copiez le contenu de la puce RFID d’origine dans un fichier

Maintenant que les clés de chiffrement de la puce chinoise sont extraites, il va falloir faire de même avec la puce originale. Cette opération va copier les clés de chiffrement et le contenu de la puce d’origine dans un fichier. Ce fichier contiendra toutes les données de la puce, ainsi que son UID. C’est en quelques sorte une « sauvegarde » de votre puce RFID. N’hésitez pas à la conserver en lieu sûr, ainsi si vous perdez votre puce RFID vous pourrez en créer de nouvelles à l’identique à partir de ce fichier de sauvegarde.

Pour ce faire, placez la puce originale sur votre lecteur, et entrez la commande suivante :

root@kali:~# mfoc -P 500 -O carte-originale.dmp

Vous l’aurez surement compris, cette commande va créer un fichier « carte-originale.dmp » c’est le fameux fichier de sauvegarde de votre puce originale.

A nouveau on a recourt à la commande mfoc, toujours pour les mêmes raisons que dans l’étape précédente. Avec la puce originale c’est généralement plus long car les clés de chiffrements sont rarement celles d’origine, et la commande mfoc doit donc exploiter une faille des puces mifare pour réussir à obtenir les clés de chiffrement manquantes.

Etape 6 : Ecrire le contenu de la puce originale sur la puce chinoise

On arrive au bout ! Vous n’êtes plus qu’à une dernière commande de la victoire ! Maintenant que l’on possède une copie du contenu de la puce originale, ainsi que les clés de chiffrement de la puce chinoise, nous allons pouvoir transférer le contenu et l’UID de la puce originale sur la puce chinoise.

Pour se faire, et toujours dans le terminal, saisissez la commande suivante.

root@kali:~# nfc-mfclassic W a carte-originale.dmp carte-vierge.dmp
On touche au but avec la dernière commande du tuto. On va ici demander à la commande mfc-classic d’écrire le cntenu de la puce originale sur la puce chinoise vierge, UIS compris.

L’opération devrait prendre 1 grosse seconde avant d’aboutir sur un message de succès. Si vous êtes attentifs, vous remarquerez que la seule différence par rapport au précédent article est le fait que le « W » est écrit en capital. ça n’est pas une erreur, cela demande au lecteur de transférer le contenu de la puce ainsi que le bloc 0 qui contient l’UID. En cas de succès, un message devrait vous confirmer l’écriture de 64 secteurs sur 64 (dans le précédent article, on n’en copiait que 63 car il manquait le fameux bloc 0).

Vous pouvez vérifier le succès de l’opération en répétant l’étape 3 avec votre puce chinoise. Si tout a correctement fonctionné, la commande nfc-list appliquée à votre puce chinoise vous affichera un UID identique à celui de votre puce originale.

Et voilà, vous venez de contourner l’incontournable :)

En conclusion

Avec quelques dizaine d’euros de matériel et une poignée de minutes, vous aurez pu dupliquer à la perfection une puce RFID officielle. Aucun lecteur ne pourra faire la différence entre la copie et l’originale. Vous comprenez désormais que la sécurité des systèmes basés sur ce type de puce est toute relative. Comme d’habitude, vous êtes seuls responsables de l’usage que vous faites de ces connaissances. Si vous avez des questions, ou souhaitez tout simplement partager vos expériences sur le sujet, n’hésitez pas à vous exprimer dans les commentaires ! Enfin, si vous cherchez à vous équiper tout en soutenant le blog, n’hésitez pas à faire un tour dans la boutique de l’Atelier du Geek pour y trouver votre bonheur !

Tous les articles de la série Expériences NFC / RFID

RFID – Le clone parfait

342 réflexions au sujet de « RFID – Le clone parfait »

  1. J’ai testé, ne fonctionne pas avec les dernières installations VIGIK (V2 ou autre je n’y connais rien).
    Cela marche une fois ou deux et ensuite l’original et le clone sont désactivés.
    Mon TAG est un comelit immotec.

  2. Bonjour,

    J’ai acheté sur votre site le lecteur ACR122 avec 5 badges et 5 cartes blanches, et après avoir suivi votre procédure à la lettre, j’ai une erreur sur la commande suivante :

    root@kali:~# sudo modprobe -r pn533_usb
    root@kali:~# sudo modprobe -r pn533
    root@kali:~# sudo modprobe -r nfc
    root@kali:~# sudo nfc-list
    nfc-list uses libnfc 1.7.1
    error libnfc.driver.acr122_usb Unable to set alternate setting on USB interface (Connection timed out)
    nfc-list: ERROR: Unable to open NFC device: acr122_usb:001:006

    Après quelques recherches sur Google je n’ai pas réussi à trouver d’où vient le problème, pouvez-vous m’aider svp ?

    Merci d’avance.

    Anthony

  3. Bonjour Bnnt31,

    Yes, j’ai une petite astuce depuis Kali:
    Tu peux essayer d’abord d’aider mfoc en lui proposant un fichier de clés :

    1) Se connecter à internet et Télécharger un fichier de clés déjà connues en utilisant la commande suivante
    wget https://raw.githubusercontent.com/ikarus23/MifareClassicTool/master/Mifare%20Classic%20Tool/app/src/main/assets/key-files/extended-std.keys

    2) Relancer mfoc en lui demandant d’utiliser ce fichier de clés
    mfoc -P 500 -f extended-std.keys -O carte-originale.dmp

    ça m’a sorti de la galère quelques fois :)

    Alex

  4. Bonjour, j’ai besoin d’un petit coup de mains !
    J’ai suivis ce tuto a la lettre sans succès.
    J’ai réussi a copier ma carte de parking mais elle ne fonctionne pas.
    J’ai lancé la commande dans le terminal nfc-list : .

    Avec les deux cartes (l’originale et la chinoise) le résultat est identique sauf la ligne : Sak sel res .
    sur l’une j’ai la valeur 88 et l’autre 8.

    Le problème vient peut être de la ?
    Avez vous une solution ?

    Sinon autre question, est ce qu’il y a une ligne de commande a taper dans le terminal pour identifier le type de carte exacte.

  5. Bonjour, après achat sur la boutique, j’ai une erreur similaire à une erreur décrite précédemment:
    $ sudo nfc-scan-device -v
    nfc-scan-device uses libnfc 1.7.1
    1 NFC device(s) found:
    error libnfc.driver.acr122_usb Unable to set alternate setting on USB interface (Connection timed out)
    nfc_open failed for acr122_usb:003:005

    Je ne fais pas tourner kali en VM mais en live usb, j’ai aussi tenté sur un ubuntu installé en propre pour voir si cela change quelque chose mais le problème reste le même (sur différentes machines). Je n’ai pas trouvé grand chose concernant cette erreur. Une idée d’où cela peut venir?

  6. Tout comme Antho, le lecteur n’a pas l’air de fonctionner…

    nfc-list me renvoi toujours un timeout et si je ne fais pas un modprobe -r pn533 j’ai un usb busy, dans les deux cas ca ne marche pas. Je vois bien le lecteur dans la liste des devices usb sous linux mais impossible de l’utilisé.

    Je précise, pas une VM, testé sur deux machines différentes, une très récente (usb3) et une d’ancienne génération (usb2) avec le kali live sur clef usb commandée sur votre store.

    Anthony tu as réussi à avancer ? je me demande si ce n’est pas un problème matériel de mon coté…

  7. Bonjour Yann,
    Je vous envoie un mail pour que vous puissiez me donner plus de détails. J’ai l’impression que vous êtes plusieurs à avoir ce message récemment et j’aimerais vous aider.
    Bien à vous,
    Alexandre

  8. Bonjour Jérémie,
    Etrange car je n’ai jamais eu ce message de mon côté. Je vous contacte par mail pour essayer de vous aider.
    Bien à vous,
    Alexandre

  9. Bonjour, j’ai bien réussi toutes les étapes mais a la fin quand j’essaie d’écrire sur la a carte vierge, j’ai cette erreur :unlock failure! Merci si vous avez une idée

  10. Bonjour, j’ai exactement le même problème avec pcsc_scan ça fonctionne j’arrive à lire mes tag avec mon ACR_122U mais impossible avec mfoc ou nfc-list toujours un timeout :
    nfc-list uses libnfc 1.7.1
    error libnfc.driver.acr122_usb Unable to write to USB (Connection timed out)
    nfc-list: ERROR: Unable to open NFC device: acr122_usb:001:006

    Je suis sur la dernière kali sur une VM dans mon cas. Je ne pense pas que le souci vienne de la VM car ça fonctionne avec pcsc_scan

  11. Bonsoir j’ai moi aussi un message d erreur alors que je boot sur une clé USB kali live achete sur votre site error libnfc.driver.acr122_usb Unable to set alternate setting on USB interface (Connection timed out)
    nfc_open failed for acr122_usb:003:005

    Help je comprend rien

  12. Bonjour j’ai acheter un kit nfc sur votre site marchant mais malheuresement j’ai exactement le même problème :

    root@kali:~# sudo nfc-list
    nfc-list uses libnfc 1.7.1
    error libnfc.driver.acr122_usb Unable to set alternate setting on USB interface (Connection timed out)
    nfc-list: ERROR: Unable to open NFC device: acr122_usb:001:006

    Je précise que je suis sur la dernière version de kali ( MATE, 64bit) en usb bootable

  13. J’ai aussi le même problème.
    Une solution a-t-elle été trouvée?

    nfc-scan-device uses libnfc 1.7.1
    error libnfc.driver.acr122_usb Unable to set alternate setting on USB interface (Connection timed out)
    nfc_open failed for acr122_usb:001:008

  14. Bonjour,
    merci pour cette suite très intéressante.
    Dans ton article ainsi que partout ou j’ai porté mes yeux, l’ont nous parle de clones…
    Existe t’il la possibilité ultime a mon sens, qu’est d’emuler directement le tag passif de façon virtuel.

    Quel modèle de lecteur permettrait-il cela ? Des applications sont-elles incorporé dans kali à ce propos?
    Merci de m’aider car en français , rare sont les documents traitant ce sujet, si ce n’est de vieux sujet concernant android et les smartphones…
    Bonne continuation

  15. Bonjour,

    Je suis sous Ubuntu 18.04 et je n’arrive pas a faire fonctionner mon lecteur acr122u.
    J’ai le message suivant :
    nfc_open failed for acr122_usb:001:008

    Peux-tu m’aider Alex stp ?

    Merci d’avance.

  16. Et peux tu également me fournir la marche à suivre pour telecharger et installer mfoc stp ? Je n’y arrive pas

  17. Bonjour à tous,

    En voulant copier ma carte vierge, j’ai ce message : »incorrect Bcc in mdf file! comment contourner ce problème.

    Merci à vous pour vos réponses.

  18. Hello Alex,
    Merci pour ta réponse.

    Grace à ton lien fourni ce matin, j’ai réussi l’installation de libnfc.
    Par contre je pense qu’il y a un probleme pour l’installation de mfoc. Cela bloque des la requette wget.

    Message du terminal :
    :~$ wget http://mfoc.googlecode.com/files/mfoc-0.10.7.tar.bz2
    –2019-04-08 19:02:11– http://mfoc.googlecode.com/files/mfoc-0.10.7.tar.bz2
    Résolution de mfoc.googlecode.com (mfoc.googlecode.com)… 2a00:1450:400c:c00::52, 173.194.76.82
    Connexion à mfoc.googlecode.com (mfoc.googlecode.com)|2a00:1450:400c:c00::52|:80… connecté.
    requête HTTP transmise, en attente de la réponse… 404 Not Found
    2019-04-08 19:02:11 erreur 404 : Not Found.

    As-tu une solution stp ?

    Merci beaucoup :)

  19. Bonjour Jc,
    N’hésite pas à nous faire une capture d’écran ou au moins nous lister les commandes entrées que nous puissions t’aide :)
    Alexandre

  20. Bonjour même problème que les autres, dernière version de kali sous live USB j’ai scrupuleusement suivi le tuto avec la même erreur.

    root@kali:~# sudo nfc-list
    nfc-list uses libnfc 1.7.1
    error libnfc.driver.acr122_usb Unable to set alternate setting on USB interface (Connection timed out)
    nfc-list: ERROR: Unable to open NFC device: acr122_usb:001:006

    quel est la solution?
    lecteur acheter sur ce site….

  21. Bonjour Kevin,
    Je suis toujours en train de plancher sur ce soucis, mais je pense à une défaillance matérielle. Je vous envoie un message privé dans la journée pour en savoir plus. Bien à vous, Alexandre

  22. Bonjour, même problème que Kevin, le lecteur ACR122u acheté sur ce site fonctionne tres bien en lecture sous windows mais impossible avec libnfc que ce soit avec Kali Linux ou Linux Ubuntu. En revanche la lecture est ok avec pcsc_scan. Cela fait maintenant plusieurs semaine que je parcours le net à ce sujet et toujours aucune solution.
    Quoi faire
    Jean-Marc M

  23. Bonjour à tous :)
    Je n’utilise pas la librairie lbnfc mais l’application MIFARE Classic tools. Le processus est quasiment identique.
    Mais je rencontre un problème assez bizarre actuellement…
    A chaque fois que j’essaye de créer un clone parfait du badge le badge précédent est désactivé….
    Ce qui fait que le badge original est désactivé maintenant.
    J’ai pourtant comparé les dump et ils sont strictement identiques.
    J’utilise des badges avec le sector 0 modifiable.

    Avez vous une idée ?
    Je sais que quelqu’un à déjà eu le même soucis que moi mais je voudrai savoir si quelqu’un avait une solution à cela.
    Voici le modèle de badge que j’ai commandé : https://www.amazon.fr/gp/product/B07GD5BQ1T/ref=as_li_ss_tl?ie=UTF8&psc=1&linkCode=ll1&tag=lebogdale-21&linkId=9c7f8b1fbeda64eaf18871f325936504&language=fr_FR

    Le badge original est un Intratone

  24. Hello PESLIER,
    Le problème ne vient pas du badge je pense, mais du lecteur Intratone qui doit probablement écrire sur le badge à chaque passage.
    Est-ce que vous pouvez faire un dump du badge avant un passage et après un autre pour vérifier ? C’est quasiment certain qu’ils ne sont plus identiques désormais.

    Et pour info je reçois cette semaine des badges compatibles MCT qui seront donc en vente sur la boutique très prochainement :)

    Bien à vous,

    Alexandre

  25. Pour les lecteurs ACR122U achetés sur la boutique et qui donne un message d’erreur « Unable to set alternate setting on USB interface » sous linux, je suis en train de plancher dessus depuis plusieurs jours. Le lecteur semble bien fonctionnel sous Windows, donc pour contourner ça j’essaie de compiler les NFC Tools sous Windows pour vous débloquer.

    Pour l’instant libnfc donctionne (et donc les commandes nfc-list et nfc-mfclassic) mais je vous avoue que je me prends pas mal la tête pour compiler mfoc sous Windows ! C’est le dernier obstacle, si cela fonctionne vous pourrez utiliser vos lecteurs ACR122U sous windows et sans soucis :)

  26. Merci Alex pour ta réponse :) (Je suis PESLIER)
    Je vérifierai ça ce soir, si c’est le cas il n’y as aucune solution ? Il faut réécrire le badge à chaque fois ?

  27. Bonjour, merci beaucoup pour cet article ! De mon côté, je pense avoir bien suivi toutes les étapes mais lorsque je branche mon ACR122U et que je tape la commande modprobe -r pn533_usb ou modprobe -r pn533 j’ai un message d’erreur : « fatal module pn533_usb is in use » ou bien un « device or resource busy »… si quelqu’un a une solution je suis preneur.
    Je précise que je suis sur Kali linux sur clé usb et que j’utilise la version mate 64.
    Merci d’avance

  28. Merci pour le tuto :) Tout a fonctionné parfaitement avec la dernière version de Kali Linux et le matériel acheté sur ce site.

    Une question cependant : si jamais je veux ré-écrire sur un badge déjà utilisé (après un déménagement par exemple ;) ), faut-il conserver les clefs utilisées lors de la première écriture ? Ou bien peut-on par la suite écrire dessus sans préciser un fichier de clés.

  29. Bonjour
    pour ma part avec kali tout fonctionne jusqu’à la dernière étape ou j’ai le message suivant:
    root@kali:~# nfc-mfclassic W a carte-originale.dmp carte-vierge.dmp
    NFC reader: ACS / ACR122U PICC Interface opened
    Found MIFARE Classic card:
    ISO/IEC 14443A (106 kbps) target:
    ATQA (SENS_RES): 00 04
    UID (NFCID1): 79 1e bc 0f
    SAK (SEL_RES): 08
    Guessing size: seems to be a 1024-byte card
    Sent bits: 50 00 57 cd
    Sent bits: 40 (7 bits)
    unlock failure!
    root@kali:~#
    peux tu m’éclairer ?
    d’avance merci

  30. Bonjour Bnnt31
    J’ai rencontré le même problème que toi à l’étape 5.
    As tu résolu ton dysfonctionnement avec le fichier de key et l’astuce donnée par Alex.

  31. Salut Alex

    Deja merci pour cette article car grace a toi j’ai pu en profiter pendants 6 mois …

    Maintenant le problème cest qu’ont a changer de prestataire et le badges resemble a une clef usb qu’on insère dans la machine. Le problème cest que jai cherché mais impossible de trouver des block 0 de ce modèle.

    Tu sais pas ou je peut en trouver ou tu ne peut pas en mettre en vente dans ta boutique ?

    Merci pour ta réponse et encore bravo pour le taff effectué ;)

  32. Bonjour,
    je viens de lire l’article , très intéressant et clair..
    j’aimerais savoir si j epouvais lire ma carte bancaire sans contact et la copié sur un sticker rfid avec cette methode , cela me permettrait de payer sans contact avec mon telephone en collant le sticker dessus (mon telephone n’a pas le nfc) , ca serait une alternative sympa !
    merci

  33. Bonjour à vous,
    Aujourd’hui j’ai suivi votre tuto pour copier un badge comelit Immotec. Tout à bien fonctionné jusqu’au test devant l’immeuble. Le nouveau badge fraîchement copié à fonctionné une fois puis plus rien, le badge original ne fonctionne plus également. Une solution à ça ?
    Help je suis coincé dehors, il fait froid…

  34. Bonjour,
    Tout comme Lolote, même marque de badge, même punition : la carte à fonctionné, puis a été bannie ainsi que le badge original… Je retente le badge original pour voir s’il ne s’agit pas d’un blocage temporaire.
    Rare

  35. Bonjour à tous j ai suivi mot à mot le tuto à la fin je n ai pas le même uid sur la carte vierge la commande nfc-mfsetuid xxxxxxx ne fonctionne ma question y a t’il un paquet à installer j ai la cle usb du site donc je pense que tout est prévu ! Une autre question un tag rfid modifiable est il modifiable plusieurs fois merci je suis pas spécialiste sous Linux

  36. Bonjour à tous !
    Je possède un badge d’accès à un garage et je voudrais en faire une copie.

    Mon badge n’est pas détecté par le boitier ACR122U. J’ai essayé avec d’autre type de badge eux le son bien. Savez vous pourquoi ? Le lecteur NFC fonctionne correctement car j’ai pu faire d’autre double. J’ai aussi utilisé l’application NFC Tools avec mon téléphone Android, la aussi impossible de détecter le badge.

    Je pense que le badge utilise une autre technologie que le NFC ou une autre fréquence. Comment connaitre la technologie du badge ?

    Merci pour votre réponse !

    Sisne

  37. Bonjour a tous
    Arrêté à l’étape 5, quelle est la commande linux qui permet de tester les clés dans le fichier extended-std.keys que j’ai téléchargé ? Dois je changer l’extension de ce fichier et/ou le modifier en supprimant les commentaires internes?
    Merci d’avance pour vos avis éclairés

  38. Hello ARXLFLY,
    Pour utilise un fichier de clés additionnelles, il suffit d’ajouter le paramètre « f » suivi du nom du fichier.
    cela donne quelque chose comme :
    mfoc -f extended-std.keys -P 500 -O badge.dmp

    Alexandre

  39. Salut,

    Voici quelques informations complémentaires à propos des badges de marque Comelit Immotec.

    Le lecteur de ces badges sait aussi écrire. Le badge « cramé » est modifié sur le secteur 7 (ou le 6 si on compte depuis 0). 3 octets sont modifiés : les 9ème, 13ème et 14ème.

    Fait amusant, avec un lecteur ACR122U-A9, il est impossible d’écrire sur les 14 derniers octets du secteur 3, et les 12 derniers octets des secteurs 7, 11, 15, 19 et 23. L’UID non plus, évidemment. En d’autres termes, le portier peut écrire sur des adresses que l’on ne peut pas modifier avec nos lecteurs. Comment est-ce possible ?

    Prochaines étapes :
    Ne plus utiliser le badge « cramé », mais recommencer avec une carte clone « parfait » bit-à-bit du badge avant bannissement.
    J’ai dumpé un autre badge ce soir. Je le re-dumperai après une ouverture de porte afin de savoir s’il n’y a pas une information de modifiée à chaque passage du badge sur le lecteur.

    Je vous tiens au jus.

    Rare

  40. Bonjour Alex , merci pour ce tuto tout fonctionne avec le lecteur acheté dans ta boutique et la cle usb kali linux que j ai faite en suivant ton article. Cependant j ai un badge qui n est pas decripter qd je le lis, ton programme sur kali dans le terminal marque : using sector 00 as an exploit sector
    Card is not vulnérable to nested attack
    Du coup je ne peux pas faire le ficher dmp de la carte originale
    Aurai tu une idee stp

  41. Salut,

    Comme promis, voici mon retour d’informations à propos des badges de marque Comelit Immotec.
    – Je vous confirme que le portier écrit bien sur le badge à chaque passage.
    – Le portier mémorise un badge banni, et même s’il est restauré avec les données d’avant le bannissement, il est à nouveau banni.

    Prochaine étape (que je ne pourrai tester que mardi soir) : modifier l’UID du badge banni dans le dump d’avant bannissement.

    Je me pose cependant une question : le bloc 0 contient sur les 5 premiers octets l’UID qui est gravé sur le badge. J’ai pu comparer deux badges d’un même immeuble : les 4 octets suivants sont identiques, ainsi que le 16ème. Mais les octets de 10 à 15 sont aussi totalement différents.
    – Est-ce un contrôle de l’UID ?
    – Est-ce un identifiant propre à l’application ?
    Quelqu’un a un idée ?

    Je vais préparer deux badge sur la base du fichier avant bannissement :
    – Un dont seul l’UID sera modifié.
    – Un dont les deux champs seront modifiés.

    Tous ça, en espérant le d’UID ne contienne pas de clé de contrôle…

    Rare.

  42. Je vous confirme que l’IUD contient bien un clé.

    C’est le 5ème octet qui est contrôle Xor des 4 premiers.

    A mardi soir.

    Rare

  43. Bonjour Alex,

    Super boulot tout marche bien ! Avec les clés supplémentaires je n’ai aucun problème.

    J’ai cependant une petite question, est-il possible de supprimer et de réécrire sur une carte ou sur un badge? J’ai copié les données d’un badge sur un badge chinois et je voudrais changer ce que j’ai mis dessus est-ce possible ou c’est trop tard ?

    Merci pour ta réponse.

  44. Bonjour à tous !
    Je possède un badge d’accès à un garage et je voudrais en faire une copie.

    Mon badge n’est pas détecté par le boitier ACR122U. J’ai essayé avec d’autre type de badge eux le son bien. Savez vous pourquoi ? Le lecteur NFC fonctionne correctement car j’ai pu faire d’autre double. J’ai aussi utilisé l’application NFC Tools avec mon téléphone Android, la aussi impossible de détecter le badge.

    Je pense que le badge utilise une autre technologie que le NFC ou une autre fréquence. Comment connaitre la technologie du badge ?

    Merci pour votre réponse !

    Sisne

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *