Fun With RaMBLE
BLE hacking
]
Bicara tentang Bluetooth low energy, ini adalah topik lain yang sudah saya angkat di acara Idsecconf 2019 di Cirebon bulan maret yang lalu. Bahan-bahan papernya sendiri sebenarnya sudah lebih setahun tepat sesudah pembelian amazfit bip.
Beberapa minggu usai Idsecconf seorang teman membagikan info soal adanya applikasi yang bisa digunakan untuk BLE wardriving.
Applikasi yang cukup menarik dan baru minggu lalu saya sempatkan untuk meexplore sedikit fitur yang dimiliki RaMBLE. Bagian yang paling menonjol adalah kemampuan mapping, info advertise BLE serta timepstampnya.
Dilihat dari konten database yang dikumpulkan sebenarnya ada banyak info yang bisa ditampilkan. Tapi tentu tidak begitu penting juga jika tampil di setiap node di peta. Isi database ramble hampir bisa menyamai hasil scanning (bukan enumerate) yang biasa saya dapatkan dengan tool bleah.
Namun sayangnya database yang dimiliki applikasi ini tidak dapat diexport langsung kedalam bentuk kml. Untuk itu hasil databasenya yang berbentuk sqlite perlu sedikit diolah dan disimpan kedalam bentuk yang memungkinkan diterima oleh google maps.
Berbekal sedikit pengetahuan tentang query command di sqlite kita bisa menggabungkan baris isi dari tabel devices dan locations.
$sqlite3
sqlite> .open RaMBLE_playstore_*.*_*.sqlite
sqlite> .headers on
sqlite> .mode csv
sqlite> .output data.csv
sqlite> select devices.device_name, devices.device_type, devices.address, locations.latitude, locations.longitude as id from devices, locations where devices.id = locations.device_id;
sqlite> .quit
Dari hasil ouput csv file kita menggunakan python script atau tool online untuk mengubah ke format KML dan siap di upload ke google maps.
1,5 jam menggunkan applikasi ini dari naik KRL hingga jalan kaki dari stasiun saya dapatkan lebih dari cukup (532 ble mac address yang muncul dalam 2089 lokasi).
Percaya atau tidak riset soal ble masih sangat seksi dan menyenangkan, lihat saja demo presentasi Damien Cauquil di defcon 27 atau tulisan Jokull Barkson di ezine PageOut_001.