Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)! Inne sposoby wsparcia HackTricks: * Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)! * Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com) * Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family) * **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
# Wprowadzenie Dostępny od specyfikacji Bluetooth 4.0, BLE korzysta tylko z 40 kanałów, obejmujących zakres od 2400 do 2483,5 MHz. W przeciwieństwie do tradycyjnego Bluetootha, który korzysta z 79 kanałów w tym samym zakresie. Urządzenia BLE komunikują się, wysyłając **pakiet reklamowy** (**beacony**), które transmitują istnienie urządzenia BLE do innych urządzeń w pobliżu. Te beacony czasami również **wysyłają dane**. Słuchające urządzenie, zwane również urządzeniem centralnym, może odpowiedzieć na pakiet reklamowy za pomocą **żądania SKANU** wysłanego specjalnie do urządzenia reklamowego. **Odpowiedź** na ten skan korzysta z tej samej struktury co **pakiet reklamowy** z dodatkowymi informacjami, które nie zmieściły się w początkowym żądaniu reklamowym, takimi jak pełna nazwa urządzenia. ![](<../.gitbook/assets/image (201) (2) (1) (1).png>) Bajt preambuły synchronizuje częstotliwość, podczas gdy czterobajtowy adres dostępu to **identyfikator 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 protokołu (**PDU**) zawiera **dane reklamowe**. Istnieje kilka rodzajó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** zostanie **ustanowione**. ## GATT **Generic Attribute Profile** (GATT) definiuje, w jaki sposób **urządzenie powinno formatować i przesyłać dane**. Analizując powierzchnię ataku urządzenia BLE, często skupiasz swoją uwagę na GATT (lub GATTs), ponieważ to ona **uruchamia funkcjonalność urządzenia** i przechowuje, grupuje i modyfikuje dane. GATT wymienia cechy, deskryptory i usługi urządzenia w tabeli jako wartości 16- lub 32-bitowe. **Cecha** to **wartość danych** **wysyłana** między urządzeniem centralnym a urządzeniem peryferyjnym. Te cechy mogą mieć **deskryptory**, które **dostarczają dodatkowych informacji na ich temat**. **Cechy** są często **grupowane** w **usługi**, jeśli są związane z wykonaniem określonej czynności. # Wyliczanie ```bash 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** pozwala na **ustanowienie** **połączenia** z innym urządzeniem, wyświetlanie charakterystyk tego urządzenia oraz odczytywanie i zapisywanie jego atrybutów.\ GATTTool może uruchomić interaktywną powłokę za pomocą opcji `-I`: ```bash 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 -b --char-write-req -n gatttool -b a4:cf:12:6c:b3:76 --char-write-req -a 0x002e -n $(echo -n "04dc54d9053b4307680a"|xxd -ps) # Read data gatttool -i -b --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 to potężne narzędzie do testowania penetracyjnego, które można wykorzystać do ataków na Bluetooth Low Energy (BLE). Działa na różnych platformach, takich jak Linux, macOS i Windows. ### Instalacja Aby zainstalować Bettercap, wykonaj następujące kroki: 1. Pobierz i zainstaluj Go (jeśli jeszcze go nie masz). 2. Uruchom polecenie `go get -u github.com/bettercap/bettercap`. 3. Przejdź do katalogu z kodem źródłowym Bettercap (`cd $GOPATH/src/github.com/bettercap/bettercap`). 4. Uruchom polecenie `make build`. 5. Po zakończeniu kompilacji, uruchom polecenie `sudo make install`. ### Użycie Bettercap oferuje wiele funkcji, które można wykorzystać podczas testowania penetracyjnego BLE. Oto kilka przykładów: - Skanowanie urządzeń BLE: `sudo bettercap -iface -caplet `. - Atak Man-in-the-Middle (MITM) na urządzenia BLE: `sudo bettercap -iface -caplet `. - Przechwytywanie ruchu BLE: `sudo bettercap -iface -caplet `. - Analiza ruchu BLE: `sudo bettercap -iface -caplet `. ### Caplets Caplets to pliki konfiguracyjne, które można użyć do dostosowania zachowania Bettercap. Zawierają instrukcje dotyczące skanowania, ataków i przechwytywania ruchu BLE. Przykładowe caplets można znaleźć w katalogu `/usr/local/share/bettercap/caplets`. ### Podsumowanie Bettercap to potężne narzędzie do testowania penetracyjnego BLE, które oferuje wiele funkcji do skanowania, atakowania i analizowania ruchu BLE. Dzięki jego elastyczności i łatwości użycia, jest to niezastąpione narzędzie dla hakerów i testerów penetracyjnych. ```bash # Start listening for beacons sudo bettercap --eval "ble.recon on" # Wait some time >> ble.show # Show discovered devices >> ble.enum # This will show the service, characteristics and properties supported # Write data in a characteristic >> ble.write >> ble.write ff06 68656c6c6f # Write "hello" in ff06 ```
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)! Inne sposoby wsparcia HackTricks: * Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)! * Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com) * Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family) * **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.