Pentesting RFID

Reading time: 9 minutes

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το 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 Χαμηλής & Υψηλής Συχνότητας

Tags Χαμηλής Συχνότητας RFID (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

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

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

Τα tags υψηλής συχνότητας 13.56 MHz είναι ένα σύνολο προτύπων και πρωτοκόλλων. Συνήθως αναφέρονται ως 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

Αναφορές

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks