Pentesting BLE - Bluetooth Low Energy

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

परिचय

Bluetooth 4.0 विनिर्दिष्टि के बाद से उपलब्ध, BLE केवल 40 चैनल का उपयोग करता है, जो 2400 से 2483.5 मेगाहर्ट्ज की श्रेणी को कवर करता है। उपयुक्तता, पारंपरिक ब्लूटूथ उसी श्रेणी में 79 चैनल का उपयोग करता है।

BLE डिवाइस कम्युनिकेट करने का तरीका विज्ञापन पैकेट (बीकन्स) भेजकर होता है, ये पैकेट्स BLE डिवाइस की मौजूदगी को अन्य नजदीकी डिवाइसों को प्रसारित करते हैं। ये बीकन्स कभी-कभी डेटा भी भेजते हैं।

सुनने वाली डिवाइस, जिसे केंद्रीय डिवाइस भी कहा जाता है, एक स्कैन अनुरोध के साथ एक विज्ञापन पैकेट का प्रतिक्रिया दे सकती है, जो विशेष रूप से विज्ञापन डिवाइस को भेजा जाता है। उस स्कैन का प्रतिक्रिया वही संरचना का उपयोग करता है जो विज्ञापन पैकेट में अतिरिक्त जानकारी के साथ है जो प्रारंभिक विज्ञापन अनुरोध में फिट नहीं हो सकती, जैसे पूरा डिवाइस नाम।

प्रीएम्बल बाइट फ्रीक्वेंसी को सिंक्रनाइज़ करता है, जबकि चार-बाइट एक्सेस पता एक कनेक्शन पहचानकर्ता है, जिसका उपयोग वह स्थितियों में किया जाता है जहां एक से अधिक डिवाइस समान चैनल पर कनेक्शन स्थापित करने की कोशिश कर रहे हैं। अगला, प्रोटोकॉल डेटा इकाई (PDU) में विज्ञापन डेटा होता है। कई प्रकार की PDU होती हैं; सबसे आम उपयोग होने वाली ADV_NONCONN_IND और ADV_IND हैं। डिवाइस अगर कनेक्शन स्वीकार नहीं करते हैं तो वे ADV_NONCONN_IND PDU प्रकार का उपयोग करते हैं, केवल विज्ञापन पैकेट में डेटा प्रसारित करते हैं। डिवाइस ADV_IND का उपयोग करते हैं अगर वे कनेक्शन स्वीकार करते हैं और कनेक्शन स्थापित होने के बाद विज्ञापन पैकेट भेजना बंद कर देते हैं।

GATT

जेनेरिक गुण प्रोफ़ाइल (GATT) परिभाषित करता है कि डिवाइस को डेटा को कैसे स्वरूपित और स्थानांतरित करना चाहिए। जब आप एक BLE डिवाइस के हमले की सतह का विश्लेषण कर रहे होते हैं, तो आप अक्सर गैट (या गैट्स) पर अपना ध्यान केंद्रित करते हैं, क्योंकि यह है कि डिवाइस कार्यक्षमता को प्रेरित करता है और डेटा को कैसे संग्रहीत, समूहित और संशोधित किया जाता है। GATT एक डिवाइस की विशेषताएँ, विवरणकर्ता, और सेवाएँ एक सारणी में 16- या 32-बिट मानों के रूप में होती हैं। एक विशेषता एक डेटा मान है जो केंद्रीय डिवाइस और पेरिफेरल के बीच भेजा जाता है। इन विशेषताओं के पास उनके बारे में अतिरिक्त जानकारी प्रदान करने वाले विवरणकर्ता हो सकते हैं। विशेषताएँ अक्सर सेवाओं में समूहित होती हैं अगर वे किसी विशेष क्रिया को करने से संबंधित हैं।

गणना

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

बेटरकैप

# 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 का समर्थन करने के लिए:

Last updated