Pentesting RFID

Υποστήριξη HackTricks

Εισαγωγή

Η Ταυτοποίηση με Ραδιοσυχνότητες (RFID) είναι η πιο δημοφιλής λύση ραδιοσυχνότητας μικρής εμβέλειας. Χρησιμοποιείται συνήθως για την αποθήκευση και μετάδοση πληροφοριών που προσδιορίζουν μια οντότητα.

Ένα RFID tag μπορεί να βασίζεται σε δική του πηγή ενέργειας (ενεργό), όπως μια ενσωματωμένη μπαταρία, ή να λαμβάνει την ενέργειά του από την κεραία ανάγνωσης χρησιμοποιώντας το ρεύμα που προκαλείται από τις ληφθείσες ραδιοκύματα (παθητικό).

Κατηγορίες

Η EPCglobal χωρίζει τα RFID tags σε έξι κατηγορίες. Ένα tag σε κάθε κατηγορία έχει όλες τις δυνατότητες που αναφέρονται στην προηγούμενη κατηγορία, καθιστώντας το συμβατό με τις προηγούμενες.

  • Τα Class 0 tags είναι παθητικά tags που λειτουργούν σε UHF ζώνες. Ο προμηθευτής τα προγραμματίζει εκ των προτέρων στο εργοστάσιο παραγωγής. Ως αποτέλεσμα, δεν μπορείτε να αλλάξετε τις πληροφορίες που αποθηκεύονται στη μνήμη τους.

  • Τα Class 1 tags μπορούν επίσης να λειτουργούν σε HF ζώνες. Επιπλέον, μπορούν να γραφούν μόνο μία φορά μετά την παραγωγή. Πολλά Class 1 tags μπορούν επίσης να επεξεργαστούν κυκλικούς ελέγχους πλεονασμού (CRCs) των εντολών που λαμβάνουν. Οι CRCs είναι μερικά επιπλέον bytes στο τέλος των εντολών για ανίχνευση σφαλμάτων.

  • Τα Class 2 tags μπορούν να γραφούν πολλές φορές.

  • Τα Class 3 tags μπορούν να περιέχουν ενσωματωμένους αισθητήρες που μπορούν να καταγράφουν περιβαλλοντικές παραμέτρους, όπως η τρέχουσα θερμοκρασία ή η κίνηση του tag. Αυτά τα tags είναι ημι-παθητικά, επειδή αν και έχουν μια ενσωματωμένη πηγή ενέργειας, όπως μια ενσωματωμένη μπαταρία, δεν μπορούν να ξεκινήσουν ασύρματη επικοινωνία με άλλα tags ή αναγνώστες.

  • Τα Class 4 tags μπορούν να ξεκινήσουν επικοινωνία με άλλα tags της ίδιας κατηγορίας, καθιστώντας τα ενεργά tags.

  • Τα Class 5 tags μπορούν να παρέχουν ενέργεια σε άλλα tags και να επικοινωνούν με όλες τις προηγούμενες κατηγορίες tags. Τα Class 5 tags μπορούν να λειτουργούν ως αναγνώστες RFID.

Πληροφορίες που αποθηκεύονται σε RFID Tags

Η μνήμη ενός RFID tag συνήθως αποθηκεύει τέσσερις τύπους δεδομένων: τα δεδομένα ταυτοποίησης, τα οποία προσδιορίζουν την οντότητα στην οποία είναι συνδεδεμένο το tag (αυτά τα δεδομένα περιλαμβάνουν πεδία που ορίζονται από τον χρήστη, όπως τραπεζικοί λογαριασμοί); τα συμπληρωματικά δεδομένα, που παρέχουν περαιτέρω λεπτομέρειες σχετικά με την οντότητα; τα δεδομένα ελέγχου, που χρησιμοποιούνται για την εσωτερική διαμόρφωση του tag; και τα δεδομένα κατασκευαστή του tag, που περιέχουν τον Μοναδικό Αναγνωριστή του tag (UID) και λεπτομέρειες σχετικά με την παραγωγή, τύπο και προμηθευτή του tag. Θα βρείτε τους πρώτους δύο τύπους δεδομένων σε όλα τα εμπορικά tags; οι τελευταίοι δύο μπορεί να διαφέρουν ανάλογα με τον προμηθευτή του tag.

Το ISO πρότυπο καθορίζει την τιμή του Αναγνωριστικού Οικογένειας Εφαρμογών (AFI), έναν κωδικό που υποδεικνύει τον τύπο αντικειμένου στο οποίο ανήκει το tag. Ένα άλλο σημαντικό μητρώο, που επίσης καθορίζεται από το ISO, είναι το Αναγνωριστικό Μορφής Αποθήκευσης Δεδομένων (DSFID), το οποίο καθορίζει την λογική οργάνωση των δεδομένων χρήστη.

Οι περισσότερες ασφαλιστικές ρυθμίσεις RFID έχουν μηχανισμούς που περιορίζουν τις λειτουργίες ανάγνωσης ή γραφής σε κάθε μπλοκ μνήμης χρήστη και στους ειδικούς καταχωρητές που περιέχουν τις τιμές AFI και DSFID. Αυτοί οι μηχανισμοί κλειδώματος χρησιμοποιούν δεδομένα που αποθηκεύονται στη μνήμη ελέγχου και έχουν προκαθορισμένους κωδικούς πρόσβασης που έχουν ρυθμιστεί από τον προμηθευτή, αλλά επιτρέπουν στους κατόχους του tag να ρυθμίσουν προσαρμοσμένους κωδικούς πρόσβασης.

Σύγκριση χαμηλής & υψηλής συχνότητας tags

Χαμηλής Συχνότητας RFID Tags (125kHz)

Τα χαμηλής συχνότητας tags χρησιμοποιούνται συχνά σε συστήματα που δεν απαιτούν υψηλή ασφάλεια: πρόσβαση σε κτίρια, κλειδιά διασύνδεσης, κάρτες μέλους γυμναστηρίου, κ.λπ. Λόγω της μεγαλύτερης εμβέλειάς τους, είναι βολικά για χρήση σε πληρωμένα πάρκινγκ: ο οδηγός δεν χρειάζεται να φέρει την κάρτα κοντά στον αναγνώστη, καθώς ενεργοποιείται από μεγαλύτερη απόσταση. Ταυτόχρονα, τα χαμηλής συχνότητας tags είναι πολύ πρωτόγονα, έχουν χαμηλό ρυθμό μεταφοράς δεδομένων. Για αυτόν τον λόγο, είναι αδύνατο να υλοποιηθεί πολύπλοκη αμφίδρομη μεταφορά δεδομένων για πράγματα όπως η διατήρηση υπολοίπου και η κρυπτογραφία. Τα χαμηλής συχνότητας tags μεταδίδουν μόνο το σύντομο ID τους χωρίς κανένα μέσο αυθεντικοποίησης.

Αυτές οι συσκευές βασίζονται στην παθητική RFID τεχνολογία και λειτουργούν σε εύρος 30 kHz έως 300 kHz, αν και είναι πιο συνηθισμένο να χρησιμοποιούνται 125 kHz έως 134 kHz:

  • Μεγάλη Εμβέλεια — η χαμηλότερη συχνότητα μεταφράζεται σε μεγαλύτερη εμβέλεια. Υπάρχουν μερικοί αναγνώστες EM-Marin και HID, οι οποίοι λειτουργούν από απόσταση έως και ενός μέτρου. Αυτοί χρησιμοποιούνται συχνά σε πάρκινγκ αυτοκινήτων.

  • Πρωτόκολλο πρωτόγονο — λόγω του χαμηλού ρυθμού μεταφοράς δεδομένων, αυτά τα tags μπορούν να μεταδώσουν μόνο το σύντομο ID τους. Στις περισσότερες περιπτώσεις, τα δεδομένα δεν είναι αυθεντικοποιημένα και δεν προστατεύονται με κανέναν τρόπο. Μόλις η κάρτα είναι εντός της εμβέλειας του αναγνώστη, αρχίζει απλώς να μεταδίδει το ID της.

  • Χαμηλή ασφάλεια — Αυτές οι κάρτες μπορούν να αντιγραφούν εύκολα, ή ακόμη και να διαβαστούν από την τσέπη κάποιου άλλου λόγω της πρωτογονίας του πρωτοκόλλου.

Δημοφιλή πρωτόκολλα 125 kHz:

  • EM-Marin — EM4100, EM4102. Το πιο δημοφιλές πρωτόκολλο στην ΚΑΚ. Μπορεί να διαβαστεί από περίπου ένα μέτρο λόγω της απλότητάς του και της σταθερότητάς του.

  • HID Prox II — χαμηλής συχνότητας πρωτόκολλο που εισήχθη από την HID Global. Αυτό το πρωτόκολλο είναι πιο δημοφιλές στις δυτικές χώρες. Είναι πιο πολύπλοκο και οι κάρτες και οι αναγνώστες για αυτό το πρωτόκολλο είναι σχετικά ακριβοί.

  • Indala — πολύ παλιό χαμηλής συχνότητας πρωτόκολλο που εισήχθη από την Motorola και αργότερα αποκτήθηκε από την HID. Είναι λιγότερο πιθανό να το συναντήσετε στην πραγματικότητα σε σύγκριση με τα προηγούμενα δύο, καθώς βγαίνει από τη χρήση.

Στην πραγματικότητα, υπάρχουν πολύ περισσότερα χαμηλής συχνότητας πρωτόκολλα. Αλλά όλα χρησιμοποιούν την ίδια διαμόρφωση στο φυσικό επίπεδο και μπορεί να θεωρηθούν, με έναν ή άλλο τρόπο, παραλλαγές αυτών που αναφέρονται παραπάνω.

Επίθεση

Μπορείτε να επιτεθείτε σε αυτά τα Tags με το Flipper Zero:

FZ - 125kHz RFID

Υψηλής Συχνότητας RFID Tags (13.56 MHz)

Τα υψηλής συχνότητας tags χρησιμοποιούνται για μια πιο πολύπλοκη αλληλεπίδραση αναγνώστη-tag όταν χρειάζεστε κρυπτογραφία, μεγάλη αμφίδρομη μεταφορά δεδομένων, αυθεντικοποίηση, κ.λπ. Συνήθως βρίσκονται σε τραπεζικές κάρτες, δημόσιες συγκοινωνίες και άλλες ασφαλείς κάρτες.

Τα υψηλής συχνότητας 13.56 MHz tags είναι ένα σύνολο προτύπων και πρωτοκόλλων. Συνήθως αναφέρονται ως NFC, αλλά αυτό δεν είναι πάντα σωστό. Το βασικό σύνολο πρωτοκόλλων που χρησιμοποιείται σε φυσικό και λογικό επίπεδο είναι το ISO 14443. Τα πρωτόκολλα υψηλού επιπέδου, καθώς και τα εναλλακτικά πρότυπα (όπως το ISO 19092), βασίζονται σε αυτό. Πολλοί άνθρωποι αναφέρονται σε αυτήν την τεχνολογία ως Επικοινωνία κοντινής εμβέλειας (NFC), ένας όρος για συσκευές που λειτουργούν στη συχνότητα 13.56 MHz.

Για να το θέσουμε απλά, η αρχιτεκτονική του NFC λειτουργεί ως εξής: το πρωτόκολλο μετάδοσης επιλέγεται από την εταιρεία που κατασκευάζει τις κάρτες και υλοποιείται με βάση το χαμηλού επιπέδου ISO 14443. Για παράδειγμα, η NXP εφηύρε το δικό της πρωτόκολλο μετάδοσης υψηλού επιπέδου που ονομάζεται Mifare. Αλλά σε χαμηλότερο επίπεδο, οι κάρτες Mifare βασίζονται στο πρότυπο ISO 14443-A.

Το Flipper μπορεί να αλληλεπιδράσει τόσο με το πρωτόκολλο ISO 14443 χαμηλού επιπέδου, όσο και με το πρωτόκολλο μεταφοράς δεδομένων Mifare Ultralight και EMV που χρησιμοποιούνται σε τραπεζικές κάρτες. Εργαζόμαστε για την προσθήκη υποστήριξης για Mifare Classic και NFC NDEF. Μια λεπτομερής ματιά στα πρωτόκολλα και τα πρότυπα που συνθέτουν το NFC αξίζει ένα ξεχωριστό άρθρο το οποίο σχεδιάζουμε να δημοσιεύσουμε αργότερα.

Όλες οι κάρτες υψηλής συχνότητας που βασίζονται στο πρότυπο ISO 14443-A έχουν έναν μοναδικό αναγνωριστικό τσιπ. Λειτουργεί ως ο σειριακός αριθμός της κάρτας, όπως η διεύθυνση MAC μιας κάρτας δικτύου. Συνήθως, το UID είναι 4 ή 7 bytes, αλλά σπάνια μπορεί να φτάσει έως 10. Τα UIDs δεν είναι μυστικά και είναι εύκολα αναγνώσιμα, μερικές φορές ακόμη και εκτυπωμένα στην κάρτα.

Υπάρχουν πολλά συστήματα ελέγχου πρόσβασης που βασίζονται στο UID για να αυθεντικοποιούν και να παρέχουν πρόσβαση. Μερικές φορές αυτό συμβαίνει ακόμη και όταν τα RFID tags υποστηρίζουν κρυπτογραφία. Αυτή η κακή χρήση τα κατεβάζει στο επίπεδο των ανόητων 125 kHz καρτών όσον αφορά την ασφάλεια. Οι εικονικές κάρτες (όπως το Apple Pay) χρησιμοποιούν ένα δυναμικό UID ώστε οι κάτοχοι τηλεφώνων να μην μπορούν να ανοίγουν πόρτες με την εφαρμογή πληρωμών τους.

  • Χαμηλή εμβέλεια — οι κάρτες υψηλής συχνότητας σχεδιάζονται ειδικά ώστε να πρέπει να τοποθετούνται κοντά στον αναγνώστη. Αυτό βοηθά επίσης στην προστασία της κάρτας από μη εξουσιοδοτημένες αλληλεπιδράσεις. Η μέγιστη εμβέλεια ανάγνωσης που καταφέραμε να επιτύχουμε ήταν περίπου 15 cm, και αυτό ήταν με αναγνώστες υψηλής εμβέλειας που κατασκευάστηκαν ειδικά.

  • Προηγμένα πρωτόκολλα — οι ταχύτητες μεταφοράς δεδομένων έως 424 kbps επιτρέπουν πολύπλοκα πρωτόκολλα με πλήρη αμφίδρομη μεταφορά δεδομένων. Πράγμα που με τη σειρά του επιτρέπει κρυπτογραφία, μεταφορά δεδομένων, κ.λπ.

  • Υψηλή ασφάλεια — οι κάρτες επαφής υψηλής συχνότητας δεν υστερούν σε τίποτα σε σχέση με τις έξυπνες κάρτες. Υπάρχουν κάρτες που υποστηρίζουν κρυπτογραφικά ισχυρούς αλγόριθμους όπως το AES και υλοποιούν ασύμμετρη κρυπτογραφία.

Επίθεση

Μπορείτε να επιτεθείτε σε αυτά τα Tags με το Flipper Zero:

FZ - NFC

Ή χρησιμοποιώντας το proxmark:

Proxmark 3

Αναφορές

Υποστήριξη HackTricks

Last updated