Denne gang er hovedpersonen skolens fattige vandkort (varmt vandkort)
Når man tjekker med MCT (Mifare Classic Tool) installeret på NFC-telefonen, er vandkortet faktisk af Mifare Classic 1k-typen
De værktøjer, der bruges i denne sprække, er: en computer, en ACR122U, en mobiltelefon med NFC-funktion og et vandkort
Før vi knækker, skal vi bygge et tilsvarende miljø til computeren, og du skal installere det på computeren. NET Farmwork 4 og Java, download og installer det venligst online, og den software, der bruges senere, afhænger af disse to runtime-biblioteker.
Efter installation af runtime-installationen skal du installere ACR122U-driveren (artiklen er vedhæftet softwarelinket), og for at lette den efterfølgende udvikling installerede jeg også SDK'en.
Efter installation af driveren og SDK'en, forbind ACR122U til computeren, og enheden vil fungere normalt. Sætter vi vores vandkort på, vil ACR122U buzzer ringe, og farven på LED'en vil ændre sig
Programmet til at verificere, at sårbarheder kan udnyttes, er mfoc, og Windows-versionen af mfoc kaldes mfocgui, men mfocgui er lidt besværlig for studerende, der er nye inden for RFID-sikkerhed, så denne gang bruger det direkte M1-kortserviceprogrammet (faktisk en forenklet version af mfocgui).
Efter åbning er programgrænsefladen meget simpel, med kun én knap, som er at begynde at knække. Jeg har set min ACR122U i kortlæserlisten, så tryk bare start cracking
Vent derefter på, at programmet knækker nøglen af sig selv.
Det tog ikke lang tid at se, at alle sektorer var markeret og revnet.
Når knækkningen er lykkedes, genererer rodmappen dumpfilen for dette kort, størrelsen er 1 kb, og hele kortet bliver læst.
Dog kørte mfoc oprindeligt i Linux-miljøet, og dumpfilen, der genereres af mfocgui portet til Windows, kan ikke bruges direkte, og et reparationsværktøj fixdump (download fixdump) er nødvendigt for at reparere 1 kb dumpfilen til en 4 kb dumpfil.
Fixdump er en kommandolinjeoperation og skal installeres med . NET Farmwork 4 runtime-biblioteket, for at lette kommandooperationen kopierer vi dumpfilen til fixdump-mappen og åbner cmd for at reparere den. Kommandoen er simpel, bare "fixdump", og den genererede fil vil direkte overskrive kildefilen.
Når reparationen er færdig, åbner du den med en hexadecimal editor som UltraEdit eller WinHex, og du kan se dataene fra dumpfilen.
Kan du se de data, jeg indrammede i boksen på billedet ovenfor? Dette er kontrolsegmentet i kortsektoren, hvor de første 6 bytes og de sidste 6 bytes af FFFFFFFFFFFFFF er adgangskoden til denne sektor, og FF078069 i midten er kontrolbiten.
Efter at have kendt adgangskoden importerede jeg den i MCT'en og begyndte at læse kortdataene.
På grund af MCT's funktion med datafremhævning kan vi tydeligt se, at der er to rækker af værdiblokke i de 4 sektorer, og den nuværende saldo på mit kort er 32,31. Værdien af værdiblokken vendes to gange og vendes én gang, og gemmes i den laveste adresse. Når man ser den første værdiblok, 0C9F, fordi computerdataene er gemt i omvendt rækkefølge, er de reelle data 9F0C, hvilket er 3231 i decimalorden. 60F3 i midtersektionen er omvendt, og 60F3 omvendte rækkefølge er F360, som er 1111001101100000, når den er omvendt, og den er 0000110010011111, når den er omvendt, og den er 3231, når den ændres til decimal. Det sidste afsnit, ligesom det første afsnit, tages ikke og bevares. 11 og EE i slutningen er adresserne, som kan ignoreres, så længe adresserne er konsistente senere. Indtil nu er kortets data blevet knækket, fordi det ikke har krævet nogen kryptering, nu vil jeg ændre kortets penge til 999,99 for at prøve, 999,99 yuan skal være decimal 99999, hexadecimal er 01869F, omvendt rækkefølge er 9F8601, de andre bits beregnes efter samme princip, eller vi kan bruge MCT's eget værdiblokberegningsværktøj til at beregne og til sidst beregne resultatet som vist i figuren nedenfor.
Skriv dataene ind på kortet, nu er det tid til maskintræning.
|