12 KiB
Pentesting BLE - Bluetooth Low Energy
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.
Εισαγωγή
Διαθέσιμο από την προδιαγραφή Bluetooth 4.0, το BLE χρησιμοποιεί μόνο 40 κανάλια, καλύπτοντας την περιοχή από 2400 έως 2483,5 MHz. Αντίθετα, το παραδοσιακό Bluetooth χρησιμοποιεί 79 κανάλια στην ίδια περιοχή.
Οι συσκευές BLE επικοινωνούν αποστέλλοντας πακέτα διαφήμισης (beacons), αυτά τα πακέτα εκπέμπουν την ύπαρξη της συσκευής BLE σε άλλες κοντινές συσκευές. Αυτά τα beacons κάποιες φορές αποστέλλουν δεδομένα επίσης.
Η συσκευή που ακούει, επίσης ονομάζεται κεντρική συσκευή, μπορεί να απαντήσει σε ένα πακέτο διαφήμισης με ένα αίτημα SCAN που αποστέλλεται ειδικά στη συσκευή διαφήμισης. Η απάντηση σε αυτήν τη σάρωση χρησιμοποιεί την ίδια δομή με το πακέτο διαφήμισης με επιπλέον πληροφορίες που δεν μπορούσαν να χωρέσουν στο αρχικό αίτημα διαφήμισης, όπως το πλήρες όνομα της συσκευής.
Το byte προαμβλής συγχρονίζει τη συχνότητα, ενώ η τετραμελής διεύθυνση πρόσβασης είναι ένας αναγνωριστής σύνδεσης, που χρησιμοποιείται σε περιπτώσεις όπου πολλές συσκευές προσπαθούν να καθιερώσουν συνδέσεις στα ίδια κανάλια. Στη συνέχεια, η μονάδα δεδομένων πρωτοκόλλου (PDU) περιέχει τα δεδομένα διαφήμισης. Υπάρχουν αρκετοί τύποι PDU, οι πιο συνηθισμένοι είναι οι ADV_NONCONN_IND και ADV_IND. Οι συσκευές χρησιμοποιούν τον τύπο PDU ADV_NONCONN_IND εάν δεν αποδέχονται συνδέσεις, μεταδίδοντας δεδομένα μόνο στο πακέτο διαφήμισης. Οι συσκευές χρησιμοποιούν τον ADV_IND εάν επιτρέπουν συνδέσεις και σταματούν να αποστέλλουν πακέτα διαφήμισης μόλις έχει καθιερωθεί μια σύνδεση.
GATT
Το Generic Attribute Profile (GATT) καθορίζει τον τρόπο με τον οποίο η συσκευή πρέπει να μορφοποιεί και να μεταφέρει δεδομένα. Όταν αναλύετε την επιθετική επιφάνεια μιας συσκευής BLE, συχνά θα επικεντρωθείτε στο GATT (ή GATTs), επειδή είναι ο τρόπος με τον οποίο ενεργοποιείται η λειτουργικότητα της συσκευής και πώς τα δεδομένα αποθηκεύονται, ομαδοποιούνται και τροποποιούνται. Το GATT καταγράφει τα χαρακτηριστικά, τις περιγραφές και τις υπηρεσίες μιας συσκευής σε μια πίνακα ως τιμές 16 ή 32 bits. Ένα χαρακτηριστικό είναι μια τιμή δεδομένων που αποστέλλεται μεταξύ της κεντρικής συσκευής και της περιφερειακής. Αυτά τα χαρακτηριστικά μπορούν να έχουν περιγραφείς που παρέχουν επιπλέον πληροφορίες για αυτά. Τα χαρακτηριστικά συχνά ομαδοποιούνται σε υπηρεσίες εάν σχετίζονται με την εκτέλεση μιας συγκεκριμένης ενέργειας.
Απαρίθμηση
hciconfig #Check config, check if UP or DOWN
# If DOWN try:
sudo modprobe -c bluetooth
sudo hciconfig hci0 down && sudo hciconfig hci0 up
# Spoof MAC
spooftooph -i hci0 -a 11:22:33:44:55:66
GATTool
Το GATTool επιτρέπει να καθιερώσετε μια σύνδεση με ένα άλλο συσκευή, να εμφανίσετε τα χαρακτηριστικά αυτής της συσκευής και να διαβάσετε και να γράψετε τα χαρακτηριστικά της.
Το GATTTool μπορεί να εκκινήσει ένα διαδραστικό κέλυφος με την επιλογή -I
:
gatttool -i hci0 -I
[ ][LE]> connect 24:62:AB:B1:A8:3E Attempting to connect to A4:CF:12:6C:B3:76 Connection successful
[A4:CF:12:6C:B3:76][LE]> characteristics
handle: 0x0002, char properties: 0x20, char value handle:
0x0003, uuid: 00002a05-0000-1000-8000-00805f9b34fb
handle: 0x0015, char properties: 0x02, char value handle:
0x0016, uuid: 00002a00-0000-1000-8000-00805f9b34fb
[...]
# Write data
gatttool -i <Bluetooth adapter interface> -b <MAC address of device> --char-write-req <characteristic handle> -n <value>
gatttool -b a4:cf:12:6c:b3:76 --char-write-req -a 0x002e -n $(echo -n "04dc54d9053b4307680a"|xxd -ps)
# Read data
gatttool -i <Bluetooth adapter interface> -b <MAC address of device> --char-read -a 0x16
# Read connecting with an authenticated encrypted connection
gatttool --sec-level=high -b a4:cf:12:6c:b3:76 --char-read -a 0x002c
Bettercap
Το Bettercap είναι ένα ισχυρό εργαλείο για τον εντοπισμό και την εκμετάλλευση ευπάθειών σε συσκευές Bluetooth Low Energy (BLE). Μπορεί να χρησιμοποιηθεί για την πραγματοποίηση επιθέσεων man-in-the-middle, την παρακολούθηση κίνησης και την ανάλυση πρωτοκόλλων BLE.
Για να χρησιμοποιήσετε το Bettercap για την επίθεση σε συσκευές BLE, πρέπει να εκτελέσετε τις παρακάτω εντολές:
bettercap
Αυτή η εντολή θα εκκινήσει το Bettercap και θα σας επιτρέψει να εκτελέσετε διάφορες επιθέσεις και εργαλεία που παρέχει. Μπορείτε να χρησιμοποιήσετε την εντολή help
για να δείτε τις διαθέσιμες επιθέσεις και εργαλεία.
Για παράδειγμα, μπορείτε να χρησιμοποιήσετε την εντολή ble.recon on
για να ξεκινήσετε την ανίχνευση συσκευών BLE στην περιοχή σας. Μετά την ανίχνευση, μπορείτε να χρησιμοποιήσετε την εντολή ble.enum
για να εμφανίσετε λεπτομερείς πληροφορίες για τις ανιχνευμένες συσκευές.
Το Bettercap παρέχει επίσης εργαλεία για την εκτέλεση επιθέσεων man-in-the-middle σε συσκευές BLE. Μπορείτε να χρησιμοποιήσετε την εντολή ble.replay
για να αναπαράγετε πακέτα BLE και να παρακολουθείτε την επικοινωνία μεταξύ των συσκευών.
Το Bettercap είναι ένα ισχυρό εργαλείο για την επίθεση σε συσκευές BLE και την ανάλυση πρωτοκόλλων. Με την κατάλληλη χρήση και την κατανόηση των δυνατοτήτων του, μπορείτε να εκμεταλλευτείτε ευπάθειες και να αποκτήσετε πρόσβαση σε συσκευές BLE.
# Start listening for beacons
sudo bettercap --eval "ble.recon on"
# Wait some time
>> ble.show # Show discovered devices
>> ble.enum <mac addr> # This will show the service, characteristics and properties supported
# Write data in a characteristic
>> ble.write <MAC ADDR> <UUID> <HEX DATA>
>> ble.write <mac address of device> ff06 68656c6c6f # Write "hello" in ff06
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.