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
merci des que je peut je vais essayer sa dans la machine :)
Salut Alex,
J’ai eu beau télécharger différentes versions de Kali (2017.1, 2019.4.kde-amd64), rien y fait.
Je quand j’arrive au boot pour le lancement de kali, je choisie le premier de la liste (Live system), le chargement à bien lieu jusqu’à un message « unable to find a medium containing a live file system ».
Pas moyen donc d’arriver à l’interface graphique. je suis en ligne de commande, et avec très peu de commande fonctionnel.
Vous auriez une idée de l’origine du problème ?
Merci d’avance pour votre aide.
Bonjours, j’ai acheter récemment sur votre boutique le kit lecteur nfc badge etc ainsi que la clé usb kali.
J’ai un problème lorsque je lance la copie du badge originale (VIGIK INTRATONE) cela cherche cherche cherche mais fini par une erreur car il y a que des ………………
J’ai donc lu les commentaire j’ai installer le wget -f mais rien a faire si tu pourrais me contacter par email je les renseigner directement dans le formulaire.
J’aurais ensuite une autre question j’ai une carte (sans puce) et une clé de société de lavage non connu mais aucune des deux n’est reconnu par mon lecteur nfc il ne s’allume pas vert comme avec les autres badges, carte..
Si tu pouvais m’aider ce serais cool.
Bien cordialement Valentin
Bonsoir
J’ai bien réussi a tout effectuer mais même problème que certain au niveau du SAK sur mon badge origine INTRATONE j’ai la valeur : 08 et sur mon badge chinois acheter sur la boutique du forum j’ai la valeur : 88
Comment faire ?
Merci d’avance
Vario
Bonjour Alex,
j ai bien recu mon pack pour debuter (lecteur acr 122, carte usb bootable,carte vierge…..)
J’ai un souci lorsque j’ai essayé de copier ma carte avec la commande suivante :
root@kali:~# mfoc -P 500 -O badgeoriginale.dmp
j’ ai eu ce message :
Using sector 00 as an exploit sector
Error while requesting plain tag-nonce
apres j’ai bien recopié le fichier
https://raw.githubusercontent.com/ikarus23/MifareClassicTool/master/Mifare%20Classic%20Tool/app/src/main/assets/key-files/extended-std.keys
et j’ai bien effectué la commande :
root@kali:~# mfoc -P 500 -f extended-std.keys -O badgeoriginale.dmp
mais la il ne trouve que 15 secteurs et pas les 64 blocks et avec le message d’erreur:
Using sector 00 as an exploit sector
Error while requesting plain tag-nonce
j’ai essaye plusieurs fois,mais meme resultat.
merci
cordialement
bonjour
j’ai tenté de publier une commentaire dans lequel j’indiquais que j’avais cross compilé mfoc et autres outils pour windows 10, en donnant un lien vers mon blog, mais apparemment vous n’avez pas validé mon commentaire. Pourquoi ?
Bonsoir Alex,
Désolé de vous déranger mais j’ai un souci avec kali. Je ne sais pas si vous auriez une idée du problème je n’ai rien trouvé sur le net.
J’ai téléchargé et installé kali sur une clé usb via rufus. En démarrant sur la clé j’arrive a un boot.
Quelque soit ma sélection, kali démarre mais fini sur l’invite de commande avec très peu de fonction disponible.
J’ai téléchargé d’autres versions de kali, dont celle qui a servi pour cet article, mais le résultat et le même.
Merci pour votre aide.
Hello Emmanuel,
As-tu bien pris la version « full » de Kali ? Je pense que ton problème vient de là :)
Alexandre
Hello Cédric, malheureusement aucune idée de pourquoi ça ne fonctionne pas :/
Alexandre
Hello Vario,
Pour changer e SAK malheureusement je ne crois pas que ce soit possible avec le ACR122U (en tous cas je n’ai pas trouvé comment faire). Cela ne devrait cependant aps entraver le bon fonctionnement de la copie.
Avec le proxmark3 par contre c’est possible…
Alexandre
Hello Maati,
Désolé, là comme ça je ne connais pas la solution :/
Tiens nous au courant si tu trouve quelque chose.
Alexandre
Hello Xaxave,
Rien de volontaire ou de personnel : je croule un peu sous le boulot en ce moment, et du coup je ne viens pas valider les commentaires tous les jours ;)
C’est avec plaisir que je publie tous les commentaires qui ne sont ni du spams ni haineux.
Alexandre
Hello maati, j ai eu le meme probleme en voulant copier un badge, n utilise pas le mode persistant de la cle usb bootable . Mais uniquement le mode normal comme dans l article d alexandre. Anthony76
Bonjour Anto76,
Merci pour l’info, j’ai reçu grâce a Pidug .il a donné une astuce avec milazyCracker.
J’ai tout les secteurs, mais l uid de la carte chinoise ne change pas.
Merci.
bonjour à tous, étant nouveau dans ce monde RFID, j’ai réussis à installer Linux Kali sur une clé USB, installer mon lecteur ACR122 … et même réussis a clôner un badge machine à café sur un badge vierge, mais j’ai eu un soucis, l’UID est le même sur le badge dubliqué mais le dump est différent du badge originale. sachant que le badge original avec la commande mfoc -O badge.dmp cherche d’abord les 3 clés manquante, et ensuite j’ai fait le clonage qui est réussi avec l’écriture des 64 blocks; donc je me pose la question si c’est normal que le dump soit différent alors que c’est la copie? merci de vous réponses
Bonjour Alex, je crois que votre aide me serait très utile pour résoudre mon petit problème.
Je suis sous kali, j’ai tout fait dans l’ordre et j’ai réussi a faire le dump de mon badge:
mfoc -P 500 -O B1.mdf -k 81e580c5bb9a -k 1b05945b0aa8 -k 816386ea49a3 -k b5071ff43067 -k cb2dc7372a1a
The custom key 0x81e580c5bb9a has been added to the default keys
The custom key 0x1b05945b0aa8 has been added to the default keys
The custom key 0x816386ea49a3 has been added to the default keys
The custom key 0xb5071ff43067 has been added to the default keys
The custom key 0xcb2dc7372a1a has been added to the default keys
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): 90 10 XX XX
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 ………… etc
je modifié ensuite le dump afin de le réinjecter dans le badge, mais ça ne passe pas avec les commandes suivantes:
nfc-mfclassic w A B1.mdf
nfc-mfclassic w a B1.mdf
nfc-mfclassic w B B1.mdf
nfc-mfclassic w b B1.mdf
nfc-mfclassic w A B.mdf B1.mdf (en créant un second dump) … avec toutes les commandes A et B
Parfois ça me met 40 blocs écrits sur 64 mais quand je refait le dump je trouve que la modification apportée au bloc 4 n’est pas modifiée. sachant que ce dernier est protégé par une clé A.
auriez-vous une idée?
Merci d’avance pour votre réponse et réponses des autres adhérant.
jusqu’ à l’étape 2 c’est ok
Etape 3 cele se corse:
apres la commande sudo nfc-list
message:
nfc-list uses libndc 1.7.1
error libnfc.driver.arc122_usb unable to claim USB interface (Device or ressource busy)
nfc-list: ERROR: Unable to open NFC device: arc122_usb:002:003
Que faire alors?
merci
PS la clef usb kali a été acheté sur la boutique
Bonjour,
J’aimerai copier mon badge de parking à cause d’un second véhicule familial, et d’un bailleur à qui chaque demande ne se réalise qu’après plusieurs mois si ce n’est davantage >:(
Avant de sortir les lettres AR de masse, j’envisage de copier car moins cher. C’est un badge HEXACT avec un bouton pour ouvrir la grille, et en interne ce serait du Mifare Classic 1K à en croire mon smartphone.
Cependant, je ne sais pas quel badge compatible prendre (vu qu’il faut émettre un signal, les versions de proximité que vous indiquez ne sont pas suffisants), ni quels sont les risques éventuels. A en juger par ce PDF officiel ( http://notices.hexact.fr/11%20-%20HEXACT%20WEB/Stop%20aux%20copies%200418%20-%20Hexact.pdf ), la copie sera inopérante. Si c’est juste ça, je peux toujours tenter et je verrai. Mais si je risque de me retrouver bloqué à l’intérieur (ou extérieur, ce qui serait moins génant), ça ne m’intéresse pas.
Bref, est-ce faisable ? Si oui, connaissez-vous un badge compatible avec bouton d’émission ?
Cordialement,
Nethan
Bonjour,
J’ai une question. Est ce qu’il y a un risque que ça désactive le badge original ?
Cordialement.
Merci alex cella fonctionne nikel-)
Une autre question en iso 1443a peut t on le faire avec ce eme lecteur,j ai un proxmark3 qui et complique pour moi
bonjour,
j’ai installe sur une cle usb la version 2020 64 bits (et aussi la 32 bits) et j’ai des soucis qui m’empechent d’avancer :
1) la cle se lance bien et je boot sur la version live normale. En mode console je dois passer en root avec sudi -i car on ne l’est pas d’office. Puis je configure le clavier en fr.
2) a l’etape 2 les commandes mprobe -r pn533_usb et mprobe -r pn533 sont executees normalement mais elles desactivent le lecteur acr 122. Avant ces commandes, je peux mettre un badge dessus et il beep et la led passe au vert. Apres ces commandes il ne repond plus.
3) la commande nfc-list (ou nfc-lits -v) renvoie vers le message « commande inconnue ». Idem pour mfoc.
J’en deduis que je n’ai peut-etre pas la bonne version mais celle de l’article date de 2017 et le lien ne propose que la 2020.
J’ai trouve l’article fort bien documente et je voudrai bien avoir de l’aide.
Merci
Hello Frederic,
Je ne suis pas étonné des problèmes que tu rencontres, l’équipe derrière Kali Linux a changé pas mal de choses avec la version 2020, et je suis en train de mettre l’article à jour avec toutes les nouveautés.
De manière succinte : désormais on n’est plus identifié en super-utilisateur et l’ensemble des commandes doit donc être précédé du mot clé « sudo ».
Ensuite, les nfc tools et mfoc ne sont plus installés par défaut, il faut donc installer les paquets libnfc-bin et mfoc pour pouvoir suivre le tuto de l’article.
J’espère publier la nouvelle version d’ici mercredi ;)
Alexandre
Salut Alex,
Merci pour tes precisions rapides.
En fait je m’appretais a te contacter pour te dire que j’ai trouve la meme version que celle de l’article soit la 2017-1 en 32 bits. Et tout a immediatement fonctionne en suivant pas a pas tes indications.
A un detail pret : je ne parviens pas a terminer la lecture de mon badge Urmet (que je copie pourtant sans souci et avec succes sous Android avec Mifare classic sur un badge avec secteur 0 open.).
En fin de lecture apres le sector 15 j’ai le message « mfoc: ERROR ». Donc je ne peux pas creer de clone.
Je precise que je peux lire puis copier un badge vierge donc mon ACR122U fonctionne.
J’en deduis que les cles ne sont plus a jour puisque cette version Kali date de 2017 ? En effet, si Mifare classic fonctionne sous Android avec mon badge Urmet, il doit aussi fonctionner sous kali ?
Peut-on mettre les cles a jour et, si oui, où et comment ?
Merci pour ton travail c’est passionnant !
Je me permets d’ajouter ce complement d’information apres avoir relu les autres posts :
Mon message d’erreur est
« mfoc: ERROR:
No sector encrypted with the default key has been found, exiting.. »
Visiblement je n’ai pas (ou n’utilise pas) le fichier extended-std-keys
J’ai vu plus haut que l’on peut le charger ainsi :
wget https://raw.githubusercontent.com/ikarus23/MifareClassicTool/master/Mifare%20Classic%20Tool/app/src/main/assets/key-files/extended-std.keys
Puis executer : mfoc -P 500 -f extended-std-keys -O badgeoriginal.dmp
Questions :
– dans quel dossier Kali doit-on le telecharger ?
– comme la version est volatile (cle usb au boot) il faudra refaire le telechargement a chaque redemarrage ?
Enfin je precise que j’ai achete mon lecteur ACR122U et 3 badges 0 sur la botique du geek et que j’ai ete tres vite livre.
Merci
Hello Frédéric,
Tu peux commencer par cette commande wget après avoir mis le clavier en français.
Comme rien n’est conservé d’un démarrage sur l’autre, il te faudra effectivement refaire à chaque démarrage la même opération, sauf si tu lance la clé en mode persistant (auquel cas le fichier avec les clés additionnelles sera bien là au démarrage suivant).
Alexandre
Bonsoir Alex,
Merci pour la rapidite de ta reponse.
J’ai effectivement lance la commande wget puis celle modifiee de lecture du badge et celà fonctionne !
Ce qui m(etonne juste c’est que les cles contenues dans extended-std-keys sont copiees dans defaut.keys d’apres ce que je lis. Mais le badge a ete lu au bout d’une quinzaine de minutes et j’ai pu creer la copie ur une carte blanche achetee sur le site (lot de 5). je vais l’essayer et te tiendrai au courant.
Je vais essayer le mode persistant dont tu m’apprends le fonctionnement.
Questions :
– la methode sous Kali avec ACR122U est-elle plus fiable que celle sous Android ?
– le fichier extended-std-keys que j’ai charge sous Kali est-il le meme que sous Android ?
– sinon comment le charger aussi sous Android ?
– les versions Mifare classic tool sont-elles identiques sous Kali et Android ?
Prends soin de toi en ces temps de confinement.
Frederic
Bonsoir Alex,
Les cartes blanches bloc 0 on copiees fonctionnent. J’utilise maintenant la version persistante pour ne pas perdre les reglages.
Idem pour un badge que je pensais non-bloc 0 et que je ne parvenais pas a copier sous Android.
Mais je crois que certains tags sont Andoid et d’autres Linux mais rarement les deux.
Derniere question : pourquoi creer un dump de la carte vierge dans le fichier vierge.dmp ?
Il n’est pas possible de dumper le badge original dans badge.dmp puis de formatter le support vierge avant ecriture ? Enfin les badges sont bien re-inscriptibles ?
Bien a vous et dans l’attente impatience de la maj de mercredi :-)
Hello,
J’ai donc mis à jour tous les articles en précisant les changement à effectuer si vous utilisez une version 2020 de Kali.
Pour répondre à tes question Fredéric :
– A la base il existe plusieurs types de tags avec bloc 0 réinscriptible, certains sont utilisables avec les nfc tools uniquement (generation 1), d’autres avec Android (generation 2). Par contre la clé USB en vente sur la boutique contient une version custom des NFC Tools qui leur permet décrire sur les 2
– En utilisant le fichier de clés additionnelles, on réalise une attaque par dictionnaire (on teste la clé 1, puis la 2, puis la 3, etc… Jusqu’à ce que ça marche). cela marche bien pour les badges nfc communs, mais dès que l’on veut faire parler certaines cartes/puces il faut avoir accès à des attaques plus évoluées qui ne sont disponibles que sous Linux (attaque hardnested notamment).
– Réaliser le dump de la carte « vierge » permet de pouvoir écrire dessus même si le badge vierge a déjà été utilisé. Sinon on peut sauter cette étape, mais vu que ça ne prend pas longtemps et maximise les chances de succès, j’ai préféré l’inclure :)
Voilà, bonne chance à tous dans la suite de vos expériences, et n’hésitez pas à faire signe si vous tombez sur des badges et cartes récalcitrants.
Alexandre
Testé, fonctionne super bien ce tuto. Je te remercie :)
Bonsoir Alex,
Merci pour la precision et la rapidite de tes reponses.
J’ai d’autres questions comme d’habitude mais je pense que cela peut aussi aider la communaute :
. chez moi le mode « live-persistant » ne fonctionne pas : apres redemarrage, extended-std.keys n’est pas sauve. Idem pour les reglages : suppression de l’ecran de veille, clavier fr, pn533, etc. Une idee ? Sinon j’acheterai la cle du site mais ce serait dommage pour ma bourse lol.
. les addons de la cle vendue sur le site sont-ils chargeables/installables soit-meme (sans vouloir concurrencer geek mdr) ?
. la version 2020 de Kali installable via la maj du jour apporte quoi de mieux que la 2017-1 initiale ? D’ailleurs tu evoques Linux a un moment mais Kali est un derive de Linux non ? Aurait-on de meilleurs resultats sous Ubuntu 18.04 ?
. enfin existe-t-il une commande factory-format (comme sous Android) pour initialiser un badge déjà ecrit ? En effet, quand il est vierge, la commande mfoc -P 500 -O vierge.dmp l’initialise en vingt secondes. Mais une fois ecrit il retourne l’erreur de keys (mfoc: ERROR: No sector encrypted with the default key has been found, exiting) et il faut alors passer par mfoc -P 500 -f extended-std-keys -O vierge.dmp ce qui est tres long (plus de 30 minutes chez moi comme pour la recherche initiale des keys). J’ai resolu cela en initialisant sous Android (meme un badge a usage Kali non-inscriptible sous Android mais ce n’est pas tres orthodoxe…).
Amicalement
Bonsoir,
Je vous remonte une experience etrange.
Avec Kali, j’ai copie avec succes un badge Urmec sur une carte RFID/NFC mais celle-ci n’a pas ouvert la porte.
J’ai alors refait l’operation via Android sur un badge et elle a ouvert la porte !
Je precise que carte et badge ont ete achetes sur la boutique Geek. J’invite d’ailleurs les lecteurs a acheter sur Geek car je me suis fournis aussi sur Amazon et les badges recus sont moins sensibles.
Une idee ?
Thx
Bonjour Alex,
Merci beaucoup pour ce tuto bien pratique.
J ai un petit problème, lors de la copie du badge original j ai un retour Unknown key pour les secteurs 11 a 15. Est ce que je peux faire quelque chose de plus ?
Merci beaucoup d avance
Hello Paul,
Est-ce que tu as essayé d’utiliser la liste de clés mentionnée dans les commentaires précédents ?
Si cela ne donne rien de plus il faudra lancer une attaque hardnested pour obtenir les dernières clés.
Enfin, en dernier recours, on peut le faire pour toi ;)
Alexandre
Bonjour,
après la copie, est-il possible de rendre le tag en lecture seule?
Puis, est-il possible d’activer l’écriture à la demande?
Merci
HEllo,
Merci pour le tuto, j’ai pris la version 2019.3, les tools nfc ne sont pas installé dessus.
J’ai fait la manip, je dump mes cartes orginal + vierge
et au moment de faire la copie j’ai ça
could not open keys files : carte-vierge.dmg
On dirait qu’il n’arrive pas a lire mon fichier de carte vierge.
Aurait tu une idée ?
Merci beaucoup
Hello Philippe,
Est-ce que tu peux nous copier coller ta commande ? Je pense qu’il y a une erreur dedans (ou dans une des étapes précédentes !).
Alexandre
Bonjour, j’ai une question peut-être vous pouvez m’aider.
J’ai acheté des puces RFID chinoise, mais le problème que je n’arrive pas à effacer ni écrire sur le secteur « 0 » la première ligne, pour pouvoir copier exactement la clé de mon bâtiment que j’ai réussi à extraire parfaitement.
Par contre sur le lecteur de 1 à 15 je peux écrire sans problème. il y a un mois j’ai acheté des « puces RFID » exactement pareil mais dans un autre boutique et je peux modifier le fameux secteur 0…
Ps: j’ai même utilisé commande effacement (sudo nfc-mfsetuid -f) dans le Kali mais ça met pas la puce à zéro…
Merci
Marc
Bonjour Marc,
Si votre version de Kali n’a pas été compilée à la main à partir de sources récentes, il est quasiment sûr que votre kali ne supporte que les badges de génération 1, et vu ce qui vous arrive je pense que vous essayez de manipuler des badges de deuxième génération. Donc là 2 solutions : trouver des puces de génération 1 ou passer à une version des NFC Tools capable de gérer tous types de badges. Bonne nouvelle, on a tout en stock ;) Alexandre
Bonjour à tous,
Petit retour d’expérience, Lecteur ARC122U acheté à la Boutique du Geek reçu rapidement ça fait plaisir ! :)
Super tuto, fait avec un Kali 2020.2, je n’ai pas réussi à lire mon Vigik Intratone du premier coup mais une fois le wget du commentaire de Frederic fait, ça a du prendre 15/20 minutes pour décoder mon Vigik ! Nikel !
(Attention dans la commande du commentaire de Frederic remplacer : extended-std-keys -> extended-std.keys).
Voilà très satisfait !!
Prochaine étape, ma carte 125Khz du boulot !
Bonjour,
Les badges 125Khz avec puce T5577 sont-ils supportés ?
Un grand merci j’ai passé la commande de mon lecteur sur le store et j’en suis très satisfait ! J’ai réussi à copier le Vigik de mon immeuble sans soucis !
et pour le clonage d’une RFID 125Khz, ce tuto convient il ?
Bonjour,
Apres avoir dumpé mon badge original et dumpé le badge vierge, je n’arrive pas à ecrire le badge vierge (acheté chez vous) La cmd « nfc-mfclassic … » me renvoie :
Warning: Unlock command [1/2]: failed / not acknowledged.
J’ai essayé la commande « nfc-detect-chinese-magic-card » sur le badge vierge et elle me renvoie :
This is NOT a backdoored rewritable UID chinese card
J’ai le même retour sur les badges que vous m’avez fourni
Est ce normal ? ai je fais une mauvaise manip ?
J’ai l impression d avoir reçu des badges qui ne permettent pas d ecrire l’UID
Pour info je suis passé par l outil NFC tools cross compilé sous W10
Merci de votre retour
slt
qui serait comment décrypter un dump via xtea il s’agit d’un dump tag aztek.
Bonjour,
Est ce que ça marche aussi sur des badge Mifare Desfire ??
Bonjour !
Tuto au top ! ça marche au top.
Une question : comment faire pour copier uniquement les clés et pas l’UID justement ?
Bonjour Alex,
J’ai réussi à dupliquer mon badge d’immeuble, et ce dernier fonctionne parfaitement.
Je te remercie pour ton aide.
Toutefois, j’ai essayé de faire la même manip avec un badge de parking mais ça bloquer sur l’étape 5. J’essaie de déchiffre la carte originale mais ça échoue à chaque fois et on me demande d’élargir la recherche sur +500 probes. Que dois-je faire exactement sur cette partie?
Salut, est il possible de cloner une carte chinoise ? Car moi ça patine avec les commandes habituelles
Bonjour,
J’ai essayé votre tuto avec la version 2020 mais les mise a jour a fair pour récupérer les fichier non présent d’origine comparer a la version de 2017 prenne énormément de temps a être installé. Je cherche du coup la version de 2017 cependant impossible de trouver la version live en 64 bits. Il y a light out encore lxde pourriez vous m’indiquer où me transmettre la version 2017.1 live en 64 bits s’il vous plaît afin que je puisse simplement démarré mon ordi avec ma clé USB et copier mes badge tranquille avec votre superbe tuto.
Bonjour,
Tout d’abord merci beaucoup pour ce tuto.
Après quelques mésaventures et complications, j’ai réussi à dupliquer mon badge.
En relisant les deux badges et en comparant le contenu, ils semblent bien identiques (UID+block).
Pour autant le nouveau badge ne fonctionne pas, une idée de ce qui pourrait empêcher le bon fonctionnement ? Un autre mécanisme de sécurité ?
Merci par avance et bonne journée :)
Merci pour ce tuto!
J’ai le problème suivant dès le début. Je commence par charger Kali Linux 2019.3, avec la clé commandée à l’atelier du geek, sur un macBook. Le système démarre correctement. Je branche sur USB le lecteur également commandé avec la clé. Dans le terminal je rentre la commande « nfc-list » et j’ai le résultat suivant :
rootkali:~# nfc-list
nfc-list uses libnfc libnfc-1.7.1-226-g07f9182
No NFC device found
Il semble que le lecteur NFC ne soit pas reconnu et je ne m’explique pas pourquoi !
Faut-il activer le port USB et comment ?
Alors que si je branche le lecteur après avoir démarré sur mac OS, sa led s’allume en rouge et si je passe un VIGIK ou autre au-dessus le lecteur se met à bipper et sa led s’allume brièvement en vert pour redevenir rouge ensuite.