Diesmal ist die Hauptfigur die schlechte Wasserkarte der Schule (Warmwasserkarte)
Mit dem MCT (Mifare Classic Tool), das auf dem NFC-Handy installiert ist, sieht man, dass die Wasserkarte tatsächlich vom Typ Mifare Classic 1k ist
Die bei diesem Crack eingesetzten Werkzeuge sind: ein Computer, ein ACR122U, ein Mobiltelefon mit NFC-Funktion und eine Wasserkarte
Vor dem Knacken müssen wir eine entsprechende Umgebung für den Computer bauen, und du musst sie auf dem Computer installieren. NET Farmwork 4 und Java, bitte laden Sie es online herunter und installieren Sie es, und die später verwendete Software hängt von diesen beiden Laufzeitbibliotheken ab.
Nach der Installation der Laufzeit muss man den ACR122U Treiber installieren (der Artikel ist dem Software-Link beigefügt), und um die weitere Entwicklung zu erleichtern, habe ich auch das SDK installiert.
Nach der Installation des Treibers und SDK verbinden Sie die ACR122U mit dem Computer und das Gerät funktioniert normal. Wenn wir unsere Wasserkarte anlegen, ertönt der ACR122U Summer und die Farbe der LED ändert sich
Das Programm, das überprüft, dass Schwachstellen ausgenutzt werden können, heißt mfoc, und die Windows-Version von mfoc heißt mfocgui, aber mfocgui ist für Studierende, die neu in der RFID-Sicherheit sind, etwas umständlich, daher wird diesmal direkt das M1-Karten-Service-Programm verwendet (tatsächlich eine vereinfachte Version von mfocgui).
Nach dem Öffnen ist die Programmoberfläche sehr einfach, mit nur einer Taste, nämlich zum Knacken. Ich habe meine ACR122U in der Kartenleserliste gesehen, also drücke einfach auf Start Cracking
Warte dann, bis das Programm den Schlüssel von selbst knackt.
Es dauerte nicht lange, bis man sah, dass alle Sektoren angekreuzt und gerissen waren.
Nach erfolgreichem Knacken erzeugt das Root-Verzeichnis die Dump-Datei dieser Karte, die Größe beträgt 1 kb, und die gesamte Karte wird gelesen.
Allerdings lief mfoc ursprünglich in der Linux-Umgebung, und die von mfocgui auf Windows portierte Dump-Datei kann nicht direkt verwendet werden; ein Reparaturtool fixdump (fix dump herunterladen) wird benötigt, um die 1-KB-Dump-Datei in eine 4-KB-Datei zu reparieren.
fixdump ist eine Kommandozeilenoperation und muss mit installiert werden. NET Farmwork 4 Laufzeitbibliothek, um die Befehlsfunktion zu erleichtern, kopieren wir die Dump-Datei in das fixdump-Verzeichnis und öffnen cmd, um sie zu reparieren. Der Befehl ist einfach, einfach "fixdump", und die generierte Datei überschreibt direkt die Quelldatei.
Nachdem die Reparatur abgeschlossen ist, öffne sie mit einem hexadezimalen Editor wie UltraEdit oder WinHex, und du kannst die Daten der Dump-Datei sehen.
Siehst du die Daten, die ich in der Box auf dem obigen Bild eingerahmt habe? Dies ist das Steuersegment des Kartensektors, wobei die ersten 6 Bytes und die letzten 6 Bytes von FFFFFFFFFFFFFF das Passwort dieses Sektors sind und das FF078069 in der Mitte das Steuerbit ist.
Nachdem ich das Passwort kannte, habe ich es in das MCT importiert und angefangen, die Kartendaten auszulesen.
Durch die Funktion von MCT mit Datenhervorhebung sehen wir deutlich, dass es zwei Reihen von Wertblöcken in den 4 Sektoren gibt und der aktuelle Saldo auf meiner Karte 32,31 beträgt. Der Wert des Wertblocks wird zweimal umgekehrt und einmal umgekehrt und in der niedrigsten Adresse gespeichert. Sieht man den ersten Wertblock 0C9F, da die Computerdaten in umgekehrter Reihenfolge gespeichert sind, sind die realen Daten 9F0C, also 3231 in Dezimalordnung. Die 60F3 im mittleren Abschnitt ist umgekehrt, und die umgekehrte Reihenfolge bei 60F3 ist F360, die 1111001101100000 ist, wenn sie umgekehrt ist, und sie ist 0000110010011111, wenn sie umgekehrt ist, und sie ist 3231, wenn sie auf Dezimalt geändert wird. Der letzte Absatz wird, wie auch der erste Absatz, nicht genommen und bewahrt. Die 11 und EE am Ende sind die Adressen, die ignoriert werden können, solange die Adressen später konsistent sind. Bis zu diesem Punkt wurden die Daten der Karte geknackt, weil keine Verschlüsselung nötig war. Jetzt werde ich das Geld der Karte auf 999,99 ändern, um es zu versuchen, 999,99 Yuan sollte dezimal 999999 sein, hexadezimal 01869F, das Reverse-Order-Ergebnis ist 9F8601, die anderen Bits werden nach demselben Prinzip berechnet, oder wir können das eigene Wertblock-Berechnungstool von MCT verwenden, um das Ergebnis zu berechnen und schließlich das Ergebnis wie in der Abbildung unten gezeigt zu berechnen.
Schreibe die Daten auf die Karte, jetzt ist es Zeit, zur Maschinenübung zu gehen.
|