Académique Documents
Professionnel Documents
Culture Documents
Suivre @xhark
Catégories
Développement (134)
Batch et VBScript (13)
Javascript et Css (23)
PHP (My)SQL (46)
Powershell (10)
Do It Yourself (108)
3D (11)
Feedback (125)
Graphisme (25)
Internet (993)
Divertissement (176)
Sécurité (92)
Twitter (17)
Le blog (237)
Mobilité (108)
Musicmotion (33)
Pratique (90)
Psp (4)
Système (502)
Virtualisation (8)
C'est la carte la plus répandue : carte de chambre d'hôtel, machine à café, badge xbox (7)
personnel d'entreprise, ticket de transport, parking, immeuble... Elle est partout !
Thématiques
A force de parcourir les datasheets, forums et site web j'y vois beaucoup plus clair et je accès application blog
vous propose ici une découverte de ces tags sans-fil : Gen1 (UID), Gen2 (FUID) et carte clé code
Gen3 (CUID). connexion disque
distance donnée données
débit email erreur
Plusieurs noms pour la même carte
fichier free
Mifare est une marque déposée de NXP Semiconductors, un fabricant de semi-
conducteurs fondé en 1967 sous le nom de Motorola. Elle est issue d'une scission de la
google gratuit
hadopi image
division semi-conducteurs de Philips (wikipedia).
Internet linux
NXP est donc un poids lourd du secteur et la société a fait l'acquisition des activités WiFi mobile Musique
et Bluetooth de Marvell en Mai 2019, rien que ça. navigateur partage
recherche réseau
La carte que l'on trouve un peu partout est la Mifare Classic 1k, elle fonctionne sur la
fréquence 13,56 MHz (HF : High Frequency). script serveur
service site
smartphone social
Système Sécurité
télécharger usb
version vidéo
vitesse web wifi
windows
wordpress
Ajoutons aussi les Mifare Classic Mini (320 octets) et les Mifare Ultralight (64 octets)
Mifare S50
La transmission des données se fait sans contact et sans alimentation (pas de pile ni
de batterie, le champ électromagnétique de proximité suffit pour alimenter la puce).
Bien sûr quand je parle de carte ou de tag je parle de la même chose. L'un se présente
sous forme de badge ou étiquette dont la forme peut varier, l'autre au format carte
format bancaire dont voici une vue transparente :
Le plus connu des badges en france est le badge d'immeuble vigik (+infos).
Les secteurs sont numérotés de 0 à 15. Le premier bloc du secteur 0 est spécial car il
contient l'identifiant du tag (manufacturer block). On l'appelle vulgairement le "block 0"
car c'est là qu'est écrit le numéro de série du tag UID (Unique ID), normalement inscrit en
usine et pouvant être écrit (normalement) une seule fois. Dans notre cas l'UID est sur 4
octets.
Chaque secteur contient 4 blocs de 16 octets, le dernier bloc s'appelle le sector trailer :
Il contient en hexa :
Je dis normalement car il existe des cartes qui permettent d'écrire et/ou réécrire ce
numéro de série. On parle de carte chinoises et la transition est toute faite pour parler
des générations de tag.
Info : les blocs peuvent contenir des données brutes ou êtres considérés comme des
value blocks. Dans ce cas les données sont organisées dans un format spécifique avec un
contrôle CRC, mais je ne rentre pas dans le détail ici.
NFC et RFID diffèrent dans le mode de stockage des données. Cela veut dire qu'un
tag vierge qui n'est pas NFC peut le devenir si on utilise le format NDEF (NFC Data
Exchange Format). Je ne rentre pas plus dans le détail, je tire ces infos d'un numéro du
magazine Open Silicium.
Côté smartphone il faut disposer d'une puce Broadcom pour pouvoir lire et écrire des tags
Mifare Classic Tool (MCT). De mon côté j'utilise un OnePlus 6 e t u n Galaxy S3
(LineageOS) et ça marche au top.
avec un lecteur USB avec libNFC, comme l'abordable ACR122U ou proxmark sous Kali
Gardez bien ça en tête car c'est déterminant pour utiliser la bonne génération de tag
(src).
Tous les blocs peuvent être écrits plusieurs fois, y compris le bloc 0
Backdoor pour réécrire sans tenir compte des ACs (magic commands) : oui (Gen 1a)
[GENERATION 2] CUID :
Tous les blocs peuvent être écrits plusieurs fois, y compris le bloc 0
Backdoor pour réécrire sans tenir compte des ACs (magic commands) : non
Détectable comme copie : difficilement (ne répond pas aux commandes magiques)
Particularité : mort subite si écriture d'un bloc 0 invalide (voir procédure XOR > calculateur)
[GENERATION 3] FUID :
Notez que la génération 3 est en réalité un GEN2 FUID. Mais pour éviter la confusion je
l'appelle GEN3.
Tous les blocs peuvent être écrits plusieurs fois, sauf le bloc 0
Backdoor pour réécrire sans tenir compte des ACs (magic commands) : non
Détectable comme copie : très difficilement (ne répond pas aux commandes magiques)
Sécurité
Les cartes MIFARE dites Classic sont protégées par l'algorithme de chiffrement propriétaire
CRYPTO1. La connaissance des clés de chiffrement (A et B) est nécessaire pour lire ou
écrire des données sur la carte MIFARE.
Le problème c'est qu'un chercheur en sécurité a trouvé des faiblesses dans Crypto1... qui
font qu'il suffit de trouver une des deux clés par brutforce avec mfoc/mfcuk pour avoir
l'autre (voir aussi BlackHat).
Quoi qu'il en soit, un système uniquement basé sur la lecture du bloc 0, l'identifiant du
tag, est une hérésie ! Car cette partie se copie bien trop facilement avec des tags
chinois. Malheureusement ce système de badge est encore largement utilisé dans les
entreprises .
Aussi, les clés A et B des fabricants circulent très largement sur le web. C'est aussi le cas
de MCT (Android) qui embarque extended-std.keys. Cela lui permet de tester les clés les
une après les autres pour lire le contenu d'une carte/tag.
Particularité à MCT
Pour écrire sur un tag vierge avec Mifare Classic Tool il suffit d'utiliser std.keys qui
contient les clés de base, généralement c'est 12 xF (FFFFFFFFFFFF).
Avant tout il faut toujours aller dans Show Options et cocher "use these Access
Conditions for all sectors : 08778F". Sans ça vous allez écrire des ACs qui vous
empêcheront de réécrire certains blocs lors du restore d'un dump existant.
Ensuite je vous déconseille d'écrire tous les secteurs d'un coup si vous avez besoin
d'écraser le manufacturer block :
1. écrire d'abord le secteur 0 (en cochant les 2 options dans show options)
2. écrire le reste des secteurs (en cochant uniquement use these Access Conditions for all
sectors : 08778F)
Relire ensuite le dump pour vérifier qu'il correspond, excepté les ACs qui vont
naturellement différer.
note : vous pouvez aussi utiliser les ACs FF078069 au lieu de 08778F (comprendre les
ACs).
Conclusion
J'espère que vous y voyez plus clair dans tout ça. Je vous incite à pratiquer pour bien
comprendre les tenants et aboutissants de tout ça.
Comme moi vous allez forcément flinguer des tags au début, alors n'hésitez pas à en
acheter plusieurs.
Voici quelques liens de tags que j'ai testé qui supportent l'écriture du bloc 0 :
MàJ 25/11/2019 : Je vous propose également un script bash que j'ai écrit qui permet de
convertir un dump MCT pour l'écrire avec un lecteur USB (libNFC) et aussi je vous
expliquerai comment écrire ces tags GEN1 et GEN2, restaurer un dump, etc :
J'espère que ce post vous a plu, la rédaction m'a pris beaucoup de temps
Tweet Like 2
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
Tags: bloc, carte, génération, NFC, tag
Déjà 23 commentaires
@Wallace: merci! Il existe des cartes qui sont (à l'heure actuelle) considérées comme sécurisée,
c'est le cas des DESFire par exemple. Certains tags sont écrits avec un CRC présent dans la
carte et dans la centrale, si désynchro il y a tous les badges se présentant avec cet ID seront
refusés. Bref, il y a plein de façons de faire de la sécurité, mais de là à dire que c'est le cas
partout, clairement pas. Concernant les Vigik il n'existe pas de "pass magique" car pas de clé
maître, laposte (et d'autres que l'on appelle badge prestataire) utilisent des badges qui ont une
durée de validité de quelques dizaines d'heures. Les facteurs doivent donc "recharger" leur
badge avec de partir en tournée pour qu'il soit reconnu (en face c'est un serveur web qui répond
et tout est basé sur l'horodatage donc pas modifiable). Que ce soit facile ou pas, ça reste illégal
de cloner une carte si tu n'y es pas explicitement autorisé. Cloner le badge d'entrée de ton
immeuble parce que le syndic te demande 50€, oui tu peux, mais cloner la carte de ton
entreprise... non
Petite coquille dans l’article, tu évoques 12.56 MHz, c’est bien 13.56
D’ailleurs, fait intéressant, 433.92 (fréquence largement répandue dans le contrôle RF) / 32 =
13.56
@pyrou : coquille corrigée merci! Effectivement je n'avais pas non plus fait attention à cette
histoire de multiple, intéressant !
Sans oublier que ce mode de communication est facilement piratable pour un hacker équipé.
Donc attention à la carte bleue. Il existe des étuis de protections pour les cartes et objets aux
données sensibles.
@J-Claude: il ne faut non plus dire aux gens que tout est piratable. Il est bien plus probable que
quelqu'un relève vos numéros de carte en se frottant à vous (transport en commun), excepté le
CVV mais c'est vrai que certains sites étrangers ne le demandent pas, que quelqu'un intercepte
la communication ou propose un fake terminal pour encaisser de l'argent. Je ne dis pas que
c'est impossible, je parle simplement de probabilité. Personnellement j'ai désactivé le sans
contact via ma banque en ligne (boursorama), ce qui fait qu'à chaque demande les
transactions sont refusées. Pour le reste je ne sors pas la CB de mon porte-feuille
Salut Xhark !
Et merci beaucoup pour ce billet très intéressant. J'ai perdu le badge de chez moi cette semaine
et quand j'ai vu que le cordonnier me demandait 50 balles pour m'en faire une copie je me suis un
peu intéressé au sujet
J'ai une question qui me vient à l'esprit après avoir lu ton post : après avoir récupéré le contenu
d'un tag avec MCT, est-ce qu'on peut utiliser son téléphone en guise de badge ? en théorie rien
ne l'empêche si ?
@Jiben: Ce n'est pas possible, ce n'est pas simplement un identifiant mais des blocs mémoires.
Il existe des émulateurs de carte (proxmark 3 chameleon) mais impossible avec un téléphone à
ma connaissance. Change de cordonnier, le tarif correct dans le commerce est de moins de
15€ pour dupliquer un badge.
Bravo Xhark, très clair et pédagogique sur le sujet, et je sais de quoi je parle
Personnellement je privilégie désormais les badges de generation2... Que je manipule avec une
version modifiée de libnfc et un lecteur ACR122U. C'est ce que je trouve de plus efficace. MCT
c'est génial pour une copie d'un badge dont les clés sont connues, mais dès que l'on souhaite se
frotter à plus exotique, le lecteur USB devient indispensable.
Enfin, j'essaie de proposer tout le nécessaire à ces expériences sur La Boutique de l'Atelier du
Geek mais je ne suis pas contre un avis de ta part sur la gamme
Bonjour,
Je suis gérante d'une laverie et je souhaiterai mettre en place un systeme de forfait avec cartes
magnétiques mais l'entreprise de ma borne de paiement me demande une fortune pour la
licence et 50 cartes (presque 800€TTC!!!)
Est-il possible en ne prenant que leur licence d'encoder des cartes moi meme? quel modèle de
desfire me conseilleriez vous?
Bonjour. Si je ne dis pas de bêtise le secteur 0 des badges de 2° génération ne peut être écrit via
MCT qu'une seule fois. Si l'on doit le modifier à nouveau, on ne peut le faire que sous linux et sa
librairie adéquate.
Pour ma part, un badge de 2° génération était indispensable pour une copie de badge Urmet. Je
n'ai pas encore cherché à modifier ultérieurement son UID avec Linux, puis à remettre le bon UID,
pour voir si ma copie fonctionnait toujours.
Dans le doute, je me contente de l'écrire dès le début avec MCT avec le bon UID, et je ne touche
plus à rien...
Peut-être que l'article pourrait être complété pour préciser cet aspect ?
Cordialement
@Luc: aucun souci pour écrire plusieurs fois le secteur zéro sur du génération 2 avec MCT.
Peut-être as-tu du génération 3 ?
Bonjour,
" Prochainement je vous publierai un script bash que j'ai écrit qui permet de convertir un dump
MCT pour l'écrire avec un lecteur USB (libNFC) et aussi je vous expliquerai comment écrire ces
tags GEN1 et GEN2, restaurer un dump, etc. "
Bonjour, j'ai fait un dump avec de mon badge vigik avec mifare classic tool . J'ai commandé des
tags pastilles pour les collés sur mon smartphone, problème ces tags sont au format mifare
Ultralight. Peut t-on transformer dump mifare classic en mifare Ultralight ?
Ou une application Android pour faire cette manipulation.
J'ai utilise un Samsung Android 7 roote et application mifare classic tool et mifare++Ultralight
Bonjour,
J'essaye de copier mon propre badge (UID double) dumpé avec succés grace aux "extended-
keys") mais j'ai une erreur de BCC:
Je crains que mon badge vierge ne soit capable d'écrire l'UID double de 7 octets du badge
original.
Y a t'il un moyen ?
Faut il acheter un autre type de badge vierge ?
Bonjour,
Je voudrais savoir si il était possible de lire plusieurs tags NFC dans une enveloppe par exemple
avec un smartphone. Je ne cherche pas forcément à ce que tous les tags soient lus en même
temps mais qu'une séquence de recherche puisse lire tous les tags.
Par avance, merci !
Alex
@redscreen: https://security.stackexchange.com/questions/213639/identifying-and-cloning-
nfc-card-double-size-uid-type-mifare-plus-7-byte-2k-or
@AlexLou: Bonjour, non ce n'est pas possible, ce sera celui qui sera le plus proche qui répondra
Bonjour,
Est il possible de dupliquer un badge Vigik Hexact sur un autre badge Vigik Hexact vierge via
MCT?
Commentaire :
Restez courtois/constructif. Pas d'URL abusive en tant que pseudo/nom
Nom ou pseudo *