Sub-GHz RF
Last updated
Last updated
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Οι ανοιχτήρες γκαραζόπορτας λειτουργούν συνήθως σε συχνότητες στην περιοχή 300-190 MHz, με τις πιο κοινές συχνότητες να είναι 300 MHz, 310 MHz, 315 MHz και 390 MHz. Αυτή η περιοχή συχνοτήτων χρησιμοποιείται συχνά για ανοιχτήρες γκαραζόπορτας επειδή είναι λιγότερο κορεσμένη από άλλες ζώνες συχνοτήτων και είναι λιγότερο πιθανό να υποστεί παρεμβολές από άλλες συσκευές.
Οι περισσότερες συσκευές κλειδώματος αυτοκινήτου λειτουργούν είτε σε 315 MHz είτε σε 433 MHz. Αυτές είναι και οι δύο ραδιοσυχνότητες και χρησιμοποιούνται σε διάφορες εφαρμογές. Η κύρια διαφορά μεταξύ των δύο συχνοτήτων είναι ότι η 433 MHz έχει μεγαλύτερη εμβέλεια από την 315 MHz. Αυτό σημαίνει ότι η 433 MHz είναι καλύτερη για εφαρμογές που απαιτούν μεγαλύτερη εμβέλεια, όπως η απομακρυσμένη είσοδος χωρίς κλειδί. Στην Ευρώπη χρησιμοποιείται συνήθως η 433.92MHz και στις Η.Π.Α. και την Ιαπωνία είναι η 315MHz.
Εάν αντί να στείλετε κάθε κωδικό 5 φορές (στάλθηκε έτσι για να διασφαλιστεί ότι ο δέκτης τον λαμβάνει) στείλετε μόνο μία φορά, ο χρόνος μειώνεται σε 6 λεπτά:
και αν αφαιρέσετε την περίοδο αναμονής 2 ms μεταξύ των σημάτων μπορείτε να μειώσετε τον χρόνο σε 3 λεπτά.
Επιπλέον, χρησιμοποιώντας την Ακολουθία De Bruijn (ένας τρόπος για να μειωθεί ο αριθμός των bits που χρειάζονται για να σταλούν όλοι οι δυαδικοί αριθμοί για brute force) αυτός ο χρόνος μειώνεται μόλις σε 8 δευτερόλεπτα:
Παράδειγμα αυτής της επίθεσης έχει υλοποιηθεί στο https://github.com/samyk/opensesame
Η απαίτηση προακολουθίας θα αποτρέψει την βελτιστοποίηση της Ακολουθίας De Bruijn και οι κυλιόμενοι κωδικοί θα αποτρέψουν αυτή την επίθεση (υποθέτοντας ότι ο κωδικός είναι αρκετά μεγάλος ώστε να μην είναι brute forceable).
Για να επιτεθείτε σε αυτά τα σήματα με το Flipper Zero ελέγξτε:
Οι αυτόματοι ανοιχτήρες γκαραζόπορτας χρησιμοποιούν συνήθως έναν ασύρματο τηλεχειριστήριο για να ανοίγουν και να κλείνουν την γκαραζόπορτα. Το τηλεχειριστήριο στέλνει ένα σήμα ραδιοσυχνότητας (RF) στον ανοιχτήρα γκαραζόπορτας, το οποίο ενεργοποιεί τον κινητήρα για να ανοίξει ή να κλείσει την πόρτα.
Είναι δυνατόν για κάποιον να χρησιμοποιήσει μια συσκευή γνωστή ως code grabber για να παρεμποδίσει το σήμα RF και να το καταγράψει για μελλοντική χρήση. Αυτό είναι γνωστό ως επανάληψη επίθεσης. Για να αποτραπεί αυτός ο τύπος επίθεσης, πολλοί σύγχρονοι ανοιχτήρες γκαραζόπορτας χρησιμοποιούν μια πιο ασφαλή μέθοδο κρυπτογράφησης γνωστή ως σύστημα κυλιόμενου κωδικού.
Το σήμα RF μεταδίδεται συνήθως χρησιμοποιώντας έναν κυλιόμενο κωδικό, που σημαίνει ότι ο κωδικός αλλάζει με κάθε χρήση. Αυτό καθιστά δύσκολο για κάποιον να παρεμποδίσει το σήμα και να χρησιμοποιήσει αυτό για να αποκτήσει μη εξουσιοδοτημένη πρόσβαση στην γκαραζόπορτα.
Σε ένα σύστημα κυλιόμενου κωδικού, το τηλεχειριστήριο και ο ανοιχτήρας γκαραζόπορτας έχουν έναν κοινό αλγόριθμο που παράγει έναν νέο κωδικό κάθε φορά που χρησιμοποιείται το τηλεχειριστήριο. Ο ανοιχτήρας γκαραζόπορτας θα απαντήσει μόνο στον σωστό κωδικό, καθιστώντας πολύ πιο δύσκολο για κάποιον να αποκτήσει μη εξουσιοδοτημένη πρόσβαση στην γκαραζόπορτα απλά καταγράφοντας έναν κωδικό.
Βασικά, ακούτε το κουμπί και καταγράφετε το σήμα ενώ το τηλεχειριστήριο είναι εκτός εμβέλειας της συσκευής (ας πούμε του αυτοκινήτου ή της γκαραζόπορτας). Στη συνέχεια, μετακινείστε στη συσκευή και χρησιμοποιείτε τον καταγεγραμμένο κωδικό για να την ανοίξετε.
Ένας επιτιθέμενος θα μπορούσε να παρεμποδίσει το σήμα κοντά στο όχημα ή τον δέκτη έτσι ώστε ο δέκτης να μην μπορεί πραγματικά να ‘ακούσει’ τον κωδικό, και μόλις συμβαίνει αυτό μπορείτε απλά να καταγράψετε και να επαναλάβετε τον κωδικό όταν έχετε σταματήσει την παρεμπόδιση.
Το θύμα σε κάποιο σημείο θα χρησιμοποιήσει τα κλειδιά για να κλειδώσει το αυτοκίνητο, αλλά τότε η επίθεση θα έχει καταγράψει αρκετούς "κωδικούς κλειδώματος" που ελπίζουμε να μπορούν να ξανασταλούν για να ανοίξουν την πόρτα (μια αλλαγή συχνότητας μπορεί να είναι απαραίτητη καθώς υπάρχουν αυτοκίνητα που χρησιμοποιούν τους ίδιους κωδικούς για να ανοίγουν και να κλείνουν αλλά ακούνε και τις δύο εντολές σε διαφορετικές συχνότητες).
Η παρεμπόδιση λειτουργεί, αλλά είναι αισθητή καθώς αν ο άνθρωπος που κλειδώνει το αυτοκίνητο απλά δοκιμάσει τις πόρτες για να διασφαλίσει ότι είναι κλειδωμένες θα παρατηρήσει ότι το αυτοκίνητο είναι ξεκλείδωτο. Επιπλέον, αν ήταν ενήμερος για τέτοιες επιθέσεις θα μπορούσε ακόμη και να ακούσει το γεγονός ότι οι πόρτες δεν έκαναν ποτέ τον ήχο κλειδώματος ή τα φώτα του αυτοκινήτου δεν αναβόσβησαν ποτέ όταν πάτησε το κουμπί ‘κλειδώματος’.
Αυτή είναι μια πιο διακριτική τεχνική παρεμπόδισης. Ο επιτιθέμενος θα παρεμποδίσει το σήμα, έτσι όταν το θύμα προσπαθήσει να κλειδώσει την πόρτα δεν θα λειτουργήσει, αλλά ο επιτιθέμενος θα καταγράψει αυτόν τον κωδικό. Στη συνέχεια, το θύμα θα προσπαθήσει να κλειδώσει το αυτοκίνητο ξανά πατώντας το κουμπί και το αυτοκίνητο θα καταγράψει αυτόν τον δεύτερο κωδικό. Αμέσως μετά αυτό, ο επιτιθέμενος μπορεί να στείλει τον πρώτο κωδικό και το αυτοκίνητο θα κλειδώσει (το θύμα θα νομίζει ότι η δεύτερη πίεση το έκλεισε). Στη συνέχεια, ο επιτιθέμενος θα μπορεί να στείλει τον δεύτερο κλεμμένο κωδικό για να ανοίξει το αυτοκίνητο (υποθέτοντας ότι ένας κωδικός "κλειδώματος αυτοκινήτου" μπορεί επίσης να χρησιμοποιηθεί για να το ανοίξει). Μια αλλαγή συχνότητας μπορεί να είναι απαραίτητη (καθώς υπάρχουν αυτοκίνητα που χρησιμοποιούν τους ίδιους κωδικούς για να ανοίγουν και να κλείνουν αλλά ακούνε και τις δύο εντολές σε διαφορετικές συχνότητες).
Ο επιτιθέμενος μπορεί να παρεμποδίσει τον δέκτη του αυτοκινήτου και όχι τον δικό του δέκτη γιατί αν ο δέκτης του αυτοκινήτου ακούει για παράδειγμα σε ένα 1MHz broadband, ο επιτιθέμενος δεν θα παρεμποδίσει την ακριβή συχνότητα που χρησιμοποιείται από το τηλεχειριστήριο αλλά μια κοντινή σε αυτό το φάσμα ενώ ο δέκτης του επιτιθέμενου θα ακούει σε μια μικρότερη εμβέλεια όπου μπορεί να ακούσει το σήμα του τηλεχειριστηρίου χωρίς το σήμα παρεμπόδισης.
Άλλες υλοποιήσεις που έχουν παρατηρηθεί σε προδιαγραφές δείχνουν ότι ο κυλιόμενος κωδικός είναι ένα τμήμα του συνολικού κωδικού που αποστέλλεται. Δηλαδή, ο κωδικός που αποστέλλεται είναι ένα 24 bit key όπου τα πρώτα 12 είναι ο κυλιόμενος κωδικός, τα δεύτερα 8 είναι η εντολή (όπως κλείδωμα ή ξεκλείδωμα) και τα τελευταία 4 είναι το checksum. Τα οχήματα που υλοποιούν αυτόν τον τύπο είναι επίσης φυσικά ευάλωτα καθώς ο επιτιθέμενος χρειάζεται απλώς να αντικαταστήσει το τμήμα του κυλιόμενου κωδικού για να μπορέσει να χρησιμοποιήσει οποιονδήποτε κυλιόμενο κωδικό και στις δύο συχνότητες.
Σημειώστε ότι αν το θύμα στείλει έναν τρίτο κωδικό ενώ ο επιτιθέμενος στέλνει τον πρώτο, ο πρώτος και ο δεύτερος κωδικός θα ακυρωθούν.
Δοκιμάζοντας έναν aftermarket κυλιόμενο κωδικό σύστημα εγκατεστημένο σε ένα αυτοκίνητο, η αποστολή του ίδιου κωδικού δύο φορές αμέσως ενεργοποίησε τον συναγερμό και τον ακινητοποιητή παρέχοντας μια μοναδική ευκαιρία άρνησης υπηρεσίας. Σαρκαστικά, ο τρόπος απενεργοποίησης του συναγερμού και του ακινητοποιητή ήταν να πατήσετε το τηλεχειριστήριο, παρέχοντας στον επιτιθέμενο τη δυνατότητα να εκτελεί συνεχώς επίθεση DoS. Ή να συνδυάσει αυτή την επίθεση με την προηγούμενη για να αποκτήσει περισσότερους κωδικούς καθώς το θύμα θα ήθελε να σταματήσει την επίθεση το συντομότερο δυνατό.
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)