Αυτή τη φορά, ο κύριος χαρακτήρας είναι η κάρτα φτωχού νερού του σχολείου (κάρτα ζεστού νερού)
Ελέγχοντας με το MCT (Mifare Classic Tool) που είναι εγκατεστημένο στο τηλέφωνο NFC, η κάρτα νερού είναι πράγματι τύπου Mifare Classic 1k
Τα εργαλεία που χρησιμοποιούνται σε αυτή τη ρωγμή είναι: ένας υπολογιστής, ένα ACR122U, ένα κινητό τηλέφωνο με λειτουργία NFC και μια κάρτα νερού
Πριν από το σπάσιμο, πρέπει να δημιουργήσουμε ένα αντίστοιχο περιβάλλον για τον υπολογιστή και πρέπει να το εγκαταστήσετε στον υπολογιστή. NET Farmwork 4 και Java, κατεβάστε και εγκαταστήστε το online και το λογισμικό που θα χρησιμοποιηθεί αργότερα εξαρτάται από αυτές τις δύο βιβλιοθήκες χρόνου εκτέλεσης.
Μετά την εγκατάσταση του χρόνου εκτέλεσης, πρέπει να εγκαταστήσετε το πρόγραμμα οδήγησης ACR122U (το άρθρο επισυνάπτεται στον σύνδεσμο λογισμικού) και για να διευκολύνω την επακόλουθη ανάπτυξη, εγκατέστησα επίσης το SDK.
Μετά την εγκατάσταση του προγράμματος οδήγησης και του SDK, συνδέστε το ACR122U στον υπολογιστή και η συσκευή θα λειτουργήσει κανονικά. Βάλτε την κάρτα νερού μας και ο βομβητής ACR122U θα σβήσει και το χρώμα του LED θα αλλάξει
Το πρόγραμμα για την επαλήθευση ότι τα τρωτά σημεία μπορούν να αξιοποιηθούν είναι το mfoc και η έκδοση του mfoc για Windows ονομάζεται mfocgui, αλλά το mfocgui είναι λίγο ενοχλητικό για μαθητές που είναι νέοι στην ασφάλεια RFID, επομένως αυτή τη φορά χρησιμοποιεί απευθείας το πρόγραμμα υπηρεσίας κάρτας M1 (στην πραγματικότητα μια απλοποιημένη έκδοση του mfocgui).
Μετά το άνοιγμα, η διεπαφή του προγράμματος είναι πολύ απλή, με ένα μόνο κουμπί, το οποίο είναι να ξεκινήσει το σπάσιμο. Έχω δει ACR122U μου στη λίστα ανάγνωσης καρτών, οπότε απλώς πατήστε start cracking
Στη συνέχεια, περιμένετε μέχρι το πρόγραμμα να σπάσει το κλειδί από μόνο του.
Δεν χρειάστηκε πολύς χρόνος για να δούμε ότι όλοι οι τομείς ήταν τσεκαρισμένοι και ραγισμένοι.
Μετά την επιτυχή διάρρηξη, ο ριζικός κατάλογος δημιουργεί το αρχείο ένδειξης σφαλμάτων αυτής της κάρτας, το μέγεθος είναι 1 kb και διαβάζεται ολόκληρη η κάρτα.
Ωστόσο, το mfoc αρχικά έτρεχε σε περιβάλλον Linux και το αρχείο ένδειξης σφαλμάτων που δημιουργήθηκε από το mfocgui που μεταφέρθηκε στα Windows δεν μπορεί να χρησιμοποιηθεί απευθείας και απαιτείται ένα εργαλείο επιδιόρθωσης fixdump (download fixdump) για την επιδιόρθωση του αρχείου ένδειξης σφαλμάτων 1 kb σε αρχείο ένδειξης σφαλμάτων 4 kb.
Το fixdump είναι μια λειτουργία γραμμής εντολών και πρέπει να εγκατασταθεί με . Βιβλιοθήκη χρόνου εκτέλεσης NET Farmwork 4, για να διευκολύνουμε τη λειτουργία εντολών, αντιγράφουμε το αρχείο dump στον κατάλογο fixdump και ανοίγουμε το cmd για να το επιδιορθώσουμε. Η εντολή είναι απλή, απλώς "fixdump" και το αρχείο που δημιουργείται θα αντικαταστήσει απευθείας το αρχείο προέλευσης.
Αφού ολοκληρωθεί η επισκευή, ανοίξτε το με ένα δεκαεξαδικό πρόγραμμα επεξεργασίας όπως το UltraEdit ή το WinHex και μπορείτε να δείτε τα δεδομένα του αρχείου ένδειξης σφαλμάτων.
Βλέπετε τα δεδομένα που πλαισίωσα στο πλαίσιο της παραπάνω εικόνας; Αυτό είναι το τμήμα ελέγχου του τομέα της κάρτας, από το οποίο τα πρώτα 6 byte και τα τελευταία 6 byte του FFFFFFFFFFFF είναι ο κωδικός πρόσβασης αυτού του τομέα και το FF078069 στη μέση είναι το bit ελέγχου.
Αφού έμαθα τον κωδικό πρόσβασης, εισήγαγα τον κωδικό πρόσβασης στο MCT και άρχισα να διαβάζω τα δεδομένα της κάρτας.
Λόγω της λειτουργίας του MCT με επισήμανση δεδομένων, μπορούμε να δούμε ξεκάθαρα ότι υπάρχουν δύο σειρές μπλοκ τιμών στους 4 τομείς και το τρέχον υπόλοιπο στην κάρτα μου είναι 32,31. Η τιμή του μπλοκ τιμών αντιστρέφεται δύο φορές και αντιστρέφεται μία φορά και αποθηκεύεται στη χαμηλότερη διεύθυνση. Βλέποντας το πρώτο μπλοκ τιμών, 0C9F, επειδή τα δεδομένα του υπολογιστή αποθηκεύονται με αντίστροφη σειρά, τα πραγματικά δεδομένα είναι 9F0C, που είναι 3231 με δεκαδική σειρά. Το 60F3 στο μεσαίο τμήμα αντιστρέφεται και η αντίστροφη σειρά 60F3 είναι F360, η οποία είναι 1111001101100000 όταν αντιστρέφεται, και είναι 0000110010011111 όταν αντιστρέφεται και είναι 3231 όταν αλλάζει σε δεκαδικό. Η τελευταία παράγραφος, όπως και η πρώτη παράγραφος, δεν λαμβάνεται και δεν διατηρείται. Το 11 και το EE στο τέλος είναι οι διευθύνσεις, οι οποίες μπορούν να αγνοηθούν, αρκεί οι διευθύνσεις να είναι συνεπείς αργότερα. Μέχρι αυτό το σημείο, τα δεδομένα της κάρτας έχουν σπάσει επειδή δεν έχει πάρει καμία κρυπτογράφηση, τώρα θα τροποποιήσω τα χρήματα της κάρτας σε 999,99 για να δοκιμάσω, τα 999,99 γιουάν θα πρέπει να είναι δεκαδικά 99999, το δεκαεξαδικό είναι 01869F, το αποτέλεσμα αντίστροφης σειράς είναι 9F8601, τα άλλα bit υπολογίζονται με την ίδια αρχή ή μπορούμε να χρησιμοποιήσουμε το εργαλείο υπολογισμού μπλοκ τιμών της MCT για να υπολογίσουμε και, τέλος, να υπολογίσουμε το αποτέλεσμα όπως φαίνεται στο παρακάτω σχήμα.
Γράψτε τα δεδομένα στην κάρτα, τώρα ήρθε η ώρα να πάτε στην πρακτική του μηχανήματος.
|