Hack NFC - Proxmark3

De Wiki de Projets IMA
Révision datée du 26 novembre 2013 à 10:24 par Sboudjem (discussion | contributions) (Partie 1 : Hack des données)

Présentation

Contexte:

Les cartes RFID sont de plus en plus utilisées notamment pour les cartes bancaires.

Plus directement, les cartes RFID sont présentes sur le campus de Lille 1, comme lors du rechargement des repas de la cantine, ou de l'ouverture des portes par les badges des professeurs.

Leurs sécurités est donc un enjeu crucial

http://www.youtube.com/watch?v=7BQDgPMF_fo

Objectif :

L'objectif de ce PFE est d'étudier la vulnérabilité de ces cartes sans contacts et de trouver un moyen de les sécuriser.


Description :

En utilisant des systèmes Proxmark 3 (http://proxmark3.com/index.html) vous commencerez par une simple copie de carte MiFare. Cela vous permettra de prendre en main l'environnement. Vous travaillerez ensuite sur les différents aspects suivants : - Amélioration des antennes pour permettre la capture de cartes à "longues distance" (entre 2 et 10 m) - Packaging de l'appareil et des nouvelles antennes dans un sac à dos - Description de procédures de mise en oeuvre automatique - Mise en place de contre-mesure Quelques liens : http://bigbrotherawards.eu.org/Le-GIE-cartes-bancaires https://code.google.com/p/readnfccc/source/browse/#svn%2Ftrunk%2FNFCCreditCardTool

Journal de bord

17/09/2013

Discussions avec nos encadrants pour développer les grands enjeux de ce projet. LF = Low Frequency (125 kHz, 132.5 kHz) HF = High Frequency (13.56 MHz) UHF = Ultra High Frequency (860 MHZ, 960 MHz)


18/09/2013


24/09/2013


25/09/2013

Note : les cartes de cantines sont a utilisé avec l'antenne HF

Procédure : brancher la proxmark3 sans antenne, hw tune puis brancher l'antenne hw tune

puis hf 14b read (pour une carte du CROUS)

Commande pour regarder si des secteurs utilisent la clef du fabriquant : "hf mf chk *1 ? t"

Si le secteur 0 utilise la clef X, lancer la commande : "hf mf nested 0 1 A X d" Cette commande lance une attaque de type "Nested Attack"; Puisqu'on connait une clef (celle du bloc 0 par exemple), cette commande va nous permettre de connaitre les clefs des autres secteurs et donc de découvrir les données de la carte.

Ensuite pour créer un fichier bin contenant les data, il faut lancer la commande : "hf mf dump", qui va en associant les clefs aux blocs concernés, créer un fichier contenant les données.

Pour lire ces datas, il faut utiliser le logiciel HxD

17/10/2013

Aujourd'hui, en cherchant à copier une carte sur une autre nous avons trouvé la commande "hf mf restore" qui nous a permis d'effacer une carte. La commande "hf mf wrbl" doit permettre d'écrire un block de données sur une carte, si on connait le numéro du block et ses clés. Nous pourrons peut-être écrire un script exploitant cette commande afin de copier l'ensemble d'une carte sur une autre.

Partie 1 : Hack des données

Contenu de la carte

Voici les données cryptées et non cryptée présentent sur la carte étudiant :

texte descriptif

















Comparaison après rechargement

Ici la comparaison des données de la carte avant et après rechargement.

On observe que seules 3 lignes sont partiellement modifiées (surlignée en rouge)

A gauche la carte contient 30,17 euros, à droite elle contient 30,32 euros










Documentation

[CEPS Technical Specification]




Partie 2 : Analyse des données

Après une dizaine de relevés à la suite de chargements et d'utilisation de la carte CROUS, nous pouvons affirmer que dans le document suivant :

       => Les bytes encadrés en vert sont des bytes qui sont succeptibles de changer après un échange 
       => Les bytes encadrés en rouge changent systématiquement après échange

/!\ TWIKI EN COURS DE MISE A JOURS /!\