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)
Dostępny od specyfikacji Bluetooth 4.0, BLE używa tylko 40 kanałów, obejmujących zakres od 2400 do 2483,5 MHz. W przeciwieństwie do tego, tradycyjny Bluetooth używa 79 kanałów w tym samym zakresie.
Urządzenia BLE komunikują się, wysyłając pakiety reklamowe (beacons), które ogłaszają istnienie urządzenia BLE innym pobliskim urządzeniom. Te beacons czasami również wysyłają dane.
Urządzenie nasłuchujące, zwane również urządzeniem centralnym, może odpowiedzieć na pakiet reklamowy za pomocą żądania SCAN wysłanego specjalnie do urządzenia reklamowego. Odpowiedź na to skanowanie używa tej samej struktury co pakiet reklamowy z dodatkowymi informacjami, które nie mogły zmieścić się w początkowym żądaniu reklamowym, takimi jak pełna nazwa urządzenia.
Bajt preambuły synchronizuje częstotliwość, podczas gdy czterobajtowy adres dostępu jest identyfikatorem połączenia, który jest używany w scenariuszach, w których wiele urządzeń próbuje nawiązać połączenia na tych samych kanałach. Następnie Jednostka Danych Protokolarnej (PDU) zawiera dane reklamowe. Istnieje kilka typów PDU; najczęściej używane to ADV_NONCONN_IND i ADV_IND. Urządzenia używają typu PDU ADV_NONCONN_IND, jeśli nie akceptują połączeń, przesyłając dane tylko w pakiecie reklamowym. Urządzenia używają ADV_IND, jeśli pozwalają na połączenia i przestają wysyłać pakiety reklamowe, gdy połączenie zostało nawiązane.
Ogólny Profil Atrybutów (GATT) definiuje, jak urządzenie powinno formatować i przesyłać dane. Gdy analizujesz powierzchnię ataku urządzenia BLE, często skupiasz swoją uwagę na GATT (lub GATTach), ponieważ to sposób, w jaki funkcjonalność urządzenia jest wywoływana i jak dane są przechowywane, grupowane i modyfikowane. GATT wymienia cechy, deskryptory i usługi urządzenia w tabeli jako wartości 16- lub 32-bitowe. Cechą jest wartość danych wysyłana między urządzeniem centralnym a peryferyjnym. Te cechy mogą mieć deskryptory, które dostarczają dodatkowe informacje o nich. Cechy są często grupowane w usługach, jeśli są związane z wykonywaniem określonej akcji.
GATTool umożliwia nawiązanie połączenia z innym urządzeniem, wylistowanie charakterystyk tego urządzenia oraz odczytywanie i zapisywanie jego atrybutów.
GATTTool może uruchomić interaktywną powłokę z opcją -I
:
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)