09 June 2012

PING TUNNEL - Internet Gratis Modal 'PING'

Akhir tahun 2011 yang lalu, trik ini berhasil saya terapkan untuk mendapatkan koneksi gratis dari operator telekomunikasi ternama, K4mpr3t. Walaupun 'bugs' ini sudah ditambal pada saat penulisan artikel, tetapi trik ini masih tetap berlaku untuk beberapa keadaan, dengan beberapa prasyarat dan kondisi. Matinya trik ini tentu tak lepas dari vulgarnya para 'blogger' mengekspos tip dan trik gratisan di sana-sini, tanpa mempedulikan undang-undang tak tertulis yang dianut oleh komunitas 'real phreaker' agar tetap 'keep silent' demi menjaga langgengnya rahasia internet gratis yang tentu saja tidak mudah didapatkan.

Ping tunnel work flow
Courtesy of  http://www.cs.uit.no/~daniels/PingTunnel/
ICMP tunnel bekerja dengan cara memasukkan data tertentu ke dalam paket echo request yang dikirimkan menuju sebuah remote komputer. Lalu remote komputer tersebut membalas dengan echo reply, yang berisi data tertentu sesuai dengan echo request yang diterimanya. Komunikasi antara klien-server berjalan melalui paket-paket ICMP echo request dan echo reply.

Prasyarat :
  • Setidaknya kita membutuhkan 2 (dua) komputer, 1 untuk klien dan 1 berperan sebagai server
  • Komputer yang akan kita jadikan server harus reachable, bisa dijangkau lewat internet, tidak dilapisi firewall, dan memperbolehkan echo request. Artinya, ketika kita melakukan 'ping' ke server, kita mendapatkan balasan/reply.
  • Hak akses sebagai administrator untuk windows dan root pada system linux, pada kedua komputer tersebut di atas.
  • Winpcap untuk mesin windows dan Libpcap untuk pengguna linux.
  • Tentunya program Ptunnel, untuk klien maupun server. 

Instalasi Program :

A) WINDOWS
Cara termudah menginstall Ptunnel bagi pemakai windows mungkin dengan mendownload file binnary dari sini. Setelah didownload, lalu copy atau pindahkan file ekskutable Ptunnel ke folder yang gampang untuk navigasi, misalnya di C:\WINDOWS\. Ini juga bertujuan supaya kita mudah 'memanggil' program Ptunnel dari command prompt. File Ptunnel ini tidak memiliki perbedaan antara klien dan server.

B) LINUX
Jika ingin meng-compile program Ptunnel dari source codenya, bisa didownload di sini. Dari shell langsung saja ketik perintah:
$ wget http://www.cs.uit.no/~daniels/PingTunnel/PingTunnel-0.72.tar.gz
Setelah itu ekstrak file yang telah didownload dengan command:
$ tar zxvf PingTunnel-0.72.tar.gz
Kemudian kita masuk ke folder hasil ekstrak:
$ cd PingTunnel
Lalu tinggal di-make supaya source code yang ada berubah menjadi file ekskutable:
$ make
Dan supaya kita mudah memanggil programnya, kita bisa menginstallnya dengan command:
# make install 
 
Tentunya harus 'root' agar bisa menginstall program baru di system. Jika semua lancar, tentunya Ptunnel sudah bisa langsung diekskusi. Tetapi jika terjadi error seperti berikut ini:
ptunnel.h:70:21: error: pcap.h: No such file or directory
maka kita harus menginstall libpcap terlebih dahulu.

Penggunaan :
Antara Ptunnel untuk windows maupun linux, secara umum cara penggunaanya hampir sama. Bedanya mungkin pada beberapa fitur yang ada di Ptunnel linux tetapi tidak ada di Ptunnel windows. Seperti misalnya opsi -setgid, -setuid, -setcon, dan -chroot, karena kita tahu pembagian user dan group di windows dengan linux memiliki banyak perbedaan.

Untuk memudahkan contoh pemakaian dan praktek dalam artikel ini, kita asumsikan bahwa program Ptunnel untuk windows berada di C:\WINDOWS\Ptunnel.exe dan untuk linux di /usr/bin/ptunnel. Buka command prompt windows dengan "Start" kemudian pilih "Run" lalu pada kotak dialog yang muncul ketik "cmd" (tanpa tanda petik) lalu tekan tombol [ENTER]. Pada linux biasanya saya memakai bash shell.
Sekedar catatan, saya selalu gagal menjalankan Ptunnel sebagai server di windows, tapi selalu berhasil mengekskusinya di linux. Saya tidak tahu mengapa.

$ ptunnel -h
ptunnel v 0.70.
Usage:   ptunnel -p  -lp  -da  -dp  [-m max_tunnels] [-x password] [-v verbosity] [-f logfile]
         ptunnel [-m max_threads] [-x password] [-v verbosity] [-c <device>]
     -p: Set address of peer running packet forwarder. This causes
         ptunnel to operate in forwarding mode - the absence of this
         option causes ptunnel to operate in proxy mode.
    -lp: Set TCP listening port (only used when operating in forward mode)
    -da: Set remote proxy destination address
    -dp: Set remote proxy destionation port
     -m: Set maximum number of concurrent tunnels
     -x: Set password (must be same on client and proxy)
     -u: Run proxy in unprivileged mode. This causes the proxy to forward
         packets using standard echo requests, instead of crafting custom echo replies.
         Unprivileged mode will only work on some systems, and is in general less reliable
         than running in privileged mode.
     -v: Verbosity level (-1 to 4, where -1 is no output, and 4 is all output)
     -c: Enable libpcap on the given device.
     -f: Specify a file to log to, rather than printing to standard out.
     -s: Client only. Enables continuous output of statistics (packet loss, etc.)
   -udp: Toggle use of UDP instead of ICMP. Proxy will listen on port 53 (must be root).
------------------ snip ---------------------
Dalam artikel ini, Ptunnel server berjalan di mesin linux sementara klien menggunakan windows OS. Dan jika kita tidak ingin Ptunnel server kita digunakan oleh orang lain, maka kita bisa men-setup password pada Ptunnel server, sehingga jika ada request dari klien yang tidak mengetahui passwordnya, request itu akan diabaikan oleh Ptunnel.
# ptunnel -v 2 -f /var/log/ptunnel.log -x [PASSWORD] -setuid nobody -setgid nobody
# ptunnel :: nama programnya, diekskusi dengan hak akses sebagai 'root'
-v 2 :: verbosity level 2, mencatat log seperlunya (informasional)
-f /var/log/ptunnel.log :: menyimpan log Ptunnel di folder /var/log dengan nama file ptunnel.log
-x [PASSWORD] :: memberi password pada program Ptunnel server agar tidak dipakai oleh orang lain tanpa izin
-setuid nobody -setgid nobody :: menurunkan pangkat Ptunnel setelah running menjadi user bernama 'nobody' dan group 'nobody' (pastikan user dan group 'nobody' ini ada di system Anda, jika tidak ada bisa ditambahkan lebih dahulu). Tanpa 'nobody' ini pun Ptunnel tetap bisa berjalan, hanya pendapat dan kenyamanan pribadi saja bahwa saya tidak biasa menjalankan 'network daemon' dengan privilege 'root'.

Konfigurasi Ptunnel server telah selesai dan sekarang kita menuju laptop atau PC kita untuk menjalankan Ptunnel klien. Seperti yang telah saya tulis di atas, dalam artikel ini Ptunnel klien berjalan di mesin windows dan server berada di system linux. Pada kasus ini, selain menjalankan Ptunnel, saya juga akan membuat dynamic port forwarding di komputer saya menggunakan PuTTy. Dari command prompt windows, ekskusi Ptunnel klien dengan command:
ptunnel -x [PASSWORD] -p [PTUNNEL-SERVER-IP] -lp [local-listen-port] -da [IP-ssh-server] -dp [ssh-server-port]
ptunnel :: nama programnya
-x [PASSWORD] :: password harus disesuaikan dengan Ptunnel server yang telah kita setup sebelumnya.
-p [PTUNNEL-SERVER-IP] :: IP dari Ptunnel server, misalnya Ptunnel server kita memiliki IP 1.2.3.4, maka comand-nya -p 1.2.3.4
-lp [local-listen-port] :: (lp = listen port), kita tentukan di port berapa Ptunnel klien akan listen di PC kita. Misalnya -lp 8000, berarti Ptunnel klien akan menunggu koneksi di port 8000.
-da [IP-ssh-server] :: (da = destination address), kita setting ke mana tujuan kita. Misalnya kita ingin melakukan koneksi SSH ke IP 11.22.33.44, maka kita setting Ptunnel klien dengan command -da 11.22.33.44
-dp [ssh-server-port] :: (dp = destination port), tentukan ke port mana tujuan kita di sini. Nanti Ptunnel akan me-redirect-nya. Misalnya tujuan koneksi kita ke port 22, maka kita ketik -dp 22.

Perintah lengkap berdasarkan skenario di atas, jika IP Ptunnel server kita adalah 1.2.3.4, lalu ptunnel kita set agar listen di port 8000 pada PC kita, dan kita ingin melakukan SSH ke 11.22.33.44 di port 22 dan password dari Ptunnel servernya adalah 'password':
ptunnel -x password -p 1.2.3.4 -lp 8000 -da 11.22.33.44 -dp 22
ptunnel client 's command Selanjutnya tinggal kita jalankan PuTTy dan setting supaya konek ke localhost/127.0.0.1 di port 8000 seperti berikut:
PuTTy session settings
jangan lupa untuk meng-enable-kan opsi "keepalives" supaya tidak diskonek dari SSH server ketika kita idle dalam beberapa menit:
enable TCP keepalives option
centang pilihan "Enable compression" untuk mengirit bandwidth:
PuTTy enable compression
yang paling penting adalah setup dynamic port forwardingnya, kali ini saya memilih menggunakan port 5000 :
PuTTy dynamic port forward
kemudian log-in ke SSH server Anda dengan username dan password seperti biasanya:

Ping tunnel seharusnya sudah berfungsi dengan baik. Saatnya pengujian menggunakan browser kesayangan, apakah tunnelnya berhasil atau tidak. Misalnya kita memakai Mozilla Firefox, setting supaya menggunakan SOCKS proxy. Buka Firefoxnya lalu pilih menu "Tools", "Options", pilih "Advanced" tab, "Network". Seperti berikut:
firefox SOCKS settings
Dan cobalah untuk membuka alamat web apa saja, jika berhasil berarti Ptunnel sudah jalan secara semestinya. Dan, SELAMAT, mungkin Anda baru saja menemukan trik internet gratis Anda sendiri. Jangan bilang siapa-siapa jika memang berhasil...!

KEEP SILENT!!!
 
SUMBER :

5 comments:

  1. This comment has been removed by a blog administrator.

    ReplyDelete
    Replies
    1. weh ....
      bukan ane yang nge-hack Boss.
      saya mah nggak bisa hacking.
      Taunya make aja.
      :-)

      Delete
  2. Wadow.. Ini sih nambah pinter bwt para operator bwt nutupin bug mreka..
    Wkwkwkwkwk...

    ReplyDelete
    Replies
    1. Nyante Boss ...
      ini trik kan emang sudah mokad.

      :-)

      Delete
  3. nih trik masih bisa work asal di ubek dikit aja. pasang serper di warnet orang juga masih boleh (ane pake trik gituan) asal modem warnetnya set dolo NAT-VS nya... :) , untuk reperensinya bileh intip trik jaman dulu waktu ngexploit xp, good luck :)

    ReplyDelete