/ poc

Recharger carte NFC

Contexte :

Dans ce post on va voir comment exploiter les problèmes de sécurité sur les cartes de type mifare Classic.Pour cet exemple je prendrais un badge contenant un crédit d'argent.

Matériel utilisé :

  • Un badge nfc Mifare Classic
  • Un lecteur de carte ACR122u

Outils :

Exploit :

Une fois les outils installés et fonctionnant on commence par lire les données que l'on a sur la carte pour connaitre le modèle.

pcsc_scan

alt

On récupère donc le type de carte ici Mifare Standard 1k. Il est possible de lire et écrire sur ce type de carte sans soucis.
La prochaine étape est de dumper la carte pour pouvoir l'analyser.

mfoc -O carte.mfd

alt

On analyse ensuite le contenu du dump.

hexdump -vC carte.mfd

Le paramètre v sert à voir toutes les lignes même celles à 0 et le C de visualiser l'hexa avec l'ascii interpreté.

Rien d'intéressant ressort du dump à première vue. Sachant que le solde du badge est de 2€ (200centimes), en Hexa c8 on cherche ce solde sur la carte.

alt

Ligne 00000320 on retrouve les 2€ (il semblerait que cette ligne soit toujours la même).
En mettant 2,50€ soit fa, on remplace la valeur sur le dump. Si la valeur hexa fait 3 caractères il faut écrire sur l'octet précédent par exemple pour 5€ (1f4) il faut mettre 01 f4.
Une fois le dump à jour il faut réécrire sur la carte.

nfc-mfclassic w B carte.mfd carte.mfd

Lorsque l'on avait dumpé la carte les clés A et B ont été récupéré et ajouté dans le fichier carte.mfd. La commande contient donc le nom du dump suivi du fichier contenant les clés. L'option B réécrit sur le badge avec la clé B.

alt

La carte est alors écrite correctement :

alt

Précisions :

Cette utilisation n'a jamais été utilisé dans un but néfaste. Aucun crédit n'a été utilisé et le solde de la carte a été remis à sa valeur initiale.