Hacking cheile interfonului mifare clasic (reușit să copieze)

Hacking cheile interfonului mifare clasic (reușit să copieze)

Actualizare: Am copiat, revizuirea este actualizată.

Într-una dintre comentariile sale (Atmega8A într-un TQFP-32 pachet de firmware prin intermediul Arduino ISP), am menționat despre asamblarea cititorului / emulator pentru contactul cheie Interfon pe proiectul clusterr'a.







Livrare și aspect

Produsul a apărut într-un ambalaj galben obișnuit, fără ace, fiind înfășurat în folie cu bule de aer și este în general perfect ambalat. Vânzătorul a oferit o pistă de urmărire.

Hacking cheile interfonului mifare clasic (reușit să copieze)

Componența lotului:
- Modul PN532 NFC Citire / Scriere (3.3V-5V);
- cartela S50 albă;
- S50 Cardul cheie.

Hacking cheile interfonului mifare clasic (reușit să copieze)

caracteristicile

Placa dispune de un cip NXP Pn532 care permite operații de citire și scriere pentru cardul Mifare Classic (13.56 MHz).

- Dimensiune: 10.5cm X 4.9cm;
- Alimentare: 3.3V-5.0V;
- Interfețe: I2C, SPI, HSU (compatibilitate 3.3V-5V);
- butonul de resetare pe tablă;
- Pasul dintre știfturi: 2,54 mm.

conexiune

Pentru conectarea la un calculator, cel mai bine este de a utiliza HSU - UART de mare viteză și TTL USB bazat pe cip FT232RL, astfel încât există o oportunitate pentru conectarea SPI Pn532 Modul NFC cu Arduino și de a folosi acesta din urmă ca un TTL USB, mai multe detalii pot fi găsite pe mfocuino proiect. Din păcate, am avut probleme cu CP2102, pe care l-am menționat de multe ori în comentarii lor.

Hacking cheile interfonului mifare clasic (reușit să copieze)

- Pn532 NFC Modul TX -> FTDI TTL RX
- Modulul Pn532 NFC RX -> FTDI TTL TX
- Modul VN Pn532 NFC -> FTDI TTL VCC
- Pn532 Modul NFC GND -> FTDI TTL GND

Instalarea și configurarea software-ului

Pentru a lucra cu Mifare Classic, există o libnfc librărie gratuită, care conține setul necesar de utilitare pentru RFID. Instalarea este susținută de multe OS-uri populare, dar vă recomandăm să utilizați GNU \ Linux și în special Debian \ Ubuntu.

Deschidem terminalul, primim privilegii (root) și instalăm pachetele necesare.

Pentru comoditate, creați folderul nfc în directorul de acasă și mergeți la el:

Obțineți versiunea curentă din depozitul Git:

Colectăm libnfc din codul sursă care a fost obținut:

MFOC este o implementare deschisă a atacului "imbricat offline" de la Nethemba.







Programul vă permite să restaurați cheile de autentificare de pe cartela MIFARE Classic numai dacă una dintre chei este cunoscută, în plus, lista cheilor cele mai populare este deja zaharkodin în utilitate, care va fi verificat.

Obțineți versiunea curentă din depozitul Git:


cd ./mfoc
autoreconf -vis
./ configure
sudo face

MFCUK este o implementare deschisă a Darkside Attack. Acest utilitar nu necesită cunoașterea niciuneia dintre chei.

Obțineți versiunea curentă din depozitul Git:

utilizarea


Conectăm modulul Pn532 NFC la USB TTL și, la rândul său, la portul computerului și atașăm cheia RFID - goală, care a venit în kit.

Ca răspuns, primim:

Încercăm să obținem carduri de memorie prin utilitarul mfoc.

Obținem dumpul hărții în fișierul dump.mfd
Taste Cheie A: ffffffffffff Găsit Cheia B: ffffffffffff

Eliminați RFID-ul necompletat și atașați interfonul, executăm comanda:

Nu a funcționat cu chei standard. Nu a fost găsit nici un sector criptat cu cheia implicită, ieșind din ...

Dacă știm una dintre chei, putem folosi opțiunea de cheie -k

Hai să încercăm să fugim prin mfcuk.
Accesați directorul

eșec
EROARE: mfcuk_key_recovery_block () (cod de eroare = 0x03)
EROARE: mfcuk_key_recovery_block () (cod de eroare = 0x03)
EROARE: mfcuk_key_recovery_block () (cod de eroare = 0x03)

Lăsați o zi, eroarea este repetată ciclic, dacă rulați cu comutatorul -v 3, procesul este în desfășurare.

Răspunsul este pe internet, nu am putut găsi, a încercat versiuni diferite libnfc și mfcuk, lăsând dezvoltatorii de întrebări și încearcă să folosească distribuții specializate, cum ar fi Linux kali, încercând să pătrundă într-o hartă goală, aceeași greșeală, același rezultat.

Unul dintre articole menționează hacking-ul de succes cu cititorul ACR122U libnfc-1.5.1 și mfcuk r65, dar în prezent nu am un astfel de dispozitiv.

adresare

După cum sa dovedit, există chei "mai slabe", iar în mfcuk nu există logică pentru acest tip. Multe mulțumiri pentru utilizatorul lui Stewart8 și mesajul lui. unde a descris problema și căile de rezolvare a acesteia.

Pentru comoditate, am postat fișierele editate crapto1.c și mfcuk.c, care trebuie schimbate în directorul mfcuk / src și asamblat din nou utilitarul.


Și așteptăm ca maxhii = 00ffffff și maxloi = 00ffffff să înceapă să repete:

INFO: Conectat la cititorul NFC: pn532_uart: / dev / ttyUSB0
VERIFICAȚI:
Sectoare cheie A: 0 1 2 3 4 5 6 7 8 9 a b c d e f
Sectoare cheie B: 0 1 2 3 4 5 6 7 8 9 a b c d e f

RECUPERĂ: 0
...
254592 de candidați găsiți, nonce 78882a2f
maxhi = 3 maxhii = 0030b0c5 maxlo = 3 maxloi = 00080e51
mfcuk: EROARE: mfcuk_key_recovery_block () (cod de eroare = 0x03)
Au fost găsiți 44928 de candidați, nonce 5578882a
maxhi = 3 maxhii = 000bee31 maxlo = 3 maxloi = 00080e51
mfcuk: EROARE: mfcuk_key_recovery_block () (cod de eroare = 0x03)
354816 de candidați găsiți, nonce 5578882a
maxhi = 4 maxhii = 00895568 maxlo = 3 maxloi = 0000a513
mfcuk: EROARE: mfcuk_key_recovery_block () (cod de eroare = 0x03)
153600 de candidați găsiți, nonce 688df49b
maxhi = 4 maxhii = 0030028f maxlo = 4 maxloi = 0016ef51
mfcuk: EROARE: mfcuk_key_recovery_block () (cod de eroare = 0x03)
49152 de candidați găsiți, nonce a2701b19
maxhi = 4 maxhii = 0030028f maxlo = 4 maxloi = 0016ef51
mfcuk: EROARE: mfcuk_key_recovery_block () (cod de eroare = 0x03)
59136 de candidați găsiți, nonce 02aa92c0
maxhi = 5 maxhii = 00ffffff maxlo = 5 maxloi = 00ffffff
mfcuk: EROARE: mfcuk_key_recovery_block () (cod de eroare = 0x03)
Au fost găsite 206080 de candidați, care nu sunt 32a03931
maxhi = 6 maxhii = 00ffffff maxlo = 6 maxloi = 00ffffff
mfcuk: EROARE: mfcuk_key_recovery_block () (cod de eroare = 0x03)
40256 de candidați găsiți, nonce 78882a2f
maxhi = 7 maxhii = 00ffffff maxlo = 7 maxloi = 00ffffff
mfcuk: EROARE: mfcuk_key_recovery_block () (cod de eroare = 0x03)
349440 de candidați găsiți, nonce a2701b19
maxhi = 8 maxhii = 00ffffff maxlo = 8 maxloi = 00ffffff
mfcuk: EROARE: mfcuk_key_recovery_block () (cod de eroare = 0x03)
1344 de candidați găsiți, nonce 688df49b
maxhi = 9 maxhii = 00ffffff maxlo = 9 maxloi = 00ffffff

De obicei, maxhi, maxlo nu depășesc 5-6 în acest moment. Pentru codurile de eroare eroare = 0x03 nu acordăm atenție.

Apoi primim cheia: ffffffffffff
maxhi = 5 maxhii = 00ffffff maxlo = 5 maxloi = 00ffffff

-k ffffffffffff (cheia care a fost obținută prin mfcuk)

În final, ar trebui să primiți un mesaj:


Avem o haldă completă, cheia interfonului, acum o vom scrie într-o cheie goală.

Facem dump-ul cheii goale:


Și folosind utilitarul nfc-mfclassic (vine cu libnfc), scriem dump-ul într-o cheie goală:


Dacă discul dvs. are un UID schimbabil sau deblocat, adică la care puteți schimba identificatorul și efectua un duplicat complet, apoi executați:


și obține cheia magică.

concluzie

Ca rezultat, am o mulțime de experiență în lucrul cu RFID, dar, din nefericire, pentru a crea o copie fără să știu una dintre chei la moment nu mi se pare posibil datorită lui Stewart8 am reușit să fac o copie. Mulțumesc tuturor și sunt foarte fericit!







Trimiteți-le prietenilor: