Monday 8 August 2011

Wireless Hotspot Hacking

Pendahuluan
Wireless hotspot merujuk pada implementasi jaringan wireless (nirkabel) yang memanfaatkan protokol IEEE 802.11x untuk keperluan akses Internet publik. Implementasi jaringan wireless ini dapat digunakan tanpa bayar,  biasanya akses diberikan oleh penyedia layanan untuk keperluan promosi,  atau berbayar.
Di kota-kota besar di Indonesia, seperti Jakarta, Bandung, dan Surabaya, wireless hotspot dapat ditemukan di mall, plaza, hotel, atau airport. Dengan ekspetasi pengguna yang beragam, dari geek sampai mereka yang  gagap teknologi, maka wireless hotspot didesain untuk memberikan kemudahan  dalam penggunaan. Oleh karena itu, kebanyakan wireless hotspot tidak  memberikan perlindungan penuh terhadap penyalahgunaan jaringan wireless.
Menggunakan Wireless Hotspot
Jika Anda belum pernah memanfaatkan layanan wireless hotspot, maka langkah-langkah berikut dapat Anda lakukan ketika Anda berada dalam jangkauan akses wireless hotspot.
Siapkan device yang akan digunakan untuk mengakses wireless hotspot.
Device dapat berupa laptop, PDA, atau telepon selular.
2.   Asosiasikan device Anda pada hotspot SSID (Service Set Identifier)
untuk mendapatkan konfigurasi jaringan. Biasanya jaringan wireless
hotspot menggunakan layanan DHCP untuk keperluan ini.
Gunakan web browser untuk mulai mengakses Internet. Jika Anda
mendapatkan tampilan web yang meminta login username dan password
(terkadang cukup password saja), maka Anda harus memasukan username
dan password yang sudah disiapkan. Jika Anda dapat langsung
menggunakan akses Internet, Anda beruntung. Dan mungkin Anda tidak
perlu membaca kelanjutan dari artikel ini. Namun kalau Anda hanya
dapat mengakses beberapa website tertentu saja, besar kemungkinan
Anda akan diminta username dan password untuk mengakses website
yang lainnya.
4.    Jika Anda sudah memasukkan username dan password, dan berhasil
terautentikasi. Anda selanjutnya dapat mengakses Internet sampai
kredit akses Anda habis atau perhitungan akses dihitung setelah Anda
menggunakan akses Internet (ini biasanya berlaku bagi mereka yang
juga adalah pelanggan penyedia layanan Internet).
Mendapatkan Akses
Beberapa cara yang dapat dilakukan untuk mendapatkan akses wireless hotspot,  tergantung dari penyedia layanan, namun secara garis besar Anda dapat  melakukan hal-hal berikut:
1. Membeli prepaid card. Penyedia layanan seperti CBN, Indosat, dan BizNet menyediakan prepaid card dengan nominal tertentu.
2. Membayar hak akses dengan kartu kredit. Berlaku jika penyedia layanan memberikan pilihan ini. Saya hanya menemukan fitur ini pada wireless hotspot di luar negeri.
3. Registrasi via SMS. Penyedia layanan wireless hotspot yang juga  penyedia layanan telekomunikasi selular bergerak biasanya memberikan kemudahan pada pelanggannya. Hak akses online pada wireless hotspot dapat ditukar dengan nilai kredit kartu telepon selular pra-bayar. Saya pernah menemukan Indosat memberikan layanan ini.
4. Mengalihkan tagihan online pada tagihan kamar hotel. Ini berlaku jika Anda menggunakan layanan wireless hotspot dari kamar hotel dimana harga yang harus dibayarkan nanti seringkali jauh lebih mahal. Sebagai contoh, M@giNET bekerja sama dengan hotel Westin di Kuala Lumpur, untuk memberikan layanan wireless akses bagi mereka yang menginap di hotel tersebut.
5. Melakukan aktivitas social engineering untuk mendapatkan username dan password. Silakan mengira-ngira sendiri karena saya tidak akan membahas hal ini.
6. Mencari jalan keluar sendiri untuk mendapatkan username dan password atau untuk langsung dapat menggunakan layanan akses Internet. Beberapa trik akan dijelaskan pada bagian lain di artikel ini.
Analisis Desain Wireless Hotspot
Beberapa hal yang saya berhasil saya simpulkan dari sejumlah implementasi wireless
hotspot yang telah saya coba, antara lain:
1. Tidak adanya standarisasi untuk setup sebuah hotspot. Dengan kata lain, setup jaringan dari penyedia layanan akan berbeda dengan  penyedia layanan yang lain. Hal lain yang berpengaruh adalah  pemilihan produk.
2. Banyak dari penyedia layanan wireless hotspot yang memberikan akses roaming, memungkinkan pengguna untuk mengakses layanan di tempat yang berbeda asalkan ada layanan dari penyedia yang dimaksud. Sebagai contoh, jika Anda memiliki hak akses untuk layanan wireless hotspot yang disediakan oleh Indosat, maka Anda dapat mengakses dilebih dari 30 tempat, dengan akses point berjumlah lebih dari 190 buah. Dan sebagai informasi tambahan, kesemua akses point tersebut semuanya terhubung dan dikontrol dari pusat.
3. Autentikasi biasanya digunakan untuk keperluan akses Internet. Yang berarti jika Anda terhubung ke sebuah akses point wireless  hotspot namun tidak ingin mendapatkan akses Internet, Anda masih dapat menggunakan jaringan wireless secara lokal dan berhubungan
dengan pengguna jaringan wireless yang lain (jika dan hanya jika  penyedia layanan mengijinkan hal ini).
4. Untuk keperluan autentikasi, penyedia layanan biasanya akan menyediakan Internet gateway (yang biasanya terdapat web server, DNS server, database server, dan mail server di dalamnya) dan satu atau lebih akses point. Beberapa produk yang sering digunakan sebagai Internet gateway untuk layanan hotspot antara lain  diproduksi oleh ANTLabs (seperti yang digunakan oleh Indosat dan CBN), Nomadix (digunakan oleh M@giNET), perangkat lunak gratis NoCatsAuth atau yang serupa (seperti yang digunakan oleh Melsa).
5. Seringkali tidak ditemukan segregasi jaringan untuk pengguna. Baik bagi mereka yang belum terautentikasi maupun yang belum. Hal ini memungkinkan seseorang melakukan aktivitas hacking terhadap pengguna layanan wireless hotspot yang lain.
6. Juga sering ditemukan para penyedia layanan wireless (ataupun produsen produk Internet gateway) menggunakan aplikasi yang sudah out-of-date. Sebagai contoh, sebuah produk ANTLabs menggunakan Red Hat Linux release 6.2 (Zoot) sebagai sistem operasi.
Terhitung perangkat lunak yang digunakan seperti MySQL, arpd, dan  Apache, juga out-of-date.
Mengakali Proses Autentikasi Wireless Hotspot
Ada banyak hal yang seseorang dapat lakukan untuk mengakali proses autentikasi. Beberapa cara yang dibahas dalam artikel ini hanya mencakup sebagian kecil aspek yang memanfaatkan kelemahan desain dari sebuah wireless hotspot gateway. Mengingat bahwa materi sudah pernah dipresentasikan di depan publik, besar kemungkinan penyedia layanan maupun vendor dari produk-produk yang terkena dampaknya sudah
memperbaiki celah-celah yang dimaksud.
Sebagai pemberitahuan, tidak ada nama vendor yang akan diasosiasikan dengan celah yang saya temukan. Silakan mengira-ngira sendiri. Dan trik-trik yang dijelaskan hanya dapat direplikasikan jika Anda berada dalam environment sistem operasi berbasis Unix/Linux (kebetulan saya menggunakan Mac OS X).
1. Memanfaatkan demo account.
Banyak penyedia layanan yang berbaik-hati memberikan kesempatan bagi calon pengguna untuk dapat mengakses Internet dalam kurun waktu yang dibatasi. Pada halaman autentikasi biasanya disebutkan username dan password untuk keperluan ujicoba.  Seseorang yang menggunakan account ujicoba/demo harus melakukan autentikasi ulang setelah masa penggunaan berakhir. Namun hal tersebut dapat dilakukan secara otomatis dengan menggunakan script seperti ini.
———————————————————————
#!/bin/sh
while sleep 3;
do
curl –data
“username=demo&password=demo&submitForm=login”
“https://server:port/goform/HtmlLoginRequest”;
done
———————————————————————
2. Menggunakan tunneling.
Beberapa implementasi hotspot dapat diakali dengan memanfaatkan metode tunneling. Implementasi yang dimaksud adalah implementasi yang tidak melakukan pemblokiran terhadap port atau protokol tertentu. 0×05
Sebagai contoh, sebuah hotspot hanya melakukan pengalihan untuk semua query HTTP dan HTTPS ke halaman login autentikasi bagi pengguna yang belum terautentikasi. Anda dapat menggunakan socks-tunneling via SSH karena port yang digunakan untuk SSH tidak terfilter. Anda dapat menambahkan option ‘DynamicForward’ pada  konfigurasi SSH user Anda (lihat file ~/.ssh/config).
——————————————————————–

Host titanium
Hostname titanium.justanotherrandomdomain.com
Port 22
User whfb
DynamicForward 22344

——————————————————————–
Jika Anda sudah melakukan koneksi SSH ke host titanium, maka secara otomatis, port 22344 akan terbuka. Anda dapat menambahkan IP  127.0.0.1 dan port 22344 pada konfigurasi jaringan di web browser  Anda untuk pilihan SOCKS proxy.
Namun cara yang disebutkan di atas tidak selalu berhasil karena gateway melakukan pengalihan pada semua port TCP dan UDP. Untuk  mengakali kondisi tersebut, jika dapat memanfaatkan DNS tunneling. Mengapa protokol DNS? Karena sebagian besar penyedia layanan tidak  melakukan pemblokiran atau pengalihan untuk query DNS.Silakan merujuk pada referensi DNS Tunneling[3][4][5][6][7].
3. Memanfaatkan celah pada aplikasi web portal Internet gateway.
Trik berikut saya temukan ketika saya yang kebetulan mendapatkan kesempatan untuk menginap di salah satu hotel terkenal dan menemukan adanya layanan wireless hotspot yang terdapat di lobby. Pada halaman autentikasi, saya diberikan beberapa pilihan untuk
melakukan pembayaran, antara lain:
a. login menggunakan username dan password dari pre-paid yang dapat dibeli di lobby,
b. login menggunakan username dan password dari layanan iPass dan Boingo
Setelah mengamati benar source-code dari halaman web yang digunakan untuk keperluan autentikasi, saya melihat adanya kejanggalan dimana pilihan a mempunyai billing_method_id adalah 2, dan pilihan b mempunyai billing _method_id adalah 3. Yang jadi pertanyaan saya waktu itu adalah pilihan apa yang mempunyai billing_method_id
adalah 1. Dengan niatan mencoba-coba, saya lalu mengganti variable query billing_method_id dengan nilai 1, ternyata saya dapat  langsung mengakses Internet.
——————————————————————–
http://host/defaultportal/check_form.cgi?&billing_method_id=1
——————————————————————–
Belakangan hari setelah saya berkesempatan meminjam produk yang digunakan sebagai Internet gateway tersebut, saya mengetahui bahwa billing_method_id dengan nilai 1 adalah pilihan untuk melakukan penagihan pada kamar. Sesuatu yang tidak mungkin dilakukan karena saya mengaksesnya dengan menggunakan wireless dari lobby. Setelah
berkorespondensi dengan technical support vendor produk yang dimaksud, saya baru mengetahui bahwa pilihan tersebut hanya efektif jika pelanggan menggunakan kabel dan bukan wireless.
4. Mengganti IP address
Ditemukan beberapa implementasi wireless hotspot yang diketahui membagi alokasi IP address pada pengguna yang belum terautentikasi dan user yang sudah terautentikasi. Setelah pengguna berhasil melewati proses autentikasi, gateway akan mengingat MAC address Anda dan memberikan IP address baru (pada subnet yang baru) bagi pengguna tersebut.
Menggunakan perangkat lunak packet sniffer seperti tcpdump atau  ethereal (sekarang wireshark), Anda dapat mengetahui IP address apa saja yang melintasi jaringan wireless Anda. Anda dapat mengira-ngira sendiri alokasi IP address yang ‘baru’ berikut dengan netmask-nya. Sebagai contoh, jika belum terautentikasi Anda mendapatkan IP  address 10.0.0.14 dengan netmask 255.255.255.0, dan setelah Anda terautentikasi, Anda mendapatkan IP address 10.0.1.18 dengan netmask 255.255.255.0.
Jika Anda tidak ingin melakukan proses autentikasi, Anda cukup mengkonfigur IP Address Anda pada range network pengguna yang sudah terautentikasi.
5. Piggyjacking
Saya mendefinisikan piggyjacking sebagai aktivitas untuk mendapatkan  akses pada sebuah sesi akses wireless dengan mengambil-alih sesi yang sudah terlebih dahulu terautentikasi untuk mendapatkan akses  Internet.
Untuk melakukannya, Anda membutuhkan informasi:
- IP address dan MAC address pengguna yang sudah terautentikasi
- IP address gateway
Anda dapat merujuk pada presentasi Dean Pierce, Brandon Edwards &  Anthony Lineberry yang diberikan di DEFCON 13[8] untuk penggunaan perangkat lunak ‘pul’. Jika Anda ingin melakukan dengan metode manual, Anda dapat mengikuti prosedur yang disebutkan pada point 4 di atas.
6. SQL Injection pada aplikasi portal gateway
Beberapa hotspot ternyata dapat diakali dengan memanfaatkan teknik  SQL injection. Saya pikir tidak perlu menjelaskan lebih jauh  mengenai teknik ini karena sudah seringkali dibahas. Tidak hanya untuk mem-by-pass akses Internet, teknik ini juga dapat mem-by-pass autentikasi administrative page.
7. Memindahkan tagihan ke kamar lain.
Jika Anda beruntung menginap pada hotel yang memberikan layanan  Internet berbayar menggunakan kabel pada kamar hotel. Anda mungkin dapat menerapkan trik ini. Trik berikut ini hanya dapat dilakukan  pada jaringan kabel pada hotel (tidak berhubungan dengan wireless), namun saya bahas di sini karena produk gateway yang digunakan sama
dengan layanan wireless hotspot. Anda mungkin dapat ‘menyusahkan’ orang lain dengan mengalihkan   tagihan Internet kamar Anda atau mengalihannya ke kamar kosong.
Sebagai contoh, Anda dapat memodifikasi query HTTP seperti berikut  ini
——————————————————————–
http://HOTSPOT_GATEWAY/mlcbb/mlc/welcome.asp?UI=012345&
UURL=http://BILLING_SERVER/userok.htm&MA=00AABBCCDDEE&RN=1234&
http://google.com/&SC=12345
——————————————————————–
Anda cukup menganti nilai 00AABBCCDDEE (MAC address) dan 1234 (nomor kamar). Tagihan akan ditujukan pada kamar baru jika kamar  tersebut ada.
Untuk amannya, saya menyarankan Anda mencari informasi nomor ruangan yang digunakan untuk keperluan publik seperti ballroom atau lobby.
Penulis     : willhackforbandwidth
Sumber    : www.echo.or.id