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
- Une clé USB d’au moins 8GB. Pour info j’ai utilisé une clé SanDisk de 32GB car c’était le meilleur rapport capacité/vitesse/prix disponible
- Un lecteur NFC/RFID compatible libnfc tel que le lecteur ACR122U
- Un badge RFID avec bloc 0 réinscriptible
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 :
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.
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 :
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.
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
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.
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 ».
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.
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
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
Bonjour tous.
Ce fameux message d’erreur:
error libnfc.driver.acr1222_usb Unable to set alternate setting on USB interface (Connection time out) semble être le propre des lecteurs ACR122 récents, pour lesquels un petit quelque chose a du évoluer par rapport aux générations précédentes.
Je n’ai toujours pas vu de solution relativement simple pour s’en sortir. L’éventuelle solution de contournement proposée dans Github, avec recompilation d’un noyau Linux, n’est pas à la portée du quidam que je suis, sans compter que son efficacité semble encore hypothétique car très faiblement commentée.
Une solution palliative plus simple et éprouvée serait appréciée pour que nos ACR122 maudits servent enfin à quelque chose :)
Bonjour Alex,
Réponse tardive, tu avais raison, après avoir acheté les bons badges sur ton site, la copie s’est déroulée à la perfection.
J’ai une dernière question, lorsque je compare 2 badges copiés avec des sommes différentes, il y a plusieurs code hexa différents et aucun ne correspond à la somme du badge, existe-t-il un logiciel ou une manip pour savoir ou modifier la somme?
Je peux envoyer les fichiers si tu le souhaites.
D’avance merci et encore merci pour ton aide très précieuse
Cdt
Bonjour Alex,
En attendant ta réponse, je me lui laissé tenté par un mobile Androïd … Du coup, je pense utiliser l’application Mifare Classic Tool. Cette idée de « cliquer et c’est peser » m’enchante
Mon choix, le Xiaomi MI 9T … Le NFC est listé dans sa fiche technique, j’espère que tout ira bien.
Merci encore pour tes articles si pédagogiques sur ce sujet.
Bonjour Helpme , cherche donc dans le secteur 12 , 3 eme bloc . C est souvent la . Quel est le montant de ta puce ?
Bonjour Luc,
Depuis toutes ces mesaventures je suis en lien direct avec la marque qui produit le ACR122U, et je peux vous garantir que depuis Avril 2018, tous les lecteurs vendus sur la boutique sont épargnés par le phénomène :)
Bien à vous,
Alexandre
Bonjour,
Ci-joint les infos que je trouve sur la clé après 2 copies avec des sommes différentes
j’ai mis uniquement les données ou il y a une différence
Badge avec 4,45€
……
b9eb 6af6 09b9 b8d6 f6af 9519 0549 314c
3fbf 39ea ea57 c35b 2216 f266 7dc1 b3de
6bca 3467 62bc d57f b9eb 6af6 09b9 b8d6
a0a1 a2a3 a4a5 0f00 ffff 415a 5445 4b4d
004e 75ec 0ac8 2c5a e2c4 ecd8 9e0c 530e
b9eb 6af6 09b9 b8d6 7a49 fa2b e418 2453
8a0c 7fa2 8031 8261 b9eb 6af6 09b9 b8d6
a0a1 a2a3 a4a5 0f00 ffff 415a 5445 4b4d
………
Badge avec 4,65€
……..
b9eb 6af6 09b9 b8d6 f6af 9519 0549 314c
5682 d0b0 3ff2 1a94 2236 a822 245b 6bf6
e0e5 d3ee b941 ad96 b9eb 6af6 09b9 b8d6
a0a1 a2a3 a4a5 0f00 ffff 415a 5445 4b4d
004e 75ec 0ac8 2c5a 17ba 2cc5 8330 3537
b9eb 6af6 09b9 b8d6 2086 ef3f 015f 2a3c
8a0c 7fa2 8031 8261 b9eb 6af6 09b9 b8d6
a0a1 a2a3 a4a5 0f00 ffff 415a 5445 4b4d
……………
Merci
OK Merci pour la réponse Alex. Je suis mal tombé alors, pas de chance, mais je me console car j’ai réussi à faire fonctionner le mien, après quelques jours et nuits d’échecs continus.
J’en peux plus de error libnfc.driver.acr1222_usb Unable to set alternate setting on USB interface (Connection time out) !
Malgré ce temps passé mon mérite reste minime car je n’y connais pas grand chose en Linux, mais j’ai essayé de rassembler ce que j’ai pu glaner par ci par là, et surtout ici https://debian-facile.org/viewtopic.php?id=22356.
Comme le problème touche quand même apparemment plusieurs utilisateurs malheureux, je résumerai à la suite de ce fil là la façon dont j’ai procédé pour enfin parvenir à faire fonctionner mon lecteur sous Kali.
Pour l’instant je suis obligé de taper une longue liste de commandes à la main après avoir booté avec une clé usb live. Ce n’est pas très pratique mais au moins au final ça marche. ça me convient pour un usage occasionnel. Je n’ai pas réussi à faire la même chose avec un installation fixe sur un disque dur, je ne sais pas pourquoi mais une étape ne fonctionne pas.
S’il était possible de faire un fichier image, un instantané, ce serait pratique mais je ne sais pas si ça existe.
Bjr helpme, as tu un tel qui fait nfc, pour installer mct . Se serait plus simple.
Bonjour, j’ai envie de tenter de cloner une carte pass partout vigik tel que celle de la poste , je dispose d un tel nfc, dois je prendre les cartes ou les badges dans la boutique, et pense tu l’opération réalisable?, les codes changent mais si on répète l’opération , les cartes sont réinscriptibles nonl?
merci
pas de possibilité de message privé?
Bonjour,
J’aimerais me lancer, mais quels sont les soucis rencontrés encore aujourd’hui?
Je pense prendre un petit pc portable, (genre tablette sous windows 10).
Est ce suffisant?
Merci
Bonjour, pour moi toutes les étapes se passent comme prévu exepté la derniere (étape 6: la commande s’execute mais à la place de la ligne « received bits: a (4bits) » j’ai « unlock failure! » et fin de la commande…
Salut Alex,
Je vois que dans la boutique les badges compatibles MCT sont en ruptures, allez-vous bientôt en avoir de nouveaux ?
Sinon les LIBNFC pourraient-ils convenir avec l’appli MCT ?
D’avance merci.
Hello Cédric, soit rassuré, le nouveau stock est arrivé :)
Attention si tu utilises les badges « libnfc » (badges de generation 1) tu ne pourras pas modifier l’UID depuis un smartphone, il faudra passer par un lecteur USB comme le ACR122U.
Alexandre
Pour info pour ceux qui ont la malchance et d’avoir ce message d’erreur « Unable to set alternate setting on USB interface » car ils ont un lecteur d’une mauvaise série, voici une solution pour pouvoir utiliser quand même l’ACR122U sous Linux Kali :
Voir mon message numéro #37 ici https://debian-facile.org/viewtopic.php?pid=310787#p310787
Bonjour,
J’ai un souci lorsque j’essaye de copier mon badge d’immeuble après la commande suivante :
root@kali:~# mfoc -P 500 -O badgeoriginale.dmp
Message
Sector 15 – Unknown Key A Unknown Key B
mfoc: ERROR:
No sector encrypted with the default key has been found, exiting..
Si j’essaye de le recopier sur un autre badge j’ai le message suivant :
root@kali:~# nfc-mfclassic W a badgeporte.dmp badgevierge.dmp
NFC reader: ACS / ACR122U PICC Interface opened
Expected MIFARE Classic card with UID starting as: b92babde
Got card with UID starting as: fa972321
Aborting!
Merci d’avance pour votre aide
hello Seb17,
Voici 2 erreurs différentes. J’ai au mojns la réponse pour votre premier problème :
Pour l’erreur « No sector encrypted with the default key has been found, exiting. » cela vient du fait que le badge d’immeuble est encodé avec des clés non-standards. Pour que mfoc arrive à ses fins, il faut donc lui passer un fichier de clés additionnelles. Par expérience, avec le fichier suivant, on frôle les 100% de réussite ;) https://raw.githubusercontent.com/ikarus23/MifareClassicTool/master/Mifare%20Classic%20Tool/app/src/main/assets/key-files/extended-std.keys
Donc concrètement il faut télécharger le fichier, et relancer mfoc avec la commande suivante : root@kali:~# mfoc -P 500 -f extended-std.keys -O badgeoriginale.dmp
Pour votre deuxième problème, quelle version de Kali utilisez-vous ?
Bien à vous,
Alexandre
Bonjour Alex,
Merci pour ta réponse, j’ai bien réussi à copier le badge avec le fichier mais le message lors de la recopie est toujours le même.
La version de Kali est 3.30.2 (Using VTE version 0.54.2+GNUTLS)
Salut les ami je souhaite dupliquer un badge de parking sans piste noire mais celui n’ai pas detecté sur mon lecteur contrairement a ma carte de machine qui a café qui elle marche tres bien lecture et copie ?
une idée ?
merci
Bonjour Alex,
Tout se passe très bien lors de la création des deux fichiers mais dans la dernière étape qui affiche ce message ci-après tout se bloque après « Sent bits: 50 00 57 cd ».
NFC reader: SCM Micro / SCL3711-NFC&RW opened
Found MIFARE Classic card:
ISO/IEC 14443A (106 kbps) target:
ATQA (SENS_RES): 00 04
UID (NFCID1): 01 23 45 67
SAK (SEL_RES): 08
Guessing size: seems to be a 1024-byte card
Sent bits: 50 00 57 cd
La suite « Sent bits: 40 (7 bits) »Received bits: a (4 bits) etc… » n’apparaît pas et et je n’ai aucun retour à la ligne root@gkali. Une explication ?
Merci d’avance.
Bonjour, pour tester sur une machine a café avec une carte mifare classic 1k, j’ai bien suivi toutes les étapes, j’ai bien copié mon badge, tout s’est déroulé correctement, l’uuid est identique, . j’ai refait une extraction du badge copié pour comparer au dump du badge original et tout est identique.
Seul le SAK est différent, j’ai 88 au lieu de 08 ( ou l’inverse )
La copie n’est pourtant pas reconnue par la machine a café…
Est-ce que ca viendrais du SAK?
Hello cmoi,
Quels types de badges as-tu utilisé ?
2 possibilités : soit le SAK pose problème soit le type de badge utilisé (generation 1 généralement) est détecté (et bloqué) par le lecteur.
Tiens nous au courant,
Alexandre
Bonjour et merci :) le badge d’origine est de type mifare classic 1k et le badge copié est un badge mifare classik 1k aussi avec bloc 0 modifiable, fourni en pack avec un lecteur de type acr122 ,( je ne sais pas si c’est ca la question.)
J’arrive a mettre le bon uuid dedans, j’ai une copie parfaite en faisant un dump de ce qu’il y a dedans et en comparant les hashages et le contenu des fichiers, mais le SAK est différent, sauf quand le badge chinois reprends son UUID d’origine, la le SAK recherché (08) est bon mais quand je mets les données copiés de l’original il prends la valeur 88… j’ai recherché , apperement le seul moyen serais de prendre proxmark :(
Excellent article très pédagogique. Toutefois je n’arrive pas à savoir si l’ACR122U est compatible pour le type de tag « ISO 1443-3A NXP MIFARE Ultralight (Ultralight).
Un grand merci si je peux obtenir cette précision.
Cordialement
Bonjour,
J’aurais besoin de copier mon badge de co-pro ( vigik intratone NfcA, MifareClassic, NdefFormatable ), cependant tout le monde me dit que ca va désactivé l’original et qu’il fallait le code que la co-pro à soumis.
Ma question quel est le moyen de copier mon badge sans désactivé l’original?
Cordialement.
Bonjour Julien,
Qui est ce « tout le monde » ? Pour détecter le type de contrainte que vous mentionnez, scannez avec mfoc votre badge avant, et après utilisation, et comparez les fichiers obtenus.
S’ils sont identiques, vous n’avez pas à vous inquiéter. Si au contraire le contenu change, là vous pourriez effectivement observer la désactivation du badge original en cas de copie…
Bien à vous,
Alexandre
Bonjour j’ai le même problème que thomas :
root@kali:~# nfc-mfclassic W a carte-origine.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): 00 74 c1 60
SAK (SEL_RES): 08
Guessing size: seems to be a 1024-byte card
Sent bits: 50 00 57 cd
error libnfc.driver.acr122_usb Invalid RDR_to_PC_DataBlock frame
Sent bits: 40 (7 bits)
error libnfc.driver.acr122_usb Invalid RDR_to_PC_DataBlock frame
unlock failure!
root@kali:~#
Hello JJ,
Pour l’erreur error libnfc.driver.acr122_usb Invalid RDR_to_PC_DataBlock frame essayez de débrancher/rebrancher votre lecteur ACR122U.
Et enfion pour le « unlock failure », cela peux avoir plusieurs origines. Pouvez-vous me dire sur quel tags NFC vous essayez d’écrire (si vous avez le lien c’est le mieux) et quelle version de kali et des NFC Tools (si ce n’est pas la version par défaut de Kali).
Bien à vous,
Alexandre
Bonjour,
J’ai toutes les étapes en OK ou Done etc mais malheureusement, le UID n’est pas copié alors que j’ai un beau « Done, 64 of 64 blocks written. »
As-tu une idée du problème ?
Bonsoir Alex,
J’ai le même pb que certains à l’étape 6 , message : « incorrect bcc in mfd file »
J’ai kali linux large v2019.3, et les tags nfc vendu par l’atelier du geek reçu aujourd’hui.
J’ai fait un dump du tag que je voulais copier avec mon téléphone (mifare classic tool) et en voulant écrire ce dump sur le tag (avec le uuid réinscriptible en utilisant kali et le lecteur ACR122U), j’ai ce message.
Comme si le badge reçu n’avait pas le block 0 de réinscriptible :-\.
sur github, ils parlent de recompiler le libnfc, tu en pense quoi ? : https://gist.github.com/alphazo/3303282
Franck
Bonjour Alex,
j’ai un petit soucis avec le « tag » d’une carte :
j’ai dump la carte original non sans soucis , mais c’est ok j’ai mon dmp
je dump ma clé vierge : ok
je fais mon nfc-mfcclassic W a dumporiginal dumpvierge : OK 64/64
je fais un nfc-list sur les 2 cartes :
UID (NFCID1): 04 62 24 8a 93 54 80
et UID (NFCID1): 26 59 a4 3d
du coup je fais un dump de la clé pour voir et je compare en hexa
newcleprogrammé == clevide
comme si la programmation n’avait pas eu lieu
Merci d’avance ;p
Cdt
Bonjour à tous,
Intratone utilise un numéro qui est gravé sur le badge qui n’est pas celui inscrit dans le badge. Savez-vous comment le numéro gravé est calculé par rapport à celui inscrit dans le badge ?
Merci d’avance pour vos réponses.
Bonjour Alex,
Tout comme Seb17 et d’autres, je suis tombé sur un badge (Noralsy pour ma part) dont les clés ne sont pas standards et donc pas reconnues par la commande de clonage mfoc classique. J’ai donc essayé de passer par mfcuk, en vain, ca tourne dans le vide, même après une nuit entière à laisser mon PC tourner.
J’ai donc wget le fichier extended-std.keys d’Ikarus23 et là ,en rentrant la commande » mfoc -P 500 -f extended-std.keys -O badgeoriginale.dmp », le résultat me donne: « mfoc: invalid option — ‘f' »
Après avoir lancé un man mfoc, j’ai pu m’apercevoir que la commande « f » (ou F) n’apparaissait pas.
Je tiens à préciser que je suis un débutant sur linux et ai surement du faire une erreur… de débutant quelque part!
Cependant, après des heures de recherche sur le net, j’ai bien l’impression d’être le seul à connaître ce problème – ou du moins à chercher la solution sur la toile.
Pour info, je suis sous Kali linux avec un ACR122U qui m’a confronté au fameux problème « Unable to set alternate… » qui j’ai pu solutionner grace à toi (Merci!!) et qui m’a permis de réussir à cloner mon badge d’immeuble avec réussite mais là, je tombe sur un os avec ce Noralsy résistant.
Un grand merci pour ce que tu pourras faire pour moi :)
Hello Fabio,
La commande est pourtant bonne, j’ai l’impression que tu as saisi un double tiret avant le f.
Pour avoir l’ensemble des paramètres disponibles, tu peux exécuter la commande mfoc -h
Bien à toi,
Alexandre
Hello Bennyhill,
Désolé je n’en ai pas sus la main pour essayer de deviner :/ Peut-être que l’un des lecteurs en saura plus ?
Bien à toi,
Alexandre
Hello Nico,
Quelle version de Kali et quels badges vierges utilises-tu ? Je n’ai jamais vu le soucis. Sur certaines version il existe la commande nfc-mfsetuid pour définir manuellement uniquement l’UID.
Bien à toi,
Alexandre
Hello Franck,
Je ne suis pas sûr de bien comprendre.
Le message d’erreur « incorrect bcc in mfd file » apparait sous kali ou MCT ? Pour moi ce message indique un soucis dans le dump de ton badge original, pas dans le badge vierge.
En tous cas le bout de code github me semble bien trop vieux pour en espérer quoi que ce soit…
Bien à toi,
Alexandre
Bonjour Yannick,
J’aimerais bien vous aider mais je ne comprends pas le problème… Pouvez-vous essayer de le réexpliquer ?
Bien à vous,
Alexandre
Bonjour Alex,
Merci pour ton retour. Si je te file, le numéro gravé et le numéro inscrit tu peux m’aider ?
Benny Hill
Bonjour,
une piste pour ceux qui n’ont pas des clés standards et que l’ajout du fichier extended-std.keys ne règle pas le problème.
Vous pouvez utiliser sous Kali miLazyCracker qui pour moi a réussi à trouver les 2 clés manquantes pour dupliquer mon badge.
On peut le recuperer ici :
https://github.com/nfc-tools/miLazyCracker
Décompacter le fichier miLazyCracker-master.zip
se rendre dans le sous-dossier et l’installer en faisant :
./miLazyCrackerFreshInstall.sh
Lancer ensuite la commande :
miLazyCracker
Et se laisser guider :)
Attention dans mon cas la recherche des clés a pris près d’une heure…
Le logiciel propose directement la copie sur un autre badge, mais nous donne aussi les clé trouvées que l’on peut réutiliser avec mfoc si on le souhaite en les ajoutant :
Exemple pour les clés 4a2b29123456 et 43454212344e :
mfoc -P 500 -O carte-a-copier.dmp -k 4a2b29123456 -k 4345412344e
Placez ensuite la carte chinoise sur le lecteur et tapez :
mfoc -P 500 -O carte-chinoise.dmp
Et copier le contenu de la carte sur la carte chinoise :
nfc-mfclassic W a carte-a-copier.dmp carte-chinoise.dmp
Bonjour,
Tout d’abord merci pour ce tutoriel très clair grâce auquel j’ai réussi a cloner ma carte mfare.
Les deux carte fonctionne!
Par contre je constate que sur la carte clone, le SAK a changer de 08 a 88:
1) y’a il un moyen de le modifier pour en faire une copie exact?
2) le clone va il être reconnu en tant que copie par le système?
Objectif: Ayant droit a une place de parking accessible via la carte Mfare mais utilisant deux véhicule, j’aurais aimais avoir une carte a laisser dans chaque voiture.
Merci d’avance pour vos réponses.
Bonjour,
Tout d’abord merci pour ce tutoriel très clair grâce auquel j’ai réussi a créer un clone de ma carte mfare.
Je constate que le SAK de la carte clone est désormais 88 au lieu de 08 comme il était au début, et comme il est sur l’original.
1) Y’aurait il une façon de corriger ce problème afin d’avoir une carte clone a 100 pour-cent?
2) es ce que cette carte va être reconnu par le système comme une copie a cause de cela?
Objectif: Ayant droit a une place de parking accessible avec cette carte et utilisant des véhicules différents, j’aimerais avoir deux carte fonctionnelles afin d’en laisser une dans chaque voiture.
En vous remerciant par avance pour vos réponses.
Salut, merci pour cet article de qualité.
J’aimerais savoir si c’est possible de cloner un badge mifare desfire ev1. J’imagine que si c’est faisable, ca doit être bien plus galère ?
Merci :)
Bonjour,
J’ai un problème avec mon Tag original.
Lors de l’étape 3 : le lecteur reconnait bien le taf et affiche son UID.
Par contre, lors de l’étape 5 :
Je lance root@kali:~# mfoc -P 500 -O carte-originale.dmp
et la console renvoi :
mfoc : ERROR: No tag found.
Est-ce que cela veut dire que le Tag est protégé?
Merci d’avance,
Corzer
Bonjour Alex,
sais tu s’il est possible de mettre deux identifiants RFID sur un même badge ? (je suppose que non mais sais t on jamais ^^)
Merci
Hello à tous,
Je rencontre un problème lors de la tentative de copie de la puce d’origine. Le lecteur ne semble pas réussir à décrypter les clés avec une erreur mfoc. Je précise que j’ai reussi à le faire via le smartphone et l’application android, le badge fonctionne bien. J’ai voulu passer par le lecteur pour comprendre exactement comment fonctionnait les commandes sans l’IHM. Voici le détail du code obtenu:
mfoc -P 500 -O carte-originale.dmp
Found Mifare Classic 1k tag
ISO/IEC 14443A (106 kbps) target:
ATQA (SENS_RES): 00 04
* UID size: single
* bit frame anticollision supported
UID (NFCID1): 3e b2 3e ab
SAK (SEL_RES): 08
* Not compliant with ISO/IEC 14443-4
* Not compliant with ISO/IEC 18092
Fingerprinting based on MIFARE type Identification Procedure:
* MIFARE Classic 1K
* MIFARE Plus (4 Byte UID or 4 Byte RID) 2K, Security level 1
* SmartMX with MIFARE 1K emulation
Other possible matches based on ATQA & SAK values:
Try to authenticate to all sectors with default keys…
Symbols: ‘.’ no key found, ‘/’ A key found, ‘\’ B key found, ‘x’ both keys found
[Key: ffffffffffff] -> […………….]
[Key: a0a1a2a3a4a5] -> […………….]
[Key: d3f7d3f7d3f7] -> […………….]
[Key: 000000000000] -> […………….]
[Key: b0b1b2b3b4b5] -> […………….]
[Key: 4d3a99c351dd] -> […………….]
[Key: 1a982c7e459a] -> […………….]
[Key: aabbccddeeff] -> […………….]
[Key: 714c5c886e97] -> […………….]
[Key: 587ee5f9350f] -> […………….]
[Key: a0478cc39091] -> […………….]
[Key: 533cb6c723f6] -> […………….]
[Key: 8fd0a4f256e9] -> […………….]
Sector 00 – Unknown Key A Unknown Key B
Sector 01 – Unknown Key A Unknown Key B
Sector 02 – Unknown Key A Unknown Key B
Sector 03 – Unknown Key A Unknown Key B
Sector 04 – Unknown Key A Unknown Key B
Sector 05 – Unknown Key A Unknown Key B
Sector 06 – Unknown Key A Unknown Key B
Sector 07 – Unknown Key A Unknown Key B
Sector 08 – Unknown Key A Unknown Key B
Sector 09 – Unknown Key A Unknown Key B
Sector 10 – Unknown Key A Unknown Key B
Sector 11 – Unknown Key A Unknown Key B
Sector 12 – Unknown Key A Unknown Key B
Sector 13 – Unknown Key A Unknown Key B
Sector 14 – Unknown Key A Unknown Key B
Sector 15 – Unknown Key A Unknown Key B
mfoc: ERROR:
No sector encrypted with the default key has been found, exiting..
Bonjour, la question au niveau du sak 88 au lieu du 08 une solution a ete trouvé ou pas ? Je n ai pas essayé si cella fonctionne ou pas !
Merci
Salut moi je cherche quelqu’un qui peut me cloner dépasse des remontées mécaniques
Bonjour Miamigui,
Cette erreur signifie simplement que mfoc ne connait pas les lcés de chiffrement utilisées pour votre badge.
Vous pouvez l’aider en lui passant en paramètre un fichier de clés additionnel (le fichier de clés de MCT par exemple) via le paramètre -f
Cela résoudra votre problème.
Bien à vous,
Alexandre
Hello Bob, et si vous commenciez par essayer ? Peut-être que vous verriez que cela n’a pas d’importance ? En vérité cela dépend du système, donc peut-être n’avez-vous pas besoin de pousser plus loin :) Bien à vous, Alexandre
Bonjour Alex,
Je viens d’acheter un lecteur NFC ACR122 à l’atelier du geek, bien que n’étant pas très geek, pour copier un badge de parking.
J’ai suivi la procédure de création de la clé Kali avec Rufus (étape 1 du tuto). La version de Kali est la version 2019.4-amd64.
Quand je redémarre mon ordi sur cette clé j’ouvre Kali et la console et je tape les commandes de l’étape 2; mais ensuite la commande nfc-list (étape 3 du tuto) n’est pas reconnue.
Quelle étape me manque-t-il ? Faut-il télécharger à part les Nfctools ? Et si oui dans quel répertoire les installer ?
Merci de votre réponse
Emmanuel