Kupas Tuntas SSH Tunneling
Apa itu SSH Tunneling ?
SSH Tunneling adalah suatu teknik yang lazim digunakan oleh para hacker untuk menembus firewall, IDS, IPS atau apapun itu di perbatasan protokol jaringan. Intinya, how to crack behind the enemy lines.
SSH Tuneling, jika kita mencari pengertian sebenarnya dari teknik ini adalah, ada 2 kata penting yaitu antara SSH dan Tunneling.
SSH adalah kependekan dari Secure Shell yang memungkinkan user SSH untuk
mengirimkan paket data yang telah di bungkus atau di enkapsulasi di
dalam jaringan protokol HTTP menggunakan Protokol SSL sebagai Payload.
Sedangkan Tunneling adalah mengirimkan data melalui koneksi yang telah
terbentuk. Contoh sederhananya, ketika anda membuka
http://www.paypal.com/ maka secara otomatis URL Browser anda akan
diredirect ke koneksi HTTPS. Apakah itu koneksi HTTPS ? Koneksi HTTPS
adalah koneksi HTTP biasa yang di kirimkan melalui koneksi protokol SSL,
atau istilah inggeris nya "HTTP over SSL" atau HTTP nya di bungkus
menggunakan SSL. Protokol SSL ini memerlukan public key certificate dengan formatX.509 yang telah di authorize Certificate Authority resmi seperti APGM, COA, CA, dll
Protocol Encapsulation
Protokol encapsulation (seterusnya saya sebut enkapsulasi biar lebih
mudah) adalah sebuah proses, dimana paket data yang di kirimkan
olehclient to client dibungkus dengan SSL sebagaipayload.
Enkapsulasi juga terjadi dalam layer modelTCP/IP, yaitu data pada layer
yang lebih atas menjadi payload dan di-enkapsulasi dengan protokol pada
layer di bawahnya. Kita ibaratkan paket data yang mau kita kirim kita
bungkus ke dalam kapsul yang agak besar, dimana di dalam kapsul tersebut
terdapat kapsul yang lebih kecil. Kapsul ini di kirimkan melalui
terowongan dengan addres tunnel endpoint
yang disebut dengan encapsulation header. Tujuan akhir tetap di paket
lama, ketika sampai pada endpoint kapsul dibuka dan mengirimkan kapsul
yang lebih kecil di dalamnya.
Berikut urutan pengiriman data melalui proses enkapsulasi :
Paket data (dalam hal ini e-mail) dalam kapsul melalui HTTP, di bungkus dengan kapsul yang lebih besar yaitu paket kapsul SMTP (simple mail transfer protocol) , lalu di masukkan lagi ke dalam kapsul TCP (Transmission Transfer Protocol) lalu di masukkan lagi ke dalam kapsul IP (Internet Protocol)
dan akhirnya di masukkan kedalam kapsul yang terbesar bernama ethernet
Paket inilah yang akan di terima oleh clienttujuan. Jika di buka maka
akan ada IP -> TCP -> SMTP -> ethernet -> paket data.
Proxy via SSH Tunnel
Dalam penerapan konsep SSH Tunneling ada sebuah istilah, jika kita mau
melakukan tunneling gunakan saja proxy ssh. Apa maksudnya ya ?
Maksudnya adalah, disaat kita mau mengakses sebuah situs tertentu tapi situ itu di blok oleh seorang SysAdmin
sebuah jaringan, maka kita bisa menggunakan proxy sebagai jembatan
untuk mengakses situs yang di blok tersebut. Dalam proses ini, client
yang request data sebelum menuju ke situs yang di blok, terlebih dahulu
melalui jembatanproxy SSH ini melalui port tertentu yang telah di
tetapkan, ya anggap saja port 1080 (port ini biasa saya pakai, hehe).
Dasar teorinya adalah akses internet anda di-"tunell" melalui saluran SSH, lalu di remote host
(host yang anda SSH kan ke sana) anda melakukan port forwarding.
Penjelasan tentang port forwarding akan dijelaskan setelah segmen proxy
ssh ini. Lalu bagaimana membuat proxy via ssh ini ?
- Silakan anda download software rs4u di situs berikut : http://download.rs4u.com/
- Install dan jalankan program tersebut.
- Lakukan konfigurasi akun SSH (catatan : anda harus mempunyai akun SSH). Klik Tools -> Config. IsikanHost, Port, Username, dan Password sesuai dengan akun SSH anda.
- Pada port forward definition, masukkan listen address adalah localhost (127.0.0.1) dengan portsembarang (katakanlah port 30000) dan pada forward address adalah proxy server ISP anda (misalnya proxy.cbn.net.id jika anda pelanggan CBN) beserta portnya (biasanya 8080).
- Setting Proxy via SSH Tunneling selesai.
- Langkah terakhir adalah arahkan proxy address browser anda ke localhost. Berdasarkan contoh diatas, proxy address adalah 127.0.0.1:8080 . Selesai. Jika anda melakukan dengan benar, sekarang anda bisa menge-browse internet dengan proxy ISP.
Untuk lebih jelasnya silahkan lihat gambar di bawah ini :
Sebenarnya, selain menggunakan software di atas, kita bisa menggunakan
software Bitvise sebagai SSH Client untuk menghubungkan client komputer
ke SSH Server dan dengan bantuan proxifier pula dapat mempermudah
penggunaan listen port yang akan secara otomatis me-listen port kan
browser atau aplikasi lainnya, penjelasan dan cara setting software ini
bisa di lihat di halaman berikut | Click Here to View
Port Forwarding
Dari ilustrasi gambar di samping, kita melihat bahwa paket data yang di
request dari komputer client masuk ke dalam IP yang berbeda. Ini juga
berlaku dengan IP dan Port yang berbeda pula. Port Forwarding
adalah pengalihan (redirecttion) sebuah koneksi dari IP:Port asal ke
IP:Port tujuan. Misal jikalau kita telah men-set browser kita ke IP:Port
http://127.0.0.1:8080 ke IP:Port http://8.8.8.8:80 (IP Addres Google)
maka ketika kita mengarahkan browser kita URL http://127.0.0.1:8080 maka
akan terforward ke http://8.8.8.8:80.
Pada SSH port forwarding
ini adalah bahasan menarik yang perlu untuk di-eksplorasi lagi kegunaan
serta fungsinya. Beberapa fungsi port forwarding adalah Melakukan
koneksi aplikasi TCP (misalnya : webserver, mail server, FTPserver)
dengan lebih secure (aman) dan juga bisa berfungsi untuk melakukan
koneksi dengan membypass (melewati) firewall atau proxy setempat.
Local dan Remote Port Forwarding
Ada dua macam port forwarding, yakni local dan remote. Local port
forwardingterjadi apabila aplikasi klien TCP berada di komputer kita,
dan server aplikasi TCPyang kita tuju berada di sisi yang lain.
Sebaliknya, Remote Port Forwarding terjadiapabila aplikasi server TCP
adalah komputer kita, sedangkan aplikasi klien berada dikomputer yang
lain (remote computer). Local port forwarding dilakukan dengan
jalanmemanfaatkan port di komputer kita (mulai dari 1024 sampai 65535)
untuk melewatkan koneksi sebuah aplikasi TCP, kemudian komputer kita
akan membuatkoneksi ke komputer remote pada port 22 dan akan mengirimkan
data kita ke komputer tujuan melalui port 22. Demikian pula
sebaliknya,. Untuk lebih jelasnya,amati tiga gambar di bawah ini :
Praktik melakukan Port Forwarding
Sebelum melakukan praktik Port Forwarding setidaknya anda harus memenuhi
beberapa syarat berikut untuk kelancara praktik ini sendiri.
- Mutlak ! Anda harus mempunyai akun SSH yang mengizinkan untuk port forwarding ke server yang di tuju.
- Pastikan Anda mengetahui server tujuan yang akan Anda tuju untuk melakukan bypass terhadap restriksi firewall atau proxy di institusi Anda.Untuk kasus ini (koneksi HTTP), kita akan mencoba melewatkan data melaluisebuah server proxy di jaringan lain yang memungkinkan kita untuk membypass firewall di jaringan kita.
Langkah-langkahnya :
1. Lakukan autentifikasi koneksi internet anda dengan cara login ke
server SSH anda. Bisa menggunakan software rs4u yang telah di jelaskan
di atas, namun saya sarankan menggunakan bitvise ssh client
karenainterface menarik dan terdapat banyak fitur.Artikel lengkap
tentang software ini bisa KLIK DISINI Silahkan klik tab Service dan atur sesuai dengan gambar berikut :
Port Forwarding pada Bitvise SSH Client
2. Lakukan setting pada proxifier untuk me-listen port kan browser ke
127.0.0.1:1080 sesuai dengan software Bitvise diatas. Silahkan buka
Proxifier anda dan klik Profile -> Proxification Rules. Lebih detail
lihat gambar berikut :
Gambar diatas, menjelaskan bahwa browser akan di-listen port kan ke
127.0.0.1:1080 melalui SSH Client, jadi ketika browser mengakses URL
http://127.0.0.1:1080 maka secara otomatis ke URL tujuan dari Server
yang mau dituju.
3. Terakhir setting browser anda ke No Proxy. (saya menggunakan browser Maxthon)
4. Coba untuk browsing. Kini Anda bisa melewati restriksi firewall.
Berhati-hatilah dan bersikaplah bijak apabila Anda berhasil membypass
firewall atau proxy. Bagaimanapun yang Anda lakukan adalah ilegal dan
sangat boleh jadi mengganggu traffic jaringan (terutama kalo Anda
coba-coba download file berukuran besar dan menghabiskan bandwidth
jaringan SSH anda). So, tetaplah bereksperimen dan jadikan ilmu Anda
bermanfaat untuk orang lain.
Ilmu itu luas, bahkan Tuhan telah membagi-bagi ilmu itu ke dalam
partikel-partikel yang sangat-sangat kecil, bahkan terkadang otak kita
tidak bisa menalarnya. So, pelajari lah apa yang anda sukai, gunakan
otak anda untuk terus berfikir dan bernalar. Sesungguhnya kekuatan
logika yang telah di anugerahkan Tuhan itu sungguh sangat luar biasa
jikalau kita menyadarinya.
Setidaknya saya sedikit mengingat perkataan seorang Lawliet "L" Ryuzaki
pemeran seorang detektif super jenius dalam seri anime "Death Note". Dia
pernah berkata , "Tak perlulah kau takut untuk menjadi gendut, meski
selalu memakan makanan yang manis sekalipun jika kamu senantiasa
menggunakan otakmu untuk berfikir."
Catatan dan Referensi :
- O’Reilly – SSH, The Secure Shell , The Definitive Guide Ebook (Januari, 2001)
- http://www.bitvise.com/port-forwarding
- http://www.ilmuhacking.com/how-to/kupas-tuntas-ssh-tunneling/
- http://www.revsys.com/writings/quicktips/ssh-tunnel.html
- http://antsbigprojects.blogspot.com/2014/01/kupas-tuntas-ssh-tunneling-dan-definisi.html
- http://id.wikipedia.org/wiki/IP_tunnel
- http://berbagiilmudenganharis.blogspot.com/2013/07/apakah-itu-tunneling-protocol.html
- http://circuitspoofer.blogspot.com/2013/03/enkapsulasi-dan-dekapsulasi-pada.html
- http://download.rs4u.com/
- http://ech.blogspot.com/2005/09/proxy-via-ssh-tunnel.html
- http://networkingpeopletogether.blogspot.com/2012/02/apa-yang-dimaksud-port-forwarding.html
Penjelasan Lengkap SSH Tunneling dan Definisinya












0 komentar:
Posting Komentar