6.3 KiB
Pentesting BLE - Bluetooth Low Energy
Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako ikitangazwa kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MIPANGO YA KUJIUNGA!
- Pata bidhaa rasmi za PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa NFTs ya kipekee
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @carlospolopm.
- Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Utangulizi
Inapatikana tangu maelezo ya Bluetooth 4.0, BLE hutumia njia 40 tu, ikifunika eneo la 2400 hadi 2483.5 MHz. Kinyume chake, Bluetooth ya jadi hutumia njia 79 katika eneo hilo hilo.
Vifaa vya BLE huchangamana kwa kutuma pakiti za matangazo (beacons), pakiti hizi huzirusha uwepo wa kifaa cha BLE kwa vifaa vingine vilivyo karibu. Mara nyingine beacons hizi hutuma data pia.
Kifaa cha kusikiliza, kinachoitwa pia kifaa cha kati, kinaweza kujibu pakiti ya matangazo kwa ombi la UCHUNGUZI lililotumwa kwa kifaa cha matangazo kwa kusudi maalum. Jibu kwa uchunguzi huo hutumia muundo sawa na pakiti ya matangazo na habari zaidi ambayo haikuweza kutoshea kwenye ombi la kwanza la matangazo, kama jina kamili la kifaa.
Bayt ya awali inasawazisha frekwensi, wakati anwani ya ufikiaji ya bayt nne ni kitambulisho cha uunganisho, ambacho hutumiwa katika hali ambapo vifaa vingi vinajaribu kuanzisha uhusiano kwenye njia sawa. Kisha, Kitengo cha Data cha Itifaki (PDU) kina data ya matangazo. Kuna aina kadhaa za PDU; zinazotumiwa sana ni ADV_NONCONN_IND na ADV_IND. Vifaa hutumia aina ya PDU ya ADV_NONCONN_IND ikiwa hawakubali uhusiano, kusambaza data tu katika pakiti ya matangazo. Vifaa hutumia ADV_IND ikiwa ruhusu uhusiano na kusitisha kutuma matangazo mara tu uhusiano unapokuwa umewekwa.
GATT
Maelezo ya Jumla ya Tabia (GATT) inaeleza jinsi kifaa kinavyopaswa kuunda na kuhamisha data. Unapochambua eneo la shambulio la kifaa cha BLE, mara nyingi utaelekeza tahadhari yako kwa GATT (au GATTs), kwa sababu ndivyo utendaji wa kifaa unavyoanzishwa na jinsi data inavyohifadhiwa, kundiwa, na kuhaririwa. GATT inaorodhesha tabia, maelezo, na huduma za kifaa katika jedwali kama thamani za bits 16 au 32. Tabia ni thamani ya data inayotumwa kati ya kifaa cha kati na kifaa cha pembeni. Tabia hizi zinaweza kuwa na maelezo yanayotoa habari zaidi kuhusu hizo. Tabia mara nyingi hukusanywa katika huduma ikiwa zina uhusiano na kutekeleza hatua fulani maalum.
Uorodheshaji
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 inaruhusu kuweka unganisho na kifaa kingine, kuorodhesha sifa za kifaa hicho, na kusoma na kuandika mali zake.
GATTTool inaweza kuzindua kabati ya mwingiliano na chaguo la -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 ni chombo cha kushambulia na kufanya uchunguzi wa mitandao ya BLE (Bluetooth Low Energy). Inaweza kutumika kwa kufanya ufuatiliaji wa mawasiliano ya BLE, kufanya mashambulizi ya kati kati (man-in-the-middle attacks), na kufanya uchunguzi wa usalama wa mitandao ya 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
Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako ikitangazwa kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MIPANGO YA KUJIUNGA!
- Pata swag rasmi ya PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa kipekee wa NFTs
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @carlospolopm.
- Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.