Dupliquer son badge d’immeuble avec un smartphone c’est facile

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

S’il y a quelques années, très peu de personnes avaient entendu parler de technologies comme le NFC et le RFID, il en est désormais tout à fait autrement ! La plupart des nouveaux smartphones milieu et haut de gamme intègrent désormais des puces NFC ce qui rend possible la lecture et l’écriture de badges et cartes sans contact, à commencer par la majorité des badges d’immeuble ! Beaucoup d’entre vous me contactent en me posant la même question : est-il possible de faire soi-même un double de son badge d’immeuble à l’aide d’un simple smartphone ? Et bien la réponse est oui, mais pas n’importe comment !

Edit du 27/03/2020 : je profite du confinement pour mettre à jour cet article. Au menu, quelques infos supplémentaires et un mot sur les systèmes anti-copies qui peuvent vous empêcher de mener à bien cette opération.

Une manipulation réservée à certains smartphones Android

Bien que les nouveaux iPhones aient une puce qui matériellement est capable de lire et écrire sur des badges à 13,56Mhz, je n’ai pas trouvé d’applications permettant de réaliser cette manœuvre. Sous Android par contre il est plus facile de trouver son bonheur : les smartphones équipés d’une puce NFC sont nombreux et il existe plusieurs applications pour cet usage, dont une gratuite assez répandue : Mifare Classic Tool, c’est d’elle que nous parlerons aujourd’hui !

Seuls les badges fonctionnant à 13,56Mhz sont copiables avec un smartphone

En effet, il existe plusieurs types de badges d’ouverture sans contact. L’immense majorité est en 13,56Mhz, mais on trouve aussi quelques badges qui fonctionnent à 125Khz. Les puces équipant les téléphones ne permettant que des échanges sur la bande de fréquence de 13,56Mhz, seuls les badges correspondant pourront être lus… et donc copiés. Si votre portier d’immeuble arbore un petit logo Vigik, il y a de grande chance que votre badge soit à la bonne fréquence !

Pourquoi on ne peut pas utiliser des badges avec UID modifiables « classiques »

Si vous suivez ce blog depuis quelques temps, vous avez peut-être déjà entendu parler de badges RFID qui ont une particularité, celle d’avoir leur identifiant unique (UID) modifiable. Cette particularité est nécessaire pour pouvoir réaliser un « clone parfait » de la puce RFID, en dupliquant son contenu mais aussi son identifiant qui est censé être unique au monde. J’ai utilisé de telles puces pendant des années. Ces puces de première génération fonctionnent à merveille avec un lecteur NFC externe comme le ACR122U, mais on ne peut pas modifier leur identifiant unique depuis un smartphone. En effet, la modification de l’UID nécessite des instructions particulières qui ne sont nativement pas possible sous Android. Je pensais donc que la réalisation d’un « clone parfait » d’un badge d’immeuble n’était possible que via un ordinateur. J’avais tort !

C’était sans compter sur les efforts de sociétés asiatiques qui ont donc créé un nouveau type de badges avec UID modifiables (on parle de badges de deuxième génération). Ces badges ont les mêmes caractéristiques que ceux de première génération, mais permettent également de modifier l’UID via des instructions standards, ce qui les rend pleinement utilisables avec un smartphone Android ! Ces badges sont nettement plus difficiles à trouver, mais sachez que j’en ai quelques uns en stock sur la boutique !

De quoi avez-vous besoin pour dupliquer votre badge d’immeuble ?

C’est pour moi la meilleure partie 🙂 En fait si vous avez déjà un smartphone sous Android compatible NFC, vous n’avez besoin de rien d’autre ! Evidemment il vous faudra des badges vierges adéquats, mais vous pouvez déjà diagnostiquer si votre badge est au bon format sans dépenser le moindre euro !

Donc si on récapitule, pour mener l’opération de bout en bout, il vous faudra :

Comment copier votre badge d’immeuble avec votre smartphone pas à pas

Etape 1 : Créer une sauvegarde (dump) de votre badge d’origine

Le but de cette étape est de transférer le contenu du badge vers un fichier de sauvegarde, un « dump » en anglais. Cela permettra de créer ensuite autant de copies que vous le souhaitez ! Cette étape est cruciale et peut déjà vous permettre de savoir si votre badge est copiable facilement.

Vérifiez que le NFC est activé sur votre appareil (Paramètres > Réseaux > NFC)

Ouvrez l’app Mifare Classic Tool, vous arrivez face à l’écran d’accueil que voici :

L’écran d’accueil de l’application MCT. Ici c’est la partie lecture (Read Tag) qui nous intéresse

Cliquer sur READ TAG, ce qui va vous afficher l’écran de sélection des clés à utiliser :


L’écran de sélection des clés. Le plus sûr est de sélectionner les 2 fichiers de clés.

Cochez les cases extended-std.keys et std.keys

Coller le badge sur l’arrière, un message va apparaître brièvement sur le bas de l’écran avec l’identifiant (UID) du tag détecté

Cliquer sur START MAPPING AND READ TAG. L’application va alors tenter une à une les différentes clés disponibles pour décoder chacun des secteurs qui composent le badge.

Il y a en tout 16 secteurs, sur la majorité des badges d’immeuble (ils renferment des puces de la famille des Mifare Classic 1K la plupart du temps). Il faut compter de quelques secondes à une dizaine de minutes pour que l’application MCT décode tous les secteurs et parvienne à un extraire les données.

Si vous voyez cet écran, c’est bon signe, c’est que l’application MCT a pu décoder le contenu de votre badge ! Félicitations :)

Si tous les secteurs sont lisibles, bravo, vous avez fait le plus dur. Je vous conseille alors d’enregistrer le dump en cliquant sur l’icône en forme de disquette en haut de l’écran, et de choisir un nom parlant. Dans notre exemple, je l’ai appelé badge-original. Ce fichier est la seule chose dont vous aurez besoin pour créer autant de copies de votre badge que nécessaire. Aussi je vous conseille de le stocker en lieu sûr, cela pourra vous être utile en cas de perte de votre badge d’origine par exemple.

En cas d’échec

Si jamais vous avez un écran où plusieurs secteurs sont affichés avec des tirets ou des X rouges, c’est que l’application ne possède pas les clés pour les lire.  Tout n’est pas perdu mais vous ne pourrez probablement pas aller plus loin avec votre smartphone. Il faudra dans ce cas passer par une méthode un peu plus évoluée où vous aurez besoin d’utilitaires comme mfoc ou mfcuk pour trouver les clés manquantes. N’hésitez pas à relire cet article qui vous mettra sur la piste :)

Etape 2 : Transférer le contenu de votre sauvegarde vers un badge vierge

Comme annoncé en introduction, il va vous falloir pour cette étape des badges un peu spéciaux. Il s’agit de badges RFID contenant également 16 secteurs comme notre badge d’origine, mais avec une petite particularité : le secteur 0, habituellement accessible uniquement en lecture, doit également être accessible en écriture à l’aide d’instructions que votre smartphone peut gérer. Je reconnais qu’ils peuvent être un peu compliqués à dénicher, mais vous  trouverez ces badges compatibles smartphone sur la boutique, testés et approuvés !

Toujours depuis l’application MCT, il va falloir se rendre dans la section WRITE TAG disponible sur l’écran d’accueil de l’application Mifare Classic Tool en haut à droite :

L’écran d’accueil de l’application MCT. maintenant c’est la partie écriture (Write Tag) dont on va avoir besoin

Quatre possibilités s’offrent alors à vous, mais c’est la deuxième qui vous intéresse : Write Dump (Clone)

L’écran permettant de transférer le contenu d’un fichier vers un badge vierge

A partir de ce moment, il va falloir scrupuleusement suivre les instructions :

  • Commencer par cocher la case Show Options ce qui va rendre accessible deux nouvelles case à cocher : Use these Access Conditions for all sectors et Advanced: Enable writing to the manufacturer block
  • Cocher également ces deux nouvelles cases. La première case permettra de réécrire sur le badge plus tard (au risque d’avoir quelques différences avec le badge d’origine). La seconde case est capitale : elle va autoriser l’application à écrire le fameux secteur 0 (aussi appelé « Block 0 » ou « Manufacturer Block« ). Notez que si vous souhaitez un badge 100% identique au risque de ne pas pouvoir le réécrire, vous pouvez vous contenter de cocher uniquement la seconde case.
  • Cliquer ensuite sur le bouton SELECT DUMP ce qui va afficher la liste de toutes les sauvegardes de badges disponibles sur votre téléphone.
Liste des dumps disponibles sur le téléphone
  • Sélectionner badge-original si vous l’avez bien nommé comme moi.
  • Un nouvel écran apparaît vous demandant de sélectionner les secteurs que vous voulez écraser en utilisant ceux du dump. Tout est coché par défaut… et c’est bien comme ça.
Ecran de sélection des secteurs à transférer sur le badge vierge
  • Placer à ce moment le badge vierge contre l’arrière de votre smartphone. Un petit message va apparaître en surimpression avec l’UID de votre badge vierge.
  • Cliquer sur OK, ce qui va lancer le processus d’écriture. L’opération ne prend que quelques secondes.

L’application va ensuite revenir à son écran de démarrage. Il m’arrive parfois d’avoir un message d’erreur qui s’affiche, sans que cela ne pose réellement de problème sur les données que contiennent le badge. Si vous rencontrez une erreur, re-faite tout simplement la manipulation, cela suffit la plupart du temps.

Félicitations, à ce moment là vous être normalement en possession d’une copie parfaite de votre badge d’immeuble ! Notez que si vous souhaitez faire d’autres exemplaires du même badge, il suffit de répéter l’étape 2 autant de fois que nécessaire. Vous comprenez donc que conserver le dump de votre badge d’origine est vital pour ne jamais être bloqué à l’avenir :)

Comment vérifier que la copie est parfaite ?

Evidemment vous allez me dire, le plus simple est de l’essayer ! Ce n’est pas faux mais ce n’est pas toujours possible ! Sachez que MCT intègre d’autres outils bien pratiques quand on travaille sur les puces RFID. Par exemple, si vous faites désormais une sauvegarde de votre clone de badge (en déroulant l’étape 1 avec votre clone), vous obtiendrez un nouveau dump (ici je l’ai appelé badge-copie). Et bien dans la section Tools de l’application Mifare Classic Tool, vous pourrez trouver un utilitaire appelé Diff Tool qui vous permettra de comparer les deux sauvegardes/dumps comme vous le voyez ci-dessous. Secteur par secteur, l’application vous montre si la copie et l’original sont identiques.

Voici la liste des outils disponibles dans l’application MCT pour manipuler les dumps. L’outil « Diff Tool » en 4ème position est très utile pour comparer 2 dumps.
Le résultat de la comparaison entre 2 dumps : secteur par secteur, ligne par ligne, l’outil nous indique les correspondances et les différences (s’il y en a). Ici on est bon, tout est identique !

Un mot sur les systèmes « anti-copie »

Parfois, certains d’entre-vous me rapportent que la copie ne fonctionne pas, voire pire, que suite à son utilisation votre badge d’origine a été désactivé. Cela est généralement dû à la présence d’un système anti-copie sur le badge. Je ne connais que 2 marques qui pratiquent cela, mais voici un moyen simple de détecter si vous êtes concernés.

  1. Vous réalisez l’étape 1 de ce tutoriel, en enregistrant la sauvegarde du badge (par exemple en l’appelant « badge-original-1« 
  2. Vous ouvrez votre porte d’immeuble en utilisant le badge
  3. Vous réalisez de nouveau l’étape 1, en enregistrant la sauvegarde du badge avec un nom différent (ex : « badge-original-2« )
  4. Vous comparez avec l’utilitaire « Diff tool » de MCT vos 2 sauvegardes. S’il y a des différences, votre badge est équipé d’un système anti-copie et il n’est probablement pas copiable sans faire appel à votre syndic.

Et si vous avez un doute, n’hésitez pas à me demander, j’essaierai de vous éclairer de mon mieux…. Mais gardez en tête que quoi qu-il arrive, vous êtes responsable de vos actions.

Pour aller plus loin

Avec ce nouvel article, j’espère avoir rendu encore plus accessible ce domaine des badges et puces RFID qui me passionne. Ce ne sera vraisemblablement pas le dernier et l’intérêt que vous manifestez chaque jour via les autres articles sur le sujet et la boutique en dit long sur votre soif de connaissances !

Cet article s’adresse avant tout aux amateurs, mais si vous êtes professionnels et avez besoin de dupliquer et gérer des badges en quantité, sachez qu’il existe des solutions pour vous !

N’hésitez pas à poser vos questions en bas de l’article, et surtout dites moi ce que vous souhaitez que j’aborde comme sujet autour de cette thématique ! Comme toujours j’essaie d’y répondre dès que je peux, et je vous encourage vivement à scanner tout ce qui se trouve autour de vous !

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

Dupliquer son badge d’immeuble avec un smartphone c’est facile

136 commentaires

  1. Bonjour Alex,
    Cependant, quand je lis mon badge originale, la KeyA du secteur 2 est de la forme « ————« . Et lorsque j’écris sur un badge viege, le logiciel ne parvient pas à écrire cette ligne. Est-ce que c’est un problème de lecture ou est-ce que mon badge n’est pas compatible avec cette méthode? Merci de ta réponse!
    Vico

  2. Bonjour,

    je suis novice et dans votre article vous dites:

    En cas d’échec

    Si jamais vous avez un écran où plusieurs secteurs sont affichés en rouge, c’est que l’application ne possède pas les clés pour les lire.

    Qu’entendez vous par plusieurs secteur en rouge? j’ai sensiblement la mème chose que votre copie d’écran a part qu’a partir du secteur 8, des chiffres et des lettres sont affichés a la place des zéro jusqu’au secteur 11 puis 12 que des zéro, 13 juste la première ligne puis des zéro et 14 et 15 que des zéro… qu’est ce que cela veut dire?

    Cdt

  3. Bonjour,
    Il se trouve que le badge que j’ai copié ouvre la première porte mais pas la deuxième. En effet, sur le deuxieme lecteur le badge n’est même pas reconnu. Pouvez vous m’en dire plus?
    Merci

  4. Bonjour Alex,
    J’ai une question très pertinente est-il possible de faire la copie d’un dumps obtenue sur MCT avec le ACR122u ???

  5. Bonjour Alex,

    tout d’abord BRAVO pour vos articles bien précis !!

    – Je me pose une question concernant l’encodage de badge NFC miFare :

    Est-il possible d’encoder un badge à l’aide d’un dump seulement si le badge possède la même clé de sécurité que celle du dump.

    Autrement dit : je voudrais faire encoder des badges NFC par des tiers suivant un dump fournit mais uniquement sur des badges ayant une clé de sécurité précise. Ceci, vous l’aurez compris, pour éviter que le tiers ne puisse utiliser le dump à des fins personnelles frauduleuses (cas de badges d’accès).

    En pratique, je voudrais récupérer sur des badges vierges du commerce, les UID de sécurité et les intégrer dans chaque dump pour un encodage uniquement sur le badge ayant le même UID !

    Cela est-il réalisable ? Qu’en pensez-vous ?

    Bien à vous.

  6. Bonsoir,
    Est-ce qu’une fois que les badges de seconde génération ont été copiés avec la piste d’origine, nous pouvons effacer celle-ci afin de réutiliser ce même badge pour copier une piste différente plus tard?
    Cordialement

  7. Hello,
    Merci beaucoup pour ce tuto.
    J’ai suivi la procédure pour mapper le badge, je vois la barre doucement progresser puis quand j’arrive à 100% j’ai l’erreur lost connection to the tag
    Avez vous une idée de commencer solutionner cela ?
    merci

  8. Bonjour Alex,
    J’ai acheté la clé usb avec KALI et les cartes RFID. Je suis arrivé au point suivant :
    Card is not vulnerable to nested attack.
    J’ai fait des recherches, mais je n’arrive pas à aller plus loin.
    Est-ce que tu as prévu une mise a jour de l’article pour inclure comment résoudre ce problème ? :)
    Merci.
    Srkiboy

  9. Salut,

    J’ai commandé des badges sur ce site afin de dupliquer mon badge d’immeuble. J’ai bien suivi le tutoriel, donc j’arrive bien a garder une sauvegarde de mon badge original, mais des que je veux l’utiliser pour l’écrire dans mon autre badge, le dernier bloc de chaque secteur sans exception ne se copie pas correctement (je peux le voir dans le diff tool). Pourtant tout le reste est OK. C’est bien du Mifare Classic.
    L’UID se copie bien etc. Mais pas le dernier bloc de chaque secteur, sans exception.

    Y’a t-il une solution ?

  10. Hello Dino,
    Si MCT ne connait pas les clés de chiffrement de ton badge, il faut passer à des attaques un petit peu plus poussées, notamment via les NFC Tools comme dans l’article « Le Clone Parfait ». Une fois les clés trouvées, il suffit de les rajouter dans MCT pour que cela fonctionne. COncernant les badges Intratone, certains sont équipés de système qui, en cas de copie, peut désactiver la copie ou l’originale. Ca n’est pas tous les badges de la marque qui sont concernés et en tous cas ça ne pose pas de difficultés particulières à MCT. Bien à toi, Alexandre

  11. Hello Jean-Pierre, Jack,
    Effectivement, c’est l’impact de cette case à cocher : si on la coche, elle modifie éventuellement les ACs du badge pour pouvoir réécrire les données derrière. Si on veut une copie parfaite, mieux vaut donc ne pas cocher la case… au risque de ne pas pouvoir réécrire les données du badge plus tard ;) Alexandre

  12. Bonjour,
    Je suis novice et je cherche à ouvrir la porte d’un immeuble avec juste mon smartphone NFC.
    Existe-t-il une appli pour ça ? Je ne trouve pas.
    Merci

  13. Hello Julien,
    Malheureusement ça n’est pas possible de manière simple. Si ça change je serai ravi de proposer un tuto dessus !
    Alexandre

  14. Bonjour Alex,
    J’ai fait deux dump d’un même badge la deuxième étant celle de vérification et il ce trouve qu’elle ne sont identiques y t’il un moyen de déchiffrer ou de comprendre les différences ?
    Merci

  15. Hello Jan,
    Oui bien sûr, si la différence est sur la dernière ligne de chaque bloc (zone AC), cela vient de la case cochée dans le tuto pour pouvoir réécrire le badge. Si c’est ailleurs il faudra nous en dire plus !
    Alexandre

  16. Bonjour j’ai fait une copie d’un badge mais ce badge utilise 2 secteurs pour fonctionner la première ligne en violet UID ne copie pas je ne sais pas s’il est possible de le faire ou pas?

  17. Bonjour Alex,

    Bravo pour ce tuto plein d’espoir pour simplifier mes copies de badges..
    J’ai commandé des clefs chinoises sur ta boutique, super, bien reçu dans les temps avec le petit mot explicite ;).
    Par contre je ne parviens pas à écrire la 1ere ligne du secteur 0…. même en cochant l’option d’écriture du secteur UID Manufacturer… est-il possible que ces clefs ne soient finalement pas modifiables ?
    Merci de ton retour.

  18. Bonjour Alex,
    Merci pour l’article.
    Petite question bête : peut-on s’en passer du badge et utiliser son propre smart Phone en guise de badge puisque, comme tu m’explique si bien dans l’article, il est possible de le déchiffrer entièrement et même d’en créer des clones parfaits ?

  19. Ça ne fonctionne pas malgré un diff tools identique.
    Je suis déçu. Le badge n’ouvre pas la porte

  20. Bonjour, merci pour ce tuto mais j’ai un soucis, lorsque je fais read tag le téléphone lit le badge et à la fin du processus il a trouvé le secteur 0,1 et 15 mais tous les autres sont marqués « no keys found (or dead sector) ». Avez-vous une idée d’où cela peut venir ?
    Merci d’avance !

  21. Bonjour je comprend pas application détecte le badge mais impossible de faire une copie je comprend pas pourquoi. Je n’arrive pas a la seconde étape

  22. Bonjour,

    est ce que c’est normal que quand je lis un badge avec l’application plusieurs fois de suite, les dumps ne sont pas identiques?

    Pour une autre cles, la lecture prend beaucoup de temps et certains secteurs ne sont pas lu. Et la encore lors de deux tentatives successives ce n’est pas toujours les mêmes qui manquent.

    Est ce que c’est une « particularité » des badges? Ou est ce que mon lecteur de smartphone n’est pas assez « fort »? Dans ce cas que me conseil tu?

    Merci pour ton aide.

  23. Bonjour Alex
    Je te remercie pour ce tuto très intéressant. Ma femme et moi avons chacun un badge de la même marque (comelit) et qui ouvrent les mêmes portes mais en comparant les deux dumbs des deux badges sur « tools » de l’appli ils ne sont pas identiques. Tu penses que c’est normal ?
    Je n’ai pas encore fait de clown car je viens de passer la commande sur ton site…
    Merci

  24. Hello Almia,
    Que vos 2 badges soient différents est normal et ne doit pas vous inquiéter.
    Par contre le vrai test à effectuer est celui préconisé en fin d’article (comparer 2 dumps du même badge, avant et après utilisation). Si les dumps divergent, je vous recommande de ne pas tenter de copie, car le risque de désactivation de la copie et de votre badge original est fort chez cette marque.
    Bien à vous,

    Alexandre

  25. Bonjour Arash,
    Les symptômes que tu présente ne sont pas bon signe, généralement cela vient d’un téléphone qui a des soucis de compatibilité avec MCT. Quel smartphone utilises-tu ? Dans ton cas je pense que le mieux est soit de passer par un autre téléphone, soit de travailler avec un lecteur USB comme le ACR122U qui ne souffre pas de ces problèmes de fiabilité. Bien à toi, Alexandre

  26. Bonjour Aurore,
    Quand tu dis « impossible de passer à la seconde étape », que veux-tu dire par là ? Est-ce qu’un message s’affiche ? Est-ce que l’appli se fige sur un écran particulier ?
    Bien à toi,
    Alexandre

  27. Bonjour Alex,
    Ma copro a changé la platine. Seuls les badges Intratone originaux fonctionnent sur la nouvelle.
    Ma copie est inutilisable, j’ai suivi ton tuto pour les comparer. Merci beaucoup très clair:)
    Seuls un caractère du secteur 11 est différent entre l’Intratone original et la copie qui fonctionnait jusqu’alors.
    Je lis sur le site d’Intratone qu’ils ont un système permettant de bloquer les copies. Est-ce que c’est ce système ? Est-ce que tu sais s’il est possible de le contourner ?
    Ou alors est-ce qu’Intratone recode à chaque fois un chiffre d’un secteur pour empêcher les copies ? Du coup si je copie A sur B et que j’utilise B pour ouvrir, A ne pourra plus rouvrir mais B deviendra le badge utilisable ?
    Merci beaucoup,
    Paul

  28. Hello Paul,
    Je pense que ton diagnostic est le bon, c’est bien le système anti-copie qui empêche l’utilisation de ta copie. A l’heure actuelle, je n’ai pas de solution…
    Bien à toi,

    Alexandre

  29. bonjour, merci pour ce tuto, j’ai un petit souci, j’arrive à lire le badge sur l’application mais pour l’écriture j’ai toujours ce défaut:
    error: tag lost while checking for keys with write privilèges

    Cela vient il car je ne suis pas root de mon tel ou cela vient il de mes carte vierge?
    merci

  30. Bonjour Alex
    Je possède un badge comelit pour ouvrir la porte dl’ immeuble et l accès au garage sous terrain. Mais depuis que je ai fait une copie du badge je ne peux plus le utiliser avec l’ascenseur mais ils ouvrent quand même les portes. Pensé tu que on peut récupérer le code
    Merci de ton aide
    .

  31. Bonjour theguilt,
    Difficile à dire, cela peut venir des 2. Si vous les avez acheté sur la boutique, c’est probablement de votre téléphone que vient le soucis. Certains sont en effet beaucoup plus capricieux que d’autres. Quel est son modèle ? Bien à vous, Alexandre

  32. Bonjour, merci pour la réponse, j’ai un xiaomi mi8 comme téléphone.
    Une fois écris sur un badge vierge,on ne peut plus le modifier? refaire une autre copie dessus?
    merci

Laisser un commentaire

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