Pentesting BLE - Bluetooth Low Energy
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Διαθέσιμο από την προδιαγραφή Bluetooth 4.0, το BLE χρησιμοποιεί μόνο 40 κανάλια, καλύπτοντας τη συχνότητα από 2400 έως 2483.5 MHz. Σε αντίθεση, το παραδοσιακό Bluetooth χρησιμοποιεί 79 κανάλια σε αυτή την ίδια περιοχή.
Οι συσκευές BLE επικοινωνούν στέλνοντας διαφημιστικά πακέτα (beacons), αυτά τα πακέτα μεταδίδουν την ύπαρξη της συσκευής BLE σε άλλες κοντινές συσκευές. Αυτά τα beacons μερικές φορές στέλνουν δεδομένα επίσης.
Η συσκευή που ακούει, που ονομάζεται επίσης κεντρική συσκευή, μπορεί να απαντήσει σε ένα διαφημιστικό πακέτο με ένα αίτημα SCAN που αποστέλλεται ειδικά στη διαφημιστική συσκευή. Η απάντηση σε αυτή την σάρωση χρησιμοποιεί την ίδια δομή με το διαφημιστικό πακέτο με επιπλέον πληροφορίες που δεν μπορούσαν να χωρέσουν στην αρχική διαφημιστική αίτηση, όπως το πλήρες όνομα της συσκευής.
Ο προοίμιος byte συγχρονίζει τη συχνότητα, ενώ η διεύθυνση πρόσβασης τεσσάρων byte είναι ένας αναγνωριστικός αριθμός σύνδεσης, ο οποίος χρησιμοποιείται σε σενάρια όπου πολλές συσκευές προσπαθούν να δημιουργήσουν συνδέσεις στα ίδια κανάλια. Στη συνέχεια, η Μονάδα Δεδομένων Πρωτοκόλλου (PDU) περιέχει τα διαφημιστικά δεδομένα. Υπάρχουν αρκετοί τύποι PDU; οι πιο συχνά χρησιμοποιούμενοι είναι οι ADV_NONCONN_IND και ADV_IND. Οι συσκευές χρησιμοποιούν τον τύπο PDU ADV_NONCONN_IND αν δεν δέχονται συνδέσεις, μεταδίδοντας δεδομένα μόνο στο διαφημιστικό πακέτο. Οι συσκευές χρησιμοποιούν ADV_IND αν επιτρέπουν συνδέσεις και σταματούν να στέλνουν διαφημιστικά πακέτα μόλις έχει δημιουργηθεί μια σύνδεση.
Το Generic Attribute Profile (GATT) καθορίζει πώς θα μορφοποιεί και θα μεταφέρει δεδομένα η συσκευή. Όταν αναλύετε την επιφάνεια επίθεσης μιας συσκευής BLE, συχνά θα εστιάσετε την προσοχή σας στο GATT (ή GATTs), γιατί είναι ο τρόπος με τον οποίο ενεργοποιείται η λειτουργικότητα της συσκευής και πώς αποθηκεύονται, ομαδοποιούνται και τροποποιούνται τα δεδομένα. Το GATT απαριθμεί τα χαρακτηριστικά, τους περιγραφείς και τις υπηρεσίες μιας συσκευής σε έναν πίνακα ως τιμές 16 ή 32 bit. Ένα χαρακτηριστικό είναι μια τιμή δεδομένων που στέλνεται μεταξύ της κεντρικής συσκευής και της περιφερειακής. Αυτά τα χαρακτηριστικά μπορούν να έχουν περιγραφείς που παρέχουν επιπλέον πληροφορίες γι' αυτά. Τα χαρακτηριστικά συχνά ομαδοποιούνται σε υπηρεσίες αν σχετίζονται με την εκτέλεση μιας συγκεκριμένης ενέργειας.
GATTool επιτρέπει να δημιουργηθεί μια σύνδεση με μια άλλη συσκευή, καταγράφοντας τις χαρακτηριστικές αυτής της συσκευής και διαβάζοντας και γράφοντας τα χαρακτηριστικά της.
GATTTool μπορεί να εκκινήσει μια διαδραστική κονσόλα με την επιλογή -I
:
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)