Vous êtes sur la page 1sur 8

Aide et informations

Table des matières

1. Informations générales
1.1 Caractéristiques
1.2 Stockage des données
1.3 Licence

2. Pour commencer

3. Lire l'étiquette

4. Écrire des balises


4.1 Bloc d'écriture
4.2 Dump en écriture (clonage)
4.3 Format d'usine
4.4 Augmentation / Décr. Bloc de valeur

5. Modifier / analyser le fichier de vidage de balises


5.1 Partager un dump
5.2 Afficher les données au format ASCII
5.3 Afficher les conditions d'accès
5.4 Afficher les blocs de valeurs sous forme d'entiers
5.5 Affichage de la date de fabrication
5.6 Dump en écriture
5.7 Comparer le dump
5.8 Enregistrer les clés

6. Modifier ou ajouter un fichier clé

7. Outils

7.1 Afficher les informations sur les balises


7.2 Décodeur / encodeur de bloc de valeurs
7.3 Décodeur / Encodeur de conditions d'accès
7.4 Outil Diff (Comparer les dumps)
7.5 Calculateur BCC
7.6 Cloner l'UID
7.7 Importer / Exporter / Convertir des fichiers
7.8 Convertir les données
7.9 Journal UID

8. NFC externe
1. Informations générales :

Cet outil fournit plusieurs fonctionnalités pour interagir avec (et uniquement avec) les étiquettes RFID MIFARE
Classic. Il est conçu pour les utilisateurs possédant au moins une connaissance de base de la technologie MIFARE
Classic. Vous devez également comprendre le système de nombres hexadécimaux, car toutes les entrées et sorties de
données sont en hexadécimal.

Certaines choses importantes sont :

Les fonctionnalités fournies par cet outil sont très basiques. Il n'existe pas de choses aussi sophistiquées que
d'enregistrer une URL sur une étiquette RFID avec une interface utilisateur graphique agréable. Si vous souhaitez
enregistrer des éléments sur une balise, vous devez saisir les données hexadécimales brutes.

Cette application ne peut pas pirater / pirater les clés MIFARE Classic. Si vous souhaitez lire/écrire un tag RFID, vous
avez d'abord besoin des clés pour ce tag spécifique. Pour plus d'informations, veuillez lire / voir le chapitre Mise en
route.

Il n'y aura aucune capacité d'attaque par « force brute » dans cette application. C'est beaucoup trop lent à cause du
protocole.

Cette application ne fonctionnera pas sur certains appareils car leur matériel (contrôleur NFC) ne prend pas en charge
MIFARE Classic (en savoir plus). Vous pouvez trouver une liste des appareils incompatibles sur la page GitHub de
MCT.

Pour plus d'informations sur MIFARE Classic, consultez Wikipédia, effectuez des recherches sur Google ou lisez la
« Fiche technique » de MIFARE Classic (1 ko) (PDF) de NXP.

Cette application est un logiciel gratuit sous licence GPLv3. Le code source est disponible sur GitHub.

1.1 Caractéristiques :

Lire les balises MIFARE Classic

Enregistrez, modifiez et partagez les données de balise que vous lisez

Écrire dans les balises MIFARE Classic (par bloc)

Cloner les balises MIFARE Classic


(Écrivez le dump d'une balise vers une autre balise ; écrivez « dump-wise »)

Gestion des clés basée sur une attaque par dictionnaire


(Écrivez les clés que vous connaissez dans un fichier dictionnaire).
MCT tentera de s'authentifier avec ces clés sur tous les secteurs
et lisez autant que possible. Voir le chapitre Mise en route.)

Reformater une étiquette à l'état d'usine/de livraison

Écrire le bloc fabricant des balises spéciales MIFARE Classic

Utilisez des lecteurs NFC externes comme l'ACR 122U


(Voir chapitre NFC externe)

Créer, modifier, enregistrer et partager des fichiers clés (dictionnaires)

Décoder et encoder les blocs de valeur MIFARE Classic

Décoder et encoder les conditions d'accès à MIFARE Classic

Afficher les informations de balise génériques

Afficher les données de la balise sous forme hexadécimale en surbrillance


Afficher les données de la balise au format US-ASCII 7 bits

Afficher les conditions d'accès à MIFARE Classic sous forme de tableau

Afficher les blocs de valeurs MIFARE Classic sous forme d'entier

Calculer le BCC

Fonction de clonage UID rapide

Importer/exporter/convertir des fichiers

Aide et informations intégrées à l'application (hors ligne)

C'est open source ;)

1.2 Stockage des données :

Cette application stocke les données dans la mémoire interne spécifique à l'application. Les fichiers tels qu'un dump
enregistré à partir d'une balise de lecture ne sont accessibles par aucune autre application ou avec un ordinateur (USB).
Si vous souhaitez les utiliser ailleurs, vous pouvez utiliser le bouton de partage ou l'outil d'importation/exportation de
MCT.

Savoir! La désinstallation de cette application supprimera définitivement tous les fichiers (dumps/clés).

Mise à jour à partir de la version < 4.0.0 : si vous avez mis à jour cette application à partir d'une version antérieure à
4.0.0, il peut apparaître que tous les fichiers de vidage et de clé ont disparu. Ce n'est pas le cas. Avec la version 4.0.0, le
modèle de stockage de fichiers de MCT a changé. Vous pouvez récupérer vos fichiers en utilisant simplement l'outil
d'importation/exportation. Les anciens fichiers sont stockés sur le stockage externe (carte SD) dans un dossier
nommé MifareClassicTool. Les fichiers de vidage sont au format .mct et les fichiers de clé sont au format .keys. Il est
possible d'importer plusieurs fichiers à la fois.

Fichiers de vidage : /sdcard/MifareClassicTool/dump-files/ (importer au format .mct)

Fichiers clés : /sdcard/MifareClassicTool/key-files/ (importer au format .keys)

La version standard et la version gratuite de MCT ne peuvent pas partager le même espace de stockage. Par conséquent,
chaque version possède son propre fichier de sauvegarde et de clé.

1.3 Licence :

Cette application a été initialement développée par Gerhard Klostermeier en coopération avec SySS GmbH
(www.syss.de) et l'Université d'Aalen (www.htw-aalen.de) en 2012/2013. Il s'agit d'un logiciel gratuit sous licence
publique générale GNU v3.0 (GPLv3).

Icônes utilisées dans cette application :

Logo : Beneke Traub


(Créative Commons 4.0)

Icônes d'oxygène : www.oxygen-icons.org


(Licence publique générale réduite GNU)

Étiquette RFID : www.nfc-tag.de


(Créative Commons 3.0)

MIFARE® est une marque déposée de NXP Semiconductors.


2. Pour commencer :

Tout d’abord, vous avez besoin des clés du tag que vous souhaitez lire. En raison de certaines faiblesses de MIFARE
Classic, vous pouvez récupérer toutes les clés (A et B) d'une étiquette avec des outils tels que Proxmark3 ou des lecteurs
RFID normaux et certains logiciels spéciaux (mfcuk, mfoc).

L'application est livrée avec des fichiers de clés standard appelés std.keys et extended-std.keys, qui contiennent les clés
bien connues et quelques clés standard issues d'une courte recherche Google. Vous pouvez essayer de lire une balise
avec ces fichiers clés en utilisant "Lire la balise" dans le menu principal. Les modifications apportées à ces fichiers clés
seront perdues. Créez votre propre fichier de clés pour vos clés.

Une fois que vous connaissez quelques clés, vous pouvez les mettre dans un simple fichier texte (une clé par ligne).
Vous pouvez le faire sur votre PC et importer le fichier à l'aide de l'outil d'importation/exportation de MCT, ou vous
pouvez créer un nouveau fichier de clé via « Modifier ou ajouter un fichier de clé » dans le menu principal. Si vous avez
terminé de configurer votre fichier de clé, vous pouvez lire une balise en utilisant « Lire la balise » dans le menu
principal.

Avantages du concept des fichiers clés :

Vous n'avez pas à vous soucier de savoir quelle clé correspond à quel secteur.
L'application tente de s'authentifier avec toutes les clés du fichier de clés sur tous les secteurs (comme une attaque par
dictionnaire).

Vous n'êtes pas obligé de connaître toutes les clés.


Si ni la clé A ni la clé B d'un secteur spécifique ne sont trouvées dans le fichier de clés (dictionnaire), l'application
ignorera la lecture dudit secteur.

Ce processus de cartographie basé sur une attaque par dictionnaire (clés <-> secteurs) vous permet de lire facilement
autant que possible avec les clés que vous connaissez !

3. Lire l'étiquette :

Techniquement parlant, la lecture d'un RFID-Tag se fait en deux étapes :

Choisissez un fichier clé Appuyez sur "Lire la balise" dans le menu principal. Sélectionnez maintenant les fichiers de
clés qui contiennent (peut-être) les clés de la balise. Vous pouvez également spécifier la gamme de secteurs que vous
souhaitez lire. Démarrez le processus de cartographie avec le bouton inférieur droit.
Mais : pour les fichiers clés volumineux, cela peut prendre un certain temps !

Lire la balise
Une fois les clés mappées sur des secteurs sur la base d’une sorte d’attaque par dictionnaire, l’application commencera
instantanément à lire la balise. Le résultat sera affiché dans un éditeur simple (voir le chapitre Modifier le fichier de
vidage de balises.)

4. Écrire la balise :

Si vous souhaitez écrire des données dans une balise MIFARE Classic, il est important que vous compreniez ce que
vous faites. L'écriture de données incorrectes dans certains blocs peut causer des dommages irréparables à la balise.

4.1 Bloc d'écriture :

Tout d'abord, vous devez spécifier dans quel bloc vous souhaitez écrire. Les plages typiques (MIFARE Classic 1k)
sont : secteur 0-15, bloc 0-3. La deuxième étape consiste à saisir les données que vous souhaitez écrire. Cela se fait au
format hexadécimal d'une longueur de 16 octets (32 caractères). Après avoir appuyé sur le bouton, la dernière étape
consiste à choisir les fichiers de clés qui contiennent (éventuellement) la clé avec le privilège d'écrire pour ce
secteur/bloc.
4.2 Dump en écriture (clonage) :

Avec cette méthode, vous pouvez écrire un dump (ou certains secteurs de celui-ci) dans une balise. Si vous souhaitez
cloner une balise, vous devez d'abord lire puis vider la balise d'origine. La deuxième étape consiste à restaurer les
données dumpées sur une autre balise (dont vous connaissez les clés). Vous avez besoin des clés avec des privilèges
d'écriture pour tous les secteurs que vous souhaitez écrire. Après avoir sélectionné le dump, les secteurs et les fichiers
clés, l'application vérifiera tout pour vous ! S'il y a des problèmes tels que « le bloc est en lecture seule », « clé avec
accès en écriture inconnu », etc., vous recevrez un rapport avant d'écrire.

Possibilités :

Utiliser des conditions d'accès statiques (personnalisées)


En activant cette option, toutes les conditions d'accès du dump seront remplacées par celles choisies.
Ceci est utile si le dump contient des conditions d'accès qui seront permanentes pour une balise. Si le lecteur ne les
vérifie pas, vous pouvez facilement en utiliser des personnalisés pour rendre la balise réutilisable.

Écrire dans le bloc fabricant


Le premier bloc du premier secteur d'une balise MIFARE Classic d'origine est en lecture seule, c'est-à-dire qu'il n'est
pas accessible en écriture. Mais il existe des balises MIFARE Classic spéciales (alias balises magiques 2e
génération/gen2) qui prennent en charge l'écriture dans le bloc fabricant avec une simple commande d'écriture. Cette
application est capable d'écrire sur de telles balises et peut donc créer des clones entièrement corrects.
Cependant, certaines balises spéciales nécessitent une séquence de commandes spéciale pour les mettre dans un état où
l'écriture dans le bloc fabricant est possible. Ces balises ne fonctionneront pas. Assurez-vous également que la valeur
BCC (voir Calculateur BCC), les valeurs SAK et ATQA sont correctes. Si vous souhaitez simplement cloner un UID,
veuillez utiliser l'outil Clone UID.

4.3 Format d'usine :

Cela tentera de formater l'étiquette à son état d'usine/de livraison. Dans cet état, tous les octets du bloc de données sont
0x00 et les fin de secteur contiennent 0xFFFFFFFFFFFF comme clé A/B et 0xFF078000 comme conditions d'accès.

4.4 Augmentation/Décr. Bloc de valeur :

Avec cette méthode, vous pouvez incrémenter ou décrémenter puis transférer un bloc de valeur. Si une incrémentation
ou une décrémentation échoue, cela est dû à l'une des raisons suivantes :

Le bloc cible sélectionné n'est pas un bloc de valeur.

Les Conditions d'Accès ne permettent pas d'incrémenter ou de décrémenter le Bloc de Valeur.

La valeur fournie est incorrecte. Cela se produit si vous essayez d'incrémenter un bloc de valeurs à une valeur
supérieure à la limite supérieure (2 147 483 647) ou si vous essayez de le décrémenter à une valeur inférieure à la limite
inférieure (-2 147 483 648).

Si une incrémentation ou une décrémentation échoue en raison d'une transaction interrompue et donc incomplète, le
Value Block pourrait devenir inutilisable.

Si vous ne savez pas ce qu'est un bloc de valeur MIFARE Classic, vous devriez lire le chapitre 8.6.2.1 de la fiche
technique MIFARE Classic (1k) (PDF).

5. Modifier le fichier de vidage de balises :

L'éditeur de balises est un simple éditeur hexadécimal avec quelques surlignages. Cet éditeur est accessible de deux
manières différentes :
Lire une balise
Après avoir lu une balise, le résultat est affiché dans cet éditeur (voir chapitre Lire la balise.)

Ouvrir une balise enregistrée


Vous pouvez modifier un dump enregistré via "Modifier le dump de balise" dans le menu principal.

Vous pouvez enregistrer un dump dans un fichier en appuyant sur le bouton Enregistrer de la barre d'outils (ou sur
l'élément de menu).
5.1 Partager un dump :

Depuis l'éditeur de dump, vous pouvez partager un dump (via la barre d'outils ou un élément de menu). Vous pouvez
choisir entre les applications disposées à traiter le fichier de vidage. Notez que certaines applications ne parviennent pas
à traiter le vidage.
Applications connues pour fonctionner avec MCT : Gmail, Bluetooth, etc.

5.2 Afficher les données au format ASCII :

Depuis l'éditeur de dump, vous pouvez afficher les données en US-ASCII 7 bits (via le menu). Les caractères non
imprimables sont remplacés par un point ("."). Le dernier bloc d'un secteur, la fin du secteur, ne sera pas traduit en
ASCII.

5.3 Afficher les conditions d'accès :

Depuis l'éditeur de dump, vous pouvez afficher les conditions d'accès MIFARE Classic sous forme de tableau (via le
menu). Si vous ne savez pas de quoi il s'agit, vous pouvez lire les chapitres 8.6.3 et 8.7 (et les sous-chapitres) de la fiche
technique MIFARE Classic (1k) (PDF).

5.4 Afficher les blocs de valeurs sous forme d'entiers :

Depuis l'éditeur de dump, vous pouvez décoder les blocs formatés en tant que MIFARE Classic Value Block au format
entier (via le menu). Pour plus d'informations sur les blocs de valeur, lisez/voir le chapitre 8.6.2.1 de la fiche technique
MIFARE Classic (1k) (PDF).

5.5 Afficher la date de fabrication :

Depuis l'éditeur de dump, vous pouvez décoder la date de fabrication (via le menu).

Les 2 derniers octets du bloc fabricant (secteur 0, bloc 0) représentent la date de fabrication. Ils doivent être au format
décimal codé binaire (BCD, uniquement des chiffres, pas de lettres). Le premier octet représente la semaine de
fabrication et doit être compris entre 1 et 53. Le deuxième octet représente l'année de fabrication et doit être compris
entre 0 et l'année en cours (par exemple 12, signifiant 2012).

Ce n'est pas une norme. Certains fabricants ne s'en tiennent pas à cela. Il est donc possible que MCT ne puisse pas
afficher la date de fabrication ou en affiche une fausse.

5.6 Dump en écriture :

Vous pouvez écrire des dumps directement depuis l'éditeur de dump. Pour écrire des dumps, voir Write Dump (Clone)

5.7 Comparer le dump :

Vous pouvez comparer le dump actuel à un autre dump directement depuis l'éditeur de dump. Pour comparer les dumps,
voir Outil Diff (Comparer les dumps)

5.8 Enregistrer les clés :

Vous pouvez enregistrer les clés de la balise actuellement affichée dans un fichier de clés. Cela pourrait être utilisé pour
accélérer le processus de mappage pour la balise correspondante, car le nouveau fichier de clés ne contiendra que des
clés valides.

6. Modifier ou ajouter un fichier clé :

Il existe deux manières de créer un fichier de clé :

Cette application
Vous pouvez créer un nouveau fichier de clé via « Modifier/Ajouter un fichier de clé » dans le menu principal.

Sur ton ordinateur


Vous pouvez créer un simple fichier texte sur votre ordinateur et l'importer à l'aide de l'outil d'importation/exportation
de MCT.
Les fichiers de clés sont de simples fichiers texte contenant une clé MIFARE Classic par ligne (hexadécimal, 6 octets,
12 caractères). Les lignes commençant par # ainsi que les lignes vides sont ignorées.

Vous pouvez modifier les fichiers clés à tout moment avec « Modifier/Ajouter un fichier clé » dans le menu principal.

Étant donné que les fichiers de clés sont utilisés comme des dictionnaires dans les attaques par dictionnaire, il suffit de
saisir uniquement des clés différentes (même si la clé est utilisée pour plusieurs secteurs). Vous pouvez supprimer les
doublons dans un fichier de clé (via le menu) depuis l'éditeur de clé. Il est également possible de partager des fichiers
clés comme des fichiers de dump (voir le chapitre Partager un dump).

Pour d'autres avantages, voir le chapitre Mise en route, section "Avantages du concept de fichiers clés".

7. Outils :

Cette section fournit quelques outils généraux pour travailler avec MIFARE Classic.

7.1 Afficher les informations sur les balises :

Dans cette vue, vous pouvez voir des informations génériques (comme l'UID, l'ATQA, le SAK, la taille de l'étiquette,
etc.) sur l'étiquette RFID.

Si votre appareil ne prend pas en charge MIFARE Classic, c'est la seule chose que vous pouvez faire avec cette
application. :(

Type d'étiquette et identification du fabricant :


Le mécanisme d'identification est basé sur ce site Web. Si vous souhaitez examiner de plus près l'identification des
balises MIFARE, lisez la procédure d'identification du type NXP MIFARE (PDF).
Un autre fichier utile pour l'identification basée sur l'ATS (ATR) est fourni par le projet PCSC.

Le type d'étiquette et le fabricant déterminés par MCT peuvent être erronés pour plusieurs raisons :

Le Tag dispose d'un ATS personnalisé

Il y a plusieurs balises dans le champ du lecteur

7.2 Décodeur/encodeur de bloc de valeurs :

Cet outil est capable de décoder les blocs MIFARE Classic en entier et inversement (encoder un entier en un bloc de
valeur MIFARE Classic). Si vous ne savez pas ce qu'est un bloc de valeur MIFARE Classic, vous devriez lire le
chapitre 8.6.2.1 de la fiche technique MIFARE Classic (1k) (PDF).

Dans la plupart des cas, l'"Addr" d'un bloc de valeurs est 00 (hex) car il n'est pas utilisé. Cependant, selon NXP, "peut
être utilisé pour sauvegarder l'adresse de stockage d'un bloc, lors de la mise en œuvre d'une gestion de sauvegarde
puissante.".

7.3 Décodeur/Encodeur de conditions d'accès :

Cet outil est capable de décoder les conditions d'accès MIFARE Classic dans un format plus lisible par l'homme et
inversement (encoder dans les conditions d'accès MIFARE Classic). Si vous ne savez pas quelles sont les conditions
d'accès à MIFARE Classic, vous devriez lire le chapitre 8.7 de la fiche technique MIFARE Classic (1k) (PDF).

7.4 Outil Diff (Comparer les dumps) :

Cet outil est capable de vous montrer la différence entre les deux dumps. Sélectionnez simplement les dumps que vous
souhaitez comparer et l'outil mettra en évidence toutes les sections où les deux dumps diffèrent l'une de l'autre.

7.5 Calculateur BCC :

Cet outil peut calculer la valeur Bit Count Check (BCC). Pour les tags MIFARE Classic avec un UID de 4 octets, le
BCC doit être le 5ème octet du tout premier bloc (bloc du fabricant).

Plus d'informations sur le calcul du BCC et sur la façon dont il est utilisé pendant la phase anti-collision peuvent être
trouvées dans l'AN10927 de NXP.
7.6 Cloner l'UID :

Cet outil permet de cloner facilement les UID. Touchez simplement la balise d'origine pour lire son UID, appuyez sur le
bouton, puis placez une balise compatible ("balise magique 2e génération") dans le champ du lecteur. Concernant les
balises compatibles, veuillez consulter la section "Écrire dans le bloc fabricant" du chapitre Write Dump (Clone).

7.7 Importer/Exporter/Convertir des fichiers :

Cet outil peut importer et exporter des fichiers de vidage et de clé avec différents types de fichiers. Sont pris en
charge .mct (MIFARE Classic Tool), .keys (MIFARE Classic Tool), .bin/.mfd/.dump (Proxmark, libnfc, mfoc,
autres), .eml (émulateur Proxmark) et .json (Proxmark, Chameleon Mini interface graphique). Pour convertir un fichier
dump, par ex. .bin vers .json, il peut être simplement importé puis réexporté.

Il est possible d'importer plusieurs fichiers à la fois. Pour ce faire, sélectionnez simplement plusieurs fichiers. Mais
utilisez uniquement le gestionnaire de fichiers par défaut d'Android, car les gestionnaires de fichiers tiers ne prennent
pas toujours en charge la sélection de plusieurs fichiers. Dans certains cas, l'option « Afficher le stockage interne » doit
être activée en premier.

Une sauvegarde complète de tous les fichiers de vidage et de clé peut être effectuée à l'aide de la fonction de
sauvegarde. Les données seront enregistrées sous forme d'archive ZIP.

7.8 Convertir les données :

Cet outil peut convertir des données (octets) vers et depuis différents formats. Jusqu'à présent, les types de données
suivants sont pris en charge.

ASCII

Hexadécimal

Binaire

7.9 Journal UID :

Cet outil affiche le journal des balises découvertes. Une entrée de journal comprend la date, l'heure et l'UID de la balise
découverte. Le fichier journal peut être effacé ou partagé avec d'autres applications.

8. NFC externe :

MCT peut être utilisé avec NFC externe. Cette application vous permet de connecter un lecteur RFID externe USB à
votre appareil Android. Tous les lecteurs RFID ne sont pas pris en charge par NFC externe et votre appareil Android
doit être compatible USB-OTG.

Lecteurs qui devraient fonctionner :

ACR122U

MFRC522 via des adaptateurs USB-UART

PN532 via des adaptateurs USB-UART

Selon les rapports des utilisateurs, le lecteur ACR 122U fonctionne le mieux.

Pour toute question concernant l'application NFC externe, veuillez consulter sa page Play Store et/ou contacter son
développeur.

Vous aimerez peut-être aussi