Το Bluetooth είναι ένα πρωτόκολλο που χρησιμοποιείται για την επικοινωνία μεταξύ συσκευών σε κοντινή απόσταση ή σε ένα piconet, όπως είναι τα ηχεία, τα ακουστικά και τα κινητά τηλέφωνα. Εάν ένας επιτιθέμενος μπορέσει να εκμεταλλευτεί το Bluetooth, μπορεί να καταφέρει να πάρει τον έλεγχο ή να υποκλέψει οποιαδήποτε από αυτές τις συσκευές.
Υπάρχουν πολλές κατηγορίες συσκευών Bluetooth. Αυτές οι διαφορετικές κατηγορίες ανακοινώνονται στη συνδεδεμένη συσκευή μέσω του banner. Σε προηγούμενα άρθρα, έχουμε συζητήσει πιθανώς την πιο σημαντική κατηγορία για την εκμετάλλευση συσκευών Bluetooth, την κατηγορία HID. Αυτή η κατηγορία συσκευών είναι γνωστή ως Human Interface Devices και περιλαμβάνει αντικείμενα όπως ποντίκια και πληκτρολόγια Bluetooth. Αυτές είναι οι συσκευές που επιτρέπεται να στέλνουν εισόδους στη συσκευή με δυνατότητα Bluetooth που είναι απαραίτητες για τη σωστή λειτουργία των πληκτρολογίων και των ποντικιών.
Ας ρίξουμε μια ματιά σε αυτό το εργαλείο και να δούμε τι μπορεί να κάνει.
Table of Contents
Βήμα # 1: Κατεβάστε και εγκαταστήστε το BlueDucky
Για να εγκαταστήσουμε το BlueDucky, πρέπει να κάνουμε μερικά βήματα για να προετοιμάσουμε το σύστημά μας.
Πρώτα, ενημερώστε την cache του apt.
kali > sudo apt update
Στη συνέχεια, εγκαταστήστε τις απαραίτητες εξαρτήσεις από το αποθετήριο του Kali.
kali > sudo apt install -y bluez-tools bluez-hcidump libbluetooth-dev git gcc python3-pip python3-setuptools python3-pydbus
Τώρα πρέπει να κατεβάσουμε το bluez από το github.com. Αν έχετε παρακολουθήσει τα προηγούμενα άρθρα μου για το Bluetooth, πιθανόν να το έχετε ήδη κατεβάσει.
kali > git clone https://github.com/pybluez/pybluez.git
Τώρα, μεταβείτε στον νέο κατάλογο, που ονομάζεται pybluez.
kali > cd pybluez
Τώρα πρέπει να εκτελέσετε το script εγκατάστασης για το bluez.
kali > python3setup.py install
Στη συνέχεια, πρέπει να κατασκευάσετε το bdaddr από τον πηγαίο κώδικα. Το bdaddr μας επιτρέπει να ορίσουμε τη διεύθυνση της τοπικής συσκευής Bluetooth.
kali > cd ~
kali > git clone –depth=1 https://github.com/bluez/bluez.git
kali > gcc -o bdaddr ~/bluez/tools/bdaddr.c ~/bluez/src/oui.c -I ~/bluez -lbluetooth
Τώρα, ας αντιγράψουμε το bdaddr στον τοπικό μας κατάλογο εκτελέσιμων αρχείων (/usr/local/bin), ώστε να μπορούμε να το χρησιμοποιούμε στο script μας από οπουδήποτε (ο κατάλογος /usr/local/bin είναι στη μεταβλητή περιβάλλοντος PATH του Linux).
kali > sudo cp bdaddr /usr/local/bin
Τέλος, πρέπει να κατεβάσουμε το BlueDucky από το GitHub.
kali > git clone https://github.com/pentestfunctions/BlueDucky.git
kali > cd BlueDucky
kali > sudo hciconfig hci0 up
Βήμα #2: Εκτελέστε το BlueDucky
Τώρα που έχουμε εγκαταστήσει όλα τα απαραίτητα στοιχεία για να εκτελέσουμε το BlueDucky, ας το δοκιμάσουμε. Εάν το εκτελείτε από ένα σύστημα με εξωτερικό προσαρτήσιμο αντάπτορα Bluetooth, όπως κάνω εγώ, πιθανότατα θα χρειαστεί να κάνετε μια μικρή αλλαγή στο Python script. Το BlueDucky, από προεπιλογή, χρησιμοποιεί το hci0 για τη σάρωση των συσκευών Bluetooth. Εάν έχετε προσθέσει έναν εξωτερικό αντάπτορα Bluetooth, πιθανόν να αναγνωρίζεται ως hci1. Μπορούμε να διορθώσουμε αυτό απλώς ανοίγοντας το script στον αγαπημένο σας επεξεργαστή κειμένου και αλλάζοντας την προεπιλεγμένη τιμή σε hci1. Εδώ χρησιμοποίησα τον προεπιλεγμένο επεξεργαστή κειμένου GUI στο Kali, το mousepad.
kali > sudo mousepad BlueDucky.py
Τώρα, πηγαίνετε και αποθηκεύστε το αρχείο αυτό. Βεβαιωθείτε ότι έχετε δώσει τα απαραίτητα δικαιώματα εκτέλεσης.
kali > sudo chmod 755 BlueDucky.py
Είναι καλή ιδέα τώρα να ελέγξετε και να βεβαιωθείτε ότι ο αντάπτορας Bluetooth σας είναι ενεργοποιημένος και λειτουργεί σωστά.
kali > hciconfig hci1 up
Αν ο αντάπτοράς σας λειτουργεί κανονικά, είναι ώρα να ξεκινήσετε το BlueDucky!
kali > sudo python3BlueDucky.py
Αν γνωρίζετε τη διεύθυνση MAC της συσκευής, μπορείτε να την εισάγετε εδώ. Αν όχι, απλώς πατήστε ENTER και το BlueDucky θα σαρώσει για διαθέσιμες διευθύνσεις MAC.
Σε αυτό το σημείο, μπορείτε να εισάγετε “yes” και στη συνέχεια τον αριθμό της συσκευής. Επέλεξα το “4”, το Samsung Galaxy Note10+.
Στη συνέχεια, θα σας ρωτήσει ποιο payload θέλετε να χρησιμοποιήσετε. Υπάρχουν δύο διαθέσιμα payloads από προεπιλογή (μπορείτε να δημιουργήσετε το δικό σας και να το τοποθετήσετε στον κατάλογο payloads).
Άνοιξα το αρχείο payload_example_1.txt στον επεξεργαστή κειμένου και έχω επεξεργαστεί τη γραμμή 13 για να ανοίξει τον ιστότοπο iguru.gr στο τηλέφωνο στόχο.
Όταν πατήσω ENTER, το BlueDucky συνδέεται στον στόχο Android τηλέφωνο και ανοίγει τον ιστότοπο.
Φυσικά, μπορείτε να στείλετε αμέτρητες αυθαίρετες εντολές ή ιστότοπους απλά επεξεργαζόμενοι τα αρχεία payloads.
Συνοψίζοντας
Οι συσκευές που είναι ενεργοποιημένες με Bluetooth είναι παντού γύρω μας στην καθημερινή μας ζωή. Αυτές περιλαμβάνουν τηλέφωνα, τάμπλετ, ηχεία, ακουστικά, πληκτρολόγια και πολλές άλλες συσκευές. Οι συσκευές Bluetooth δηλώνουν τον τύπο τους πριν τη σύζευξη με μια άλλη συσκευή. Αυτός είναι ο τύπος της συσκευής. Η δήλωση αυτής της κατηγορίας μπορεί να χειραγωγηθεί από έναν επιτιθέμενο για να εισάγει εντολές στη συσκευή.
Το BlueDucky είναι ένα αυτοματοποιημένο εργαλείο για την εκμετάλλευση αυτής της ευπάθειας και παρόλο που το εργαλείο στέλνει μόνο ένα αθώο μήνυμα στη συσκευή-στόχο, μπορεί εύκολα να τροποποιηθεί για να στείλει κακόβουλες εντολές στη συσκευή-στόχο όπως “shutdown” ή “rm -rf”.
Η διαδικασία που ακολουθήσαμε περιληπτικά:
Ακολουθήσατε τα παρακάτω βήματα για να εγκαταστήσετε και να εκτελέσετε το BlueDucky:
- Κατεβάστε και εγκαταστήστε το BlueDucky.
- Ενημερώστε το cache του apt και εγκαταστήστε τις απαραίτητες εξαρτήσεις από το αποθετήριο του Kali.
- Κατασκευάστε το bdaddr από τον πηγαίο κώδικα και αντιγράψτε το στον κατάλογο /usr/local/bin.
- Κατεβάστε το BlueDucky από το GitHub.
- Ελέγξτε και ενεργοποιήστε τον αντάπτορα Bluetooth σας.
- Ξεκινήστε το BlueDucky και ακολουθήστε τις οδηγίες για να συνδεθείτε στη συσκευή στόχο και να επιλέξετε το payload που θέλετε να χρησιμοποιήσετε.
- Επεξεργαστείτε τα αρχεία payloads για να στείλετε αυθαίρετες εντολές ή να ανοίξετε ιστότοπους στη συσκευή στόχο.
Αυτά τα βήματα θα σας επιτρέψουν να εκμεταλλευτείτε το BlueDucky για επιθέσεις σε συσκευές Bluetooth με τη χρήση αυθαίρετων εντολών.