Pentesting BLE - Bluetooth Low Energy

AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert) ile!

HackTricks'ı desteklemenin diğer yolları:

Tanıtım

Bluetooth 4.0 spesifikasyonundan bu yana mevcut olan BLE, yalnızca 40 kanal kullanır ve 2400 ila 2483.5 MHz aralığını kapsar. Buna karşılık, geleneksel Bluetooth aynı aralıkta 79 kanal kullanır.

BLE cihazları, varlıklarını diğer yakındaki cihazlara duyuran reklam paketleri (beaconlar) göndererek iletişim kurar. Bu beaconlar bazen aynı zamanda veri gönderir.

Dinleyici cihaz, aynı zamanda merkezi cihaz olarak da adlandırılır, bir reklam paketine özel olarak gönderilen bir TARAMA isteği ile yanıt verebilir. Bu taramanın yanıtı, tam cihaz adı gibi başlangıçtaki reklam isteğine sığmayan ek bilgilerle aynı yapıyı kullanır.

Preamble byte frekansı senkronize ederken, dört baytlık erişim adresi, aynı kanallarda bağlantı kurmaya çalışan birden fazla cihazın bulunduğu senaryolarda kullanılan bir bağlantı kimliğidir. Sonraki olarak, Protokol Veri Birimi (PDU), reklam verilerini içerir. Birkaç tür PDU vardır; en yaygın olarak kullanılanlar ADV_NONCONN_IND ve ADV_IND'dir. Cihazlar, bağlantı kabul etmiyorsa yalnızca reklam paketinde veri ileten ADV_NONCONN_IND PDU türünü kullanır. Cihazlar, bağlantıyı kabul ediyorlarsa ve bir bağlantı kurulduğunda reklam paketlerini duraklatıyorlarsa ADV_IND'yi kullanır.

GATT

Generic Attribute Profile (GATT), cihazın verileri nasıl biçimlendireceğini ve aktaracağını tanımlar. Bir BLE cihazının saldırı yüzeyini analiz ederken genellikle dikkatinizi GATT (veya GATT'ler) üzerinde yoğunlaştırırsınız, çünkü bu, cihaz işlevselliğinin tetiklendiği ve verilerin nasıl depolandığı, gruplandığı ve değiştirildiği yoldur. GATT, bir cihazın özelliklerini, açıklamalarını ve hizmetlerini 16 veya 32 bitlik değerler olarak bir tabloda listeler. Bir özellik, merkezi cihaz ve perifer arasında gönderilen bir veri değeridir. Bu özelliklerin açıklamaları olabilir ve bunlar hakkında ek bilgi sağlar. Özellikler, genellikle belirli bir eylemi gerçekleştirmekle ilgiliyse hizmetlerde gruplandırılır.

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, başka bir cihazla bağlantı kurmayı, cihazın özelliklerini listelemeyi ve özelliklerini okuyup yazmayı sağlar. GATTTool, etkileşimli bir kabuk başlatabilir -I seçeneği ile:

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

# 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 hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'ı desteklemenin diğer yolları:

  • Şirketinizi HackTricks'te reklamını görmek istiyorsanız veya HackTricks'i PDF olarak indirmek istiyorsanız [ABONELİK PLANLARI]'na göz atın (https://github.com/sponsors/carlospolop)!

  • [The PEASS Family]'yi (https://opensea.io/collection/the-peass-family) keşfedin, özel [NFT'lerimiz]'i (https://opensea.io/collection/the-peass-family) içeren koleksiyonumuzu

  • 💬 Discord grubuna veya telegram grubuna katılın veya bizi Twitter 🐦 @carlospolopm'de takip edin.

  • Hacking püf noktalarınızı paylaşarak PR'ler göndererek HackTricks ve HackTricks Cloud github depolarına katkıda bulunun.

Last updated