Arief Yudhawarman

Masih belajar buat blog

Drop koneksi ultrasurf dengan iptables

with 74 comments

Berawal dari sebuah thread email yang panjang dengan judul Block Ultrasurf di jaringan di milis tanya-jawab@linux.or.id membuat penulis menjadi ingin tahu dan tertantang untuk memecahkan masalah yang selama ini memusingkan banyak network administrator atau admin jaringan yaitu bagaimana memblok koneksi yang tidak diinginkan dari agent anonymizer bernama ultrasurf. Mengapa admin jaringan (selanjutnya disingkat admin) ingin memblok koneksi ini ? Kebijakan kantor tempatnya bekerja kemungkinan melarang staff atau karyawan membuka atau mengakses situs-situs seperti pertemanan sosial misalnya facebook, myspace atau friendster, yang mengandung konten pornografi, game online, judi online, warez, dan lain-lain. Admin dengan bekal pengetahuan instalasi proxy seperti squid dan dns sehat dengan opendns atau dns nawala tentu tidak akan mengalami kesulitan untuk memblok koneksi tersebut apabila koneksinya menggunakan protokol yang default atau http (tcp port 80, 3128 atau 8080). Masalahnya menjadi lain apabila koneksi tersebut memakai protokol yang secure seperti ssl (secure socket layer).

Ultrasurf pada awalnya dibuat untuk menembus sensor atau firewall yang ketat yang dipasang oleh pemerintah Republik Rakyat China. Sensor ini dinamakan The Great Firewall yang ditujukan untuk membendung atau menutup akses ke situs-situs internet yang tidak diinginkan dari user internet di China. Menurut pembuatnya ultrasurf menyembunyikan ip address pemakai dan sekaligus lokasi geografisnya serta histroy akses di browser (privacy). Kedua, komunikasi data akan melalui enkripsi tingkat tinggi sehingga jauh lebih aman(security). Ketiga, bebas mengakses informasi yang dinginkan tanpa sensor (freedom). Ketiga faktor di atas yang rupanya sangat tidak disukai admin, meski tidak hidup di Republik Rakyat China :).

Pertanyaan yang sering mengganjal adalah mengapa koneksi ini susah diblok, didrop atau dicegah ?

  1. Ultrasurf akan membuka koneksi terlebih dahulu dengan ip server ultrasurf melalui protokol ssl. Begitu terhubung, user bisa membuka situs, misal facebook, dengan browser iexplorer atau firefox. Komunikasi antara user dengan situs tujuan akan melalui ip server ini. IP server ini acak atau random.
  2. Tukar menukar informasi antara user dengan situs tujuan akan melalui enkripsi tingkat tinggi yang amat susah untuk dipecahkan.

ultrasurf menembus firewall biasa yang memungkinkan user membuka facebook
Gambar 1: Ultrasurf menembus firewall yang memungkinkan user membuka facebook.

Sebagai contoh, saat user membuka browser firefox dan mengetikkan alamat http://www.facebook.com, maka langkah-langkah yang dilakukan oleh firefox adalah:

  1. Firefox akan request ke dns system alamat ip http://www.facebook.com
  2. Setelah memperoleh ip address, firefox akan membuka komunikasi ke ip tersebut melalui protokol http
  3. Server http://www.facebook.com memberi tanda kepada firefox untuk segera memulai pengiriman data. Firefox kirim data dengan isi kurang lebih sebagai berikut:

    GET / HTTP/1.1
    Host: www.facebook.com
    User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip,deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Cookie: locale=en_US; ...
    
  4. Server facebook akan mengirimkan data yang diminta.

Jika admin ingin mencegah akses ke facebook maka salah satu alternatif di bawah ini bisa dilakukan:

  1. Buat spoofing di mesin dns cache agar request untuk ip address http://www.facebook.com diarahkan ke ip lain, misal local adress 127.0.0.1.
  2. Buat rule di mesin proxy transparent untuk mencegah akses ke situs http://www.facebook.com.
  3. Buat rule firewall dengan iptables atau layer7 untuk mendrop paket yang mengandung string text “Host: http://www.facebook.com“.

Namun untuk mendrop akses ke facebook jika user menggunakan ultrasurf tidak semudah itu. Di bawah ini aliran paket data ultrasurf dari ip 172.16.2.62 yang ditangkap dengan perintah tcpdump. Perintah di bawah ini akan menangkap trafik tcp port 443 dari ip client 172.16.2.62:

tcpdump -A -X -s 0 -i eth1 tcp port 443 and host 172.16.2.62

16:45:04.970813 IP 172.16.2.62.43603 > 65.49.14.19.443: S 220713247:220713247(0) win 5840
        0x0000:  4500 003c 9a06 4000 4006 a323 ac10 023e  E..
        0x0010:  4131 0e13 aa53 01bb 0d27 d11f 0000 0000  A1...S...'......
        0x0020:  a002 16d0 5d89 0000 0204 05b4 0402 080a  ....]...........
        0x0030:  00a7 4b19 0000 0000 0103 0306            ..K.........
16:45:04.970928 IP 172.16.2.62.54844 > 219.84.177.187.443: S 228610802:228610802(0) win 5840
        0x0000:  4500 003c 19eb 4000 4006 e572 ac10 023e  E..
        0x0010:  db54 b1bb d63c 01bb 0da0 52f2 0000 0000  .T... 59.115.48.151.443: S 227881447:227881447(0) win 5840
        0x0000:  4500 003c 7afe 4000 4006 a565 ac10 023e  E..
        0x0010:  3b73 3097 b77c 01bb 0d95 31e7 0000 0000  ;s0..|....1.....
        0x0020:  a002 16d0 d264 0000 0204 05b4 0402 080a  .....d..........
        0x0030:  00a7 4b19 0000 0000 0103 0306            ..K.........
16:45:04.971306 IP 172.16.2.62.54003 > 65.49.14.51.443: S 218556728:218556728(0) win 5840
        0x0000:  4500 003c a221 4000 4006 9ae8 ac10 023e  E..
        0x0010:  4131 0e33 d2f3 01bb 0d06 e938 0000 0000  A1.3.......8....
        0x0020:  a002 16d0 1cd1 0000 0204 05b4 0402 080a  ................
        0x0030:  00a7 4b19 0000 0000 0103 0306            ..K.........
16:45:05.169198 IP 65.49.14.51.443 > 172.16.2.62.54003: S 2381962829:2381962829(0) ack 218556729 win 5792
        0x0000:  4500 003c 0000 4000 3306 4a0a 4131 0e33  E.........M...9
        0x0020:  a012 16a0 8965 0000 0204 0534 0402 080a  .....e.....4....
        0x0030:  2b16 fcab 00a7 4b19 0103 0307            +.....K.....
16:45:05.169247 IP 172.16.2.62.54003 > 65.49.14.51.443: . ack 1 win 92
        0x0000:  4500 0034 a222 4000 4006 9aef ac10 023e  E..4."@.@......>
        0x0010:  4131 0e33 d2f3 01bb 0d06 e939 8df9 de4e  A1.3.......9...N
        0x0020:  8010 005c cdc4 0000 0101 080a 00a7 4b4a  ...\..........KJ
        0x0030:  2b16 fcab                                +...
16:45:05.172175 IP 172.16.2.62.54003 > 65.49.14.51.443: F 1:1(0) ack 1 win 92
        0x0000:  4500 0034 a223 4000 4006 9aee ac10 023e  E..4.#@.@......>
        0x0010:  4131 0e33 d2f3 01bb 0d06 e939 8df9 de4e  A1.3.......9...N
        0x0020:  8011 005c cdc2 0000 0101 080a 00a7 4b4b  ...\..........KK
        0x0030:  2b16 fcab                                +...
16:45:05.174003 IP 65.49.14.19.443 > 172.16.2.62.43603: S 4161793464:4161793464(0) ack 220713248 win 5792
        0x0000:  4500 003c 0000 4000 5506 282a 4131 0e13  E.....S.....'..
        0x0020:  a012 16a0 8a39 0000 0204 0534 0402 080a  .....9.....4....
        0x0030:  cd35 20ee 00a7 4b19 0103 0308            .5....K.....
...

Tidak mudah atau mustahil untuk mendrop akses ke facebook dari user ultrasurf. Yang bisa dilakukan adalah mendrop koneksi dari agent ultrasurf itu sendiri, yaitu saat ultrasurf membuka koneksi dengan ip servernya, tepatnya saat agent ultrasurf sudah melewati TCP 3-Way Handshake dan sebuah paket baru yang berisi data “Client Hello” dikirim ke ip server. Di samping tcpdump, alat bantu yang berguna untuk analisa paket data adalah wireshark. Penjelasan lengkap mengenai tcpdump dan wireshark bisa dibaca di blog penulis tcpdump dan wireshark untuk sniffing network.

SSL Handshake Protocol Flow

The SSL Handshake Protocol has two major phases. The first phase is used to establish private communications. The second phase is used for client authentication.

Phase 1
The first phase is the initial connection phase where both parties communicate their “hello” messages. The client initiates the conversation by sending the CLIENT-HELLO message. The server receives the CLIENT-HELLO message and processes it responding with the SERVER-HELLO message.

At this point both the client and server have enough information to know whether or not a new master key is needed. When a new master key is not needed, both the client and the server proceed immediately to phase 2.

When a new master key is needed, the SERVER-HELLO message will contain enough information for the client to generate it. This includes the servers signed certificate (more about that later), a list of bulk cipher specifications (see below), and a connection-id (a connection-id is a randomly generated value generated by the server that is used by the client and server during a single connection). The client generates the master key and responds with a CLIENT-MASTER-KEY message (or an ERROR message if the server information indicates that the client and server cannot agree on a bulk cipher).

It should be noted here that each SSL endpoint uses a pair of ciphers per connection (for a total of four ciphers). At each endpoint, one cipher is used for outgoing communications, and one is used for incoming communications. When the client or server generate a session key, they actually generate two keys, the SERVER-READ-KEY (also known as the CLIENT-WRITE-KEY) and the SERVER-WRITE-KEY (also known as the CLIENT-READ-KEY). The master key is used by the client and server to generate the various session keys (more about that later).

Finally, the server sends a SERVER-VERIFY message to the client after the master key has been determined. This final step authenticates the server, because only a server which has the appropriate public key can know the master key.
Referensi: The SSL Protocol

Sekarang kita bahas lihat saja yang dilakukan client – server saat phase 1:

client-hello C -> S: challenge, cipher_specs
server-hello S -> C: connection-id,server_certificate,cipher_specs
client-master-key C -> S: {master_key}server_public_key
client-finish C -> S: {connection-id}client_write_key
server-verify S -> C: {challenge}server_write_key
server-finish S -> C: {new_session_id}server_write_key

Referensi: The SSL Protocol

Kali ini tcpdump akan menyimpan hasilnya ke file dump agar nanti dibaca wireshark, sebelumnya keluar dari program ultrasurf dahulu, dan jalankan tcpdump seperti contoh di bawah:
tcpdump -w dump -s 0 -i eth1 tcp port 443 and host 172.16.2.62
Jalankan ultrasurf, setelah terhubung dengan servernya maka akan tampil gambar seperti di bawah ini:

ultrasurf konek dengan sukses ke server
Gambar 2: Ultrasurf konek dengan sukses ke server

Packet summary ultrasurf

Gambar 3: Packet sumary ultrasurf

Gambar di atas pada baris 42 memperlihatkan paket tcp ssl dari ip 172.16.2.62 ke ip 114.44.124.59 yang berisi pesan Client Hello . Pada koneksi baru, paket ini belum mengandung “session_id”. Deskripsi mengenai isi paket ditunjukkan pada gambar di bawah:

Packet detail utrasurf client hello

Gambar 4: Deskripsi paket tcp ssl ultrasurf

Paket tcp ssl ini mengandung data dengan panjang 70 (Len: 70). Saat koneksi baru, Session ID Length berisi karakter null. Panjang handshake protocol ini sebesar 65. Isi data paket tcp ditampilkan secara tabel HEX dan ASCII pada gambar 5 di bawah:

packet hex ascii ultrasurf

Gambar 5: Detail paket tcp ssl ultrasurf dalam tabel HEX dan ASCII

Sampai sejauh ini kita baru mengumpulkan 1 buah paket tcp ssl yang berisi pesan Client Hello untuk koneksi baru (session_id belum ada). Apakah ada kemiripan pola bila kita kumpulkan sebanyak mungkin paket ini ? Berikut ini hasil tangkapan tcpdump yang penulis kumpulkan dari beberapa koneksi ultrasurf ke ip server yang berbeda-beda:
Paket data tcp ssl "Client Hello" ke beberapa ip server ultrasurf

Gambar 6: Paket data tcp ssl “Client Hello” ke beberapa ip server ultrasurf

Beberapa kemiripan yang mencolok sekali adalah:

  1. Semua data mempunya panjang 70.
  2. Sebelas data pertama mempunyai karakter hexadecimal yang mirip: 16 03 01 00 41 01 00 00 3d 03 01.
    TLSv1 Record Layer: Handshake Protocol  : Client Hello
            Content Type: Handshake (22)    : 16    
            Version: TLS 1.0 (0x0301)       : 03 01 
            Length: 65                      : 00 41
            Handshake Protocol: Client Hello
                    Handshake Type: Client Hello (1): 01    
                    Length: 61                      : 00 00 3D
                    Version: TLS 1.0 (0x0301)       : 03 01 
                    Random                          : ...
                    Session ID Length: 0            : 00    
                    Cipher Suites Length: 22        : 00 16  
                    Cipher Suites (11 suites)       : ...
                    Compression Methods Length: 1   : 01    
                    Compression Methods (1 method)  : 00
    
  3. Cipher suite yang mirip: 00040005000a00090064006200030006001300120063

Sampai di sini pola hexadecimal untuk pencarian paket tcp ssl koneksi baru ultrasurf sudah kita peroleh yaitu 16030100410100003d0301. Namun bagaimana dengan paket tcp ssl dari agent non ultrasurf seperti browser IExplorer atau Firefox ? Apakah ada kemungkinan paketnya mempunyai pola hexadecimal yang mirip ?

  • Isi data paket tcp ssl “Client Hello” ke https://ibank.klikbca.com/ dari browser IExplorer.

    0000 80 4c 01 03 00 00 33 00 00 00 10 00 00 04 00 00 .L....3.........
    0010 05 00 00 0a 01 00 80 07 00 c0 03 00 80 00 00 09 ................
    0020 06 00 40 00 00 64 00 00 62 00 00 03 00 00 06 02 ..@..d..b.......
    0030 00 80 04 00 80 00 00 13 00 00 12 00 00 63 d5 3b .............c.;
    0040 28 8b 4a ac 52 1a 81 f8 a5 99 89 15 be 3b (.J.R........;
  • Isi data paket tcp ssl “Client Hello” ke https://help.ubuntu.com/ dari browser Opera.

    0000 16 03 01 00 70 01 00 00 6c 03 01 4b cd 60 42 c3 ....p...l..K.`B.
    0010 65 a2 5a 38 46 d5 b0 cf 40 a0 d7 a9 a2 58 c0 cd e.Z8F...@....X..
    0020 8d 5a 5a af 9b 3a c8 dd 54 5c b6 00 00 22 00 39 .ZZ..:..T\...".9
    0030 00 38 00 37 00 36 00 35 00 33 00 32 00 31 00 30 .8.7.6.5.3.2.1.0
    0040 00 2f 00 05 00 04 00 13 00 0d 00 16 00 10 00 0a ./..............
    0050 01 00 00 21 00 00 00 14 00 12 00 00 0f 68 65 6c ...!.........hel
    0060 70 2e 75 62 75 6e 74 75 2e 63 6f 6d 00 05 00 05 p.ubuntu.com....
    0070 01 00 00 00 00 .....
  • Isi data paket tcp ssl “Client Hello” ke https://login.yahoo.com/ dari browser Firefox.

    0000 00 25 9c 2f a6 67 00 1c bf 27 75 65 08 00 45 00 .%./.g...'ue..E.
    0010 00 d8 94 28 40 00 40 06 0b 4c ac 10 02 3e 42 a3 ...(@.@..L...>B.
    0020 a9 ba ac b9 01 bb 65 ad 9d af 26 a4 27 2d 80 18 ......e...&.'-..
    0030 00 5c 85 a9 00 00 01 01 08 0a 00 9d 09 ba b7 45 .\.............E
    0040 6e 8c 16 03 01 00 9f 01 00 00 9b 03 01 4b f3 b3 n............K..
    0050 c4 15 ed 40 55 89 3d 0f 4b dc 58 83 24 de 80 3c ...@U.=.K.X.$..<
    0060 62 99 57 58 11 8e 9e 11 93 f6 73 80 55 00 00 44 b.WX......s.U..D
    0070 c0 0a c0 14 00 88 00 87 00 39 00 38 c0 0f c0 05 .........9.8....
    0080 00 84 00 35 c0 07 c0 09 c0 11 c0 13 00 45 00 44 ...5.........E.D
    0090 00 33 00 32 c0 0c c0 0e c0 02 c0 04 00 41 00 04 .3.2.........A..
    00a0 00 05 00 2f c0 08 c0 12 00 16 00 13 c0 0d c0 03 .../............
    00b0 fe ff 00 0a 01 00 00 2e 00 00 00 14 00 12 00 00 ................
    00c0 0f 6c 6f 67 69 6e 2e 79 61 68 6f 6f 2e 63 6f 6d .login.yahoo.com
    00d0 00 0a 00 08 00 06 00 17 00 18 00 19 00 0b 00 02 ................
    00e0 01 00 00 23 00 00 ...#..

Diihat sekilas dari panjang datanya saja semuanya tidak ada yang sama dengan panjang paket data tcp ssl ultrasurf. Sebelum memblok atau mendrop paket data ini dengan iptables, kita tangkap dulu paketnya dan kirim hasilnya ke log. Rule iptables di bawah ini bekerja di mesin router:

iptables -I FORWARD -p tcp --dport 443 -m string --hex-string '|16 03 01 00 41 01 00 00 3D 03 01|' --algo bm -j LOG --log-prefix "ultrasurf: "

Paket yang tertangkap akan terlihat hasilnya di output dmesg atau di /var/log/messages

[15671.107102] ultrasurf: IN=eth0 FORWARD=eth1 SRC=172.16.2.62 DST=220.136.214.27 LEN=122 TOS=0x00 PREC=0x00 TTL=64 ID=25853 DF PROTO=TCP SPT=37293 DPT=443 WINDOW=92 RES=0x00 ACK PSH URGP=0 
[15679.664967] ultrasurf: IN=eth0 FORWARD=eth1 SRC=172.16.2.62 DST=65.49.14.13 LEN=122 TOS=0x00 PREC=0x00 TTL=64 ID=1374 DF PROTO=TCP SPT=47758 DPT=443 WINDOW=92 RES=0x00 ACK PSH URGP=0 
[15693.381204] ultrasurf: IN=eth0 FORWARD=eth1 SRC=172.16.2.62 DST=65.49.14.12 LEN=122 TOS=0x00 PREC=0x00 TTL=64 ID=54363 DF PROTO=TCP SPT=47003 DPT=443 WINDOW=92 RES=0x00 ACK PSH URGP=0 

Paket yang tertangkap itu semuanya mempunyai tcp flags diset ACK,PSH. Kemudian untuk tidak membebani kerja router sebaiknya kita batasi batas pencarian datanya sampai 77 bytes (pola hexadecimal 11 bytes ditambah link layer+ip header+tcp header). Apabila sudah yakin sebaiknya didrop saja:

iptables -I FORWARD -p tcp --dport 443 --tcp-flags SYN,ACK,FIN,RST,PSH ACK,PSH -m string --to 77 --hex-string '|16030100410100003d0301|' --algo bm -j DROP

Gambar-gambar di bawah ini memperlihatkan agent ultrasurf sudah tidak berkutik atau tidak dapat menghubungi servernya lagi setelah paket “Client Hello”-nya di-DROP oleh iptables meski demikian browsing ke beberapa situs ssl tidak terpengaruh dan dapat berlangsung dengan lancar :).
koneksi ultrasurf didrop oleh iptables

Gambar 7: Koneksi ultrasurf didrop oleh iptables

Aplikasi SSL BCA banking lolos meski ultrasurf didrop

Gambar 8: Aplikasi SSL BCA banking lolos meski ultrasurf didrop

Login webmail yahoo via ssl lolos meski ultrasurf didrop

Gambar 9: Login webmail yahoo via ssl lolos meski ultrasurf didrop

Aplikasi ssl bank mandiri lolos meski ultrasurf didrop

Gambar 10: Aplikasi ssl bank mandiri lolos meski ultrasurf didrop

Last update: 2013-02-16 14:30 +07:00

Written by awarmanf

May 1, 2010 at 4:15 am

Posted in Firewall, Linux, sniffing

74 Responses

Subscribe to comments with RSS.

  1. cool! 😀

    andika

    May 19, 2010 at 12:06 pm

  2. TOP BGT sangat detail penjabaran nya.. keep posting pak 🙂

    milano94

    May 19, 2010 at 1:45 pm

  3. bung arief kenapa pake uSURF yg versi 9.92 bisa tembus alias bisa browsing juga, tapi klau pake uSURF 9.95 dipastikan tidak bisa Brow alias Gagal TOTAL browsingnya

    Firman

    May 20, 2010 at 5:37 am

    • Anda harus sniffer paket ultrasurf dengan tcpdump, lalu analisa dengan wireshark. Kemungkinan besar yg versi 9.92 mempunyai karakteristik 11 bytes pertama yang unik, berbeda dg yg versi 9.95.

      Arief Yudhawarman

      May 20, 2010 at 5:41 am

  4. jika firefoxnya ver. 3.6.3 meski kita set use proxy localhost port 9666 and uSURF 9.95 dgn script iptables tsb pasti ke block or tanpa kita setting proxy firefoxnya tetap tidak bisa tembus Browsingnya, namun jika menggunakan uSURF 9.92 ultrasurfnya masih bisa lancar… apa polanya yg beda yachh…???

    Firman

    May 20, 2010 at 5:45 am

    • Polanya beda pasti. Emailkan file dump dr tcpdump ke saya nanti akan coba dianalisa.
      Misal ip yg dicurigai 1.2.3.4
      Device router ke lan eth0
      tcpdump -w dump -s 0 -i eth0 tcp port 443 and host 1.2.3.4
      Pastikan saja tidak ada trafik lain selain ultrasurf biar gampang analisanya.

      Arief Yudhawarman

      May 20, 2010 at 5:50 am

  5. salut !!

    Neris Itu Gue

    May 23, 2010 at 8:04 am

  6. Wah…solusi yang bagus nih mas…buat ngelawan si Ultrasurf….tak coba buat di kantor baru nih.. 🙂

    irving

    June 3, 2010 at 7:15 am

    • Selain ultrasurf, ada banyak lagi seperti tor/vidalia, freegate, dll. Maunya saya post di artikel baru karena khusus vidalia ini pakai teknik tersendiri. Oya selamat bekerja di lingkungan baru :).

      Arief Yudhawarman

      June 3, 2010 at 7:19 am

  7. Kira2 rules iptablesnya bisa diimplementasikan pada /ip firewall filternya mikrotik ngga mas…

    irving

    June 3, 2010 at 7:18 am

    • Mas irving ndak langganan milis tanya-jawab? Ada yg tanya begitu dan saya jawab begini:
      “Kalau signaturenya tidak mengandung karakter null bisa diblok Pak.
      Karena ada keterbatasan di layer7 untuk ini:

      “Both versions of l7-filter strip out the nulls (\x00 bytes) from network data so that they can treat it as normal C strings. So (1) you can’t match on nulls and (2) fields may appear shorter than expected. For example, if a protocol has a 4 byte field and any of those bytes can be null, it can appear to be any length from 0 to 4.”

      Ref: http://l7-filter.sourceforge.net/Pattern-HOWTO

      Saya sudah coba di mikrotik tidak bisa.

      Arief Yudhawarman

      June 3, 2010 at 7:24 am

      • heehe..kebetulan ngga langganan di milis mas.. 🙂 wah..berarti cuman mempan pake iptables di linux aja yah mas…karena keterbatasan regexp L7 yah… 🙂
        thx pencerahannya mas.. 🙂

        irving

        June 4, 2010 at 4:09 am

  8. pak arief minta tolong di analisis –hex-string untuk ultrasurf 9.96 (versi baru). kalau yang lama 9.95 kebawah sudah ok. soalnya belum bisa pakai wireshark dan tcpdump. thx banyak pak ya.

    mailponus

    June 20, 2010 at 7:49 am

    • Rupanya bisa didrop pakai pola cipher suite. Pola ini tidak berubah sejak versi 9.95:
      iptables -I FORWARD -p tcp –dport 443 –tcp-flags SYN,ACK,FIN,RST,PSH ACK,PSH -m string –to 256 –hex-string ‘|00040005000a00090064006200030006001300120063|’ –algo bm -j DROP

      Arief Yudhawarman

      June 20, 2010 at 11:57 am

      • Jelasnya, pakai rule itu bisa blok ultrasurf versi 9.95 dan 9.96 :D.

        Arief Yudhawarman

        June 20, 2010 at 11:58 am

      • Di tempat saya, gateway user pake Mikrotik pak… paket ke 80 di belokan ke mesin Linux yang ada squidnya
        Kalau saya mau block Ultra Surf berarti di Mikrotiknya kan ? Apa dengan di Mikrotik ada options –hex-string

        Nyoman [D]

        June 23, 2010 at 4:04 am

  9. Pak arief thx banyak ya. pak arief best of the best. Atas informasinya ultrasurf versi 9.96. 😀

    mailponus

    June 21, 2010 at 7:50 pm

  10. Pak Arif, UltraSurf skr sudah versi 9.97 saya tangkap pake L7 protocol di Mikrotik v3.30 dengan hex=”^\16310\41100\3D31″ dan mangle tidak tertangkap, alias address list nya tidak terbentuk

    Yang jadi pertanyaannya ada, pake tool apa untuk menganalisa file hasil tcpdump seperti di gambar di atas pak ?
    Kalau bapak bisa membantu menganalisa filenya ada di http://115.69.219.11/dump-20100706

    Thanks

    Nyoman [D]

    July 6, 2010 at 2:37 am

    • Pakai wireshark. File dump sudah saya analisa dengan wireshark, pola cipher suites (11 suites) sama dengan ultrasurf sebelumnya:
      00040005000a00090064006200030006001300120063
      Oya kalau pakai L7 tidak akan bisa menangkap karakter null (0x00).

      Arief Yudhawarman

      July 6, 2010 at 3:04 am

      • Saya juga melakukan percobaan dengan gateway linux… dan melakukan log dengan perintah:
        iptables -I FORWARD -p tcp –dport 443 -m string –hex-string ‘|16 03 01 00 41 01 00 00 3D 03 01|’ –algo bm -j LOG –log-prefix “ultrasurf: ” tapi di /var/log/message kok nggak muncul ya.. sudah coba juga dengan menghilangkan spasi menjadi ‘|16030100410100003D0301|’

        Jadi kesimpulannya, sampai saat ini belum berhasil block UltraSurf jika gateway menggunakan Mikrotik pak ?

        Thanks

        Nyoman [D]

        July 6, 2010 at 4:40 am

        • Itu pakai ultrasurf yang versi berapa? Kalau versi 9.95 pola hexstringnya memang ‘16030100410100003d0301’ tapi kalau versi di atasnya beda lagi, anda pakai hexstring ini ‘00040005000a00090064006200030006001300120063’ itu bisa u/ versi 9.95, 9.96 dan 9.97.
          Sampai saat ini belum berhasil di mikrotik. Saya sendiri sudah tanya ke forum.mikrotik.com tapi belum dapat jawaban yang memuaskan.

          Arief Yudhawarman

          July 6, 2010 at 4:47 am

  11. Sekali lagi pak arief terima kasih. Dengan ultrasurf sudah bisa keblock semua. tapi ada satu lagi yang masih bandel namanya HTTP Tunnel (www.http-tunnel.com). mohon pecerahan nya tentang hex string untuk HTTP Tunnel

    mailponus

    July 15, 2010 at 11:31 am

    • Ada alasan saya mengulas panjang langkah-langkah untuk memblok anonymizer ssl ini yakni agar pembaca bisa memcoba sendiri karena sudah diberi kailnya tinggal cari ikannya :). Tetapi kebanyakan malah minta dicarikan :D. Ok ndak mengapa, kalau ada waktu luang saya coba aplikasi tunnel ini.

      Arief Yudhawarman

      July 15, 2010 at 2:36 pm

      • Sudah saya coba. Kalau ini sih cukup dengan memblok koneksi ke ip 209.8.41.80 itu yang memhosting layanan http-tunnel.com. Bisa juga ditambah ip 209.8.41.104.

        $ dig +short http-tunnel.com
        209.8.41.104
        $ host -t ptr 209.8.41.80
        80.41.8.209.in-addr.arpa domain name pointer paid104.http-tunnel.com

        Untuk teknik yang lebih canggih bisa pakai layer7. Ini yang saya coba di router mikrotik:

        /ip firewall layer7
        add name=http-tunnel regexp=”^get./login/fetchprotocolversion2.htm.http/[-~\t-\r]*host:.cachenetwork.net

        /ip firewall mangle
        add chain=prerouting action=add-dst-to-address-list protocol=tcp src-address-list=imn-network address-list=http-tunnel address-list-timeout=1w layer7-protocol=http-tunnel in-interface=ether4 dst-port=80 comment=”ADD dst-add to http-tunnel (L7)”

        Kemudian tinggal buat rule di ip firewall untuk blok koneksi ke dst-address-list=http-tunnel

        Arief Yudhawarman

        July 15, 2010 at 3:20 pm

        • ditempat saya harus tambah ip ini utk diblok 206.161.99.149 dan 206.161.99.65.

          mailponus

          July 16, 2010 at 2:38 am

  12. yang lebih mengerikan jika di bypass pakai tor browser ( http://www.torproject.org/easy-download.html.en ). semuanya tembus. tinggal di gunakan pakai plugin pada mozilla firefox.

    mailponus

    July 15, 2010 at 2:09 pm

    • Hehehe :). Saya sudah menemukan pattern hexnya dan sudah berhasil memblok tor/vidalia. Agak sedikit tricky untuk memblok ini. Kapan-kapan saya upload tulisannya.

      Arief Yudhawarman

      July 15, 2010 at 2:33 pm

      • He he he 🙂 . Ditunggu ya pak. tq

        mailponus

        July 16, 2010 at 3:32 am

  13. di saya koh pake ultrasurf997 lewat yah, meski sudah
    00040005000a00090064006200030006001300120063
    ada info ?

    andisaputro

    July 16, 2010 at 11:09 am

  14. Dear Arief,

    I read your article using Google translation (Sorry I don’t know ur language) It’s really a good article but I am not able to block UltraSurf Ver.997 My Hex is 16 03 00 00 61 01 00 00 5d 03 00 and I tried the command
    “iptables -I FORWARD -p tcp –dport 443 -m string –hex-string ‘|16 03 00 00 61 01 00 00 5d 03 00|’ –algo bm -j LOG –log-prefix “ultrasurf: ”
    But I am unable to block it so please give me proper guidance, where I am missing ?

    Thanking you !

    Sudip Mokashi

    August 9, 2010 at 4:48 am

    • You can not use those pattern to block ultrasurf 9.97. Use cipher suite instead. The pattern is below:
      00040005000a00090064006200030006001300120063
      So to totally block ultrasurf the iptables must be:

      iptables -I FORWARD -p tcp –dport 443 –tcp-flags SYN,ACK,FIN,RST,PSH ACK,PSH -m string –to 512 –hex-string ‘|00040005000a00090064006200030006001300120063|’ –algo bm -j DROP

      Arief Yudhawarman

      August 9, 2010 at 5:28 pm

  15. Dear Arief,
    I tried following command after adding my cipher value but thats not able to block the UltraSurf !!!

    iptables -I FORWARD -p tcp –dport 443 –tcp-flags SYN,ACK,FIN,RST,PSH ACK,PSH -m string –to 512 –hex-string ‘|00040005000a00090064006200030006001300120063|’ –algo bm -j DROP

    Sudip Mokashi

    August 10, 2010 at 6:29 am

    • R u there Buddy ???

      Sudip

      August 14, 2010 at 5:37 am

  16. Kenapa tidak di tutup saja port 9666. Atau buka saja port yang perlu tutup yang lainnya.

    pilman

    October 12, 2010 at 2:39 pm

  17. i can’t block ultrasurf with this rule:

    iptables-I FORWARD-p tcp-dport 443-tcp-flags SYN, ACK, FIN, RST, PSH ACK, PSH-m string-to 512-hex-string ‘| 00040005000a00090064006200030006001300120063 |’-algo bm-j DROP

    i think the structure of ultra version 9.97 until 9.99 was changed.
    Please help me Ariel !!!

    ali

    October 14, 2010 at 1:26 pm

  18. You can dump the packets with tcpdump and analyze it with wireshark. Use this command at your linux router:

    # this should be in 1 line
    tcpdump -w dump -s 1024 -i eth0 tcp port 443 and host 1.2.3.4

    Or you can use this command to dump only ‘ACK,PSH’ packets:

    # this should be 1 line
    tcpdump -w dump -s 1024 -i eth0 src host 1.2.3.4 and tcp port 443 and ‘(tcp[13] = 0x18)’

    Where:
    eth0 is LAN interface.
    1.2.3.4 is the suspicous client (using ultrasurf).

    Make sure when you use this command only ultrasurf is running or the packets will be mingled with non ultrasurf applications which make difficult to analyze or give wrong conclusion.

    You can email me the dump file.

    Arief Yudhawarman

    October 15, 2010 at 3:49 am

    • rule diatas tidak mempan ma ultrasurf versi 9.99 pak,
      ada cara lain??

      hendra

      October 21, 2010 at 5:25 am

      • Nanti kalau ada waktu saya akan coba koneksi pakai ultrasurf 9.99 dan amati paketnya dengan wireshark. Tunggu updatenya di sini.

        Arief Yudhawarman

        October 21, 2010 at 11:07 am

  19. menunggu updatean pak arief Mode ON

    hendra

    October 25, 2010 at 2:31 am

  20. masi menunggu dengan sabar MODE ON

    hendra

    October 28, 2010 at 8:48 am

  21. saya menganalisa traffic ultrasurf di versi 10.01 dan mendapatkan hex string yang sama di 16030101670100016301

    tapi settingan iptables saya ada masalah sehingga saya tidak bisa mengujinya.

    bagi yang uda bisa blok versi 9.5 tapi ga bisa blok versi 10, mungkin bisa coba hex string ini

    thanks

    hendra

    October 31, 2010 at 4:57 am

  22. versi 10.01

    iptables -I FORWARD -d 65.49.14.0/24 -j DROP

    lalu drop ini juga :
    STRING match “|00350005000ac013c014c009c00a0032|”

    andisaputro

    November 11, 2010 at 5:36 am

    • rule saya seperti ini ko hex string ga berfungsi yah ? apakah ada kesalahan di rulenya..mohon bantuan untuk perbaikan.. terima kasih.

      *mangle

      #*filter
      :FORWARD ACCEPT [0:0]
      :INPUT ACCEPT [0:0]
      :blokinet – [0:0]
      :RH-Firewall-1-INPUT – [0:0]
      :OUTPUT ACCEPT [0:0]
      -A INPUT -i eth2 -j LOG –log-prefix “BANDWIDTH_IN:” –log-level 7
      -A INPUT -j RH-Firewall-1-INPUT
      -A INPUT -p tcp -m tcp –dport 3724 -j DROP
      -A INPUT -p tcp -m tcp –dport 6112 -j DROP
      -A INPUT -p tcp -m tcp –dport 6113 -j DROP
      -A INPUT -p tcp -m tcp –dport 6114 -j DROP
      -A INPUT -p tcp -m tcp –dport 6115 -j DROP
      -A INPUT -p tcp -m tcp –dport 6116 -j DROP
      -A INPUT -p tcp -m tcp –dport 6117 -j DROP
      -A INPUT -p tcp -m tcp –dport 6118 -j DROP
      -A INPUT -p tcp -m tcp –dport 4959 -j DROP

      -A FORWARD -o eth2 -j LOG –log-prefix “BANDWIDTH_OUT:” –log-level 7
      -A FORWARD -i eth2 -j LOG –log-prefix “BANDWIDTH_IN:” –log-level 7
      -A FORWARD -j RH-Firewall-1-INPUT
      -A OUTPUT -o eth2 -j LOG –log-prefix “BANDWIDTH_OUT:” –log-level 7
      -A FORWARD -p tcp -m tcp -m string –dport 443 -j DROP –hex-string “|16030100410100003d0301|” –algo bm –to 65535
      -A RH-Firewall-1-INPUT -i lo -j ACCEPT
      -A RH-Firewall-1-INPUT -p icmp -m icmp –icmp-type any -j ACCEPT
      -A RH-Firewall-1-INPUT -p esp -j ACCEPT
      -A RH-Firewall-1-INPUT -p ah -j ACCEPT
      -A RH-Firewall-1-INPUT -p udp -m udp -d 224.0.0.251 –dport 5353 -j ACCEPT
      -A RH-Firewall-1-INPUT -p udp -m udp –dport 631 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 631 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 10000 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 445 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 139 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 80 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 3128 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 443 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 444 -j ACCEPT
      -A RH-Firewall-1-INPUT -p udp -m udp –dport 53 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 53 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 1920 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 5050 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 5222 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 5223 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 1272 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 9443 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 5900 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 25 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 110 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 143 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 995 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 5938 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 9889 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp –dport 9666 -j DROP
      #-A RH-Firewall-1-INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m state -m tcp –dport 22 –state NEW -j ACCEPT
      COMMIT
      # Completed on Tue Sep 21 14:35:31 2010
      # Generated by iptables-save v1.3.5 on Tue Sep 21 14:35:31 2010
      *nat
      :PREROUTING ACCEPT [348158:33815310]
      :POSTROUTING ACCEPT [827:216308]
      :OUTPUT ACCEPT [387572:25487928]

      -A PREROUTING -s ! 192.168.0.1 -i eth2 -p tcp -m tcp –dport 80 -j DNAT –to-destination 192.168.0.1:3128
      -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 443 -j DNAT –to-destination 192.168.11.250:443
      -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 5900 -j DNAT –to-destination 192.168.11.250:5900
      -A POSTROUTING -o eth0 -j MASQUERADE

      COMMIT
      # Completed on Tue Sep 21 14:35:31 2010

      # Generated by webmin
      *filter
      :FORWARD ACCEPT [0:0]
      :INPUT ACCEPT [0:0]
      :OUTPUT ACCEPT [0:0]
      COMMIT
      # Completed

      hendra

      November 16, 2010 at 1:14 am

  23. pak arif di ultrasurf yg paling baru, saya tidak melihat tls handshaking lagi ya?

    hari

    December 1, 2010 at 12:59 pm

    • Tidak ada handshaking untuk ultrasurf versi 10.x. Tapi anda bisa drop paketnya spt saran rekan di atas:

      iptables -I FORWARD -d 65.49.14.0/24 -j DROP

      Setelah itu ultrasurf akan membuat koneksi biasa spt handshaking dari awal. Saya belum sempat ngoprek.

      Arief Yudhawarman

      December 2, 2010 at 1:00 am

      • iya saat ini yg saya test drop dua ip ini:
        65.49.14.47
        65.49.2.10

        hari

        December 2, 2010 at 9:45 am

  24. Wew…kini saya tahu ada tools lagi Pak Arief…”Your Freedom” namanya hehehe susah juga ya punya user2 yang kreatif,

    Mbah Darmo

    January 18, 2011 at 1:36 am

    • Admin juga harus kreatif. Karena memang itu pekerjaannya memelototi koneksi :).
      BTW, asal sudah memahami konsep tcpdump dan wireshark pasti bisa lah babat koneksi yg aneh2 begitu.

      Arief Yudhawarman

      January 18, 2011 at 3:31 am

  25. Wew di versi 10.05 saya coba2 untuk drop tapi kok tidak ketemu client hello atau server hello ya pak?

    mbah darmo

    February 9, 2011 at 10:39 am

  26. untuk ultra surf ini, saya cenderung memblok total koneksi ssl port 443, lalu open hanya ke IP tertentu saja semuai keperluan seperti google, yahoo dll.

    jadi semua jenis tool yang mengakses ke 443 akan terblok total.

    muntaza

    February 11, 2011 at 1:45 am

  27. […] –algo bm -j DROP Y aca el BLog del Compadre donde explica lo de ultrasurf Drop koneksi ultrasurf dengan iptables Arief Yudhawarman […]

  28. Is there any way to block ultra version 9.99 or 10.
    All of above way was not worked with me.

    Ali

    May 15, 2011 at 3:41 am

  29. KLO pake mikrotik gmna suhu?? Mohon bantuannya??? punya saya pake mikrotik 4.

    Yasir Haris

    June 18, 2011 at 10:17 am

  30. mas arief punya update baru tentang utrasufr ini ?? saya tes ultrasurf ver 10.08 lolos,, thx

    yoetama

    July 25, 2011 at 7:44 am

  31. Salam Pak Arif. Bagaimana untuk block ultrasyrf versi 10.08 dan 10.17 (latest)?
    Karena saya udah mencubanya pada versi 10.05 dengan rule berikut ———> iptables -I FORWARD -p tcp –dport 443 –tcp-flags SYN,ACK,FIN,RST,PSH ACK,PSH -m string –to 512 –hex-string ‘|00040005000a00090064006200030006001300120063|’ –algo bm -j DROP
    hasilnya didapati ia success dapat memblock. Namun begitu bagi versi 10.8 dan keatas ia masih lagi tidak berjaya. Pohon pertolongan dari pak arif .Trima kasih

    azrim

    October 18, 2011 at 9:22 am

  32. tidak ada yg benar-benar secure, meskipun anda telah memblok ultrasurf, masih banyak applikasi-applikasi lain yg sejenis..

    exalute

    October 21, 2011 at 1:27 am

  33. kenapa gak diblock aja port yg dipake sama ultrasurf?

    sorry kalo ngaco 🙂
    ~newbie

    kang didin

    December 21, 2011 at 1:42 pm

    • Ultrasurf pakai protocol tcp port 443, sama seperti port kalo kita buka halaman web secure (https).

      awarmanf

      December 22, 2011 at 1:40 am

  34. +nanya gan (newbie) kalo cara ini dilakukan di komputer klien kan? kalo misalnya saya menguasai router, apa bisa dengan cara ini.? klo tidak bisa, gimana enaknya neh, biar ultrasurf tetepa terblok.

    +saya pakai openDNS, ternyata klien juga bisa menjebol dnegan mengganti DNS addres, apa yang bsia saa lakukan untuk tetap blok alamat website tertentu?

    chemed

    May 17, 2012 at 7:54 am

  35. sekarang ada program Freegate..yang parah nya program ini smpe membuat koneksi lainnya ngedrop..apakah bisa diblok dengan cara diatas? apa mesti dengan iptables dan tidak bisa di blok dengan mikrotik?

    Maaf saya newbie di mikrotik dan iptables..mohon pencerahan suhu2 sekalian. Warnet saya jadi sepi gara2 banyak yang pake software ini 😦

    daemon

    August 13, 2012 at 10:05 pm

  36. lumayan agak rumit sih. tapi nanti dicoba. makasih untuk tutorialnya gan. sangat bermanfaat sekali buat newbie macam saya ini.

    Berita teknologi

    January 6, 2013 at 9:21 am

    • Sekarang ultrasurf sudah versi baru dan mempunyai pola yang berbeda dengan apa yang saya tulis di sini. Namun intinya jika anda menguasai teknik sniffing dan cara menganalisa pola tentunya tidak akan kesulitan untuk menangkap paket ultrasurf terbaru.

      Arief Yudhawarman

      January 6, 2013 at 9:32 am

      • klu di mikrotik

        add list=ultrasurf address=”195.39.222.145″
        add list=ultrasurf address=”165.12.241.35″
        add list=ultrasurf address=”210.242.23.5″
        add list=ultrasurf address=”114.47.116.156″
        add list=ultrasurf address=”118.168.1.188″
        add list=ultrasurf address=”122.120.37.86″
        add list=ultrasurf address=”218.166.99.221″
        add list=ultrasurf address=”118.161.210.63″
        add list=ultrasurf address=”59.115.198.99″
        add list=ultrasurf address=”125.230.35.18″
        add list=ultrasurf address=”218.169.180.75″
        add list=ultrasurf address=”220.141.118.201″
        add list=ultrasurf address=”114.47.120.116″
        add list=ultrasurf address=”118.160.233.90″
        add list=ultrasurf address=”114.42.11.146″
        add list=ultrasurf address=”65.49.2.122″
        add list=ultrasurf address=”65.49.2.123″
        add list=ultrasurf address=”65.49.2.118″
        add list=ultrasurf address=”128.231.210.98″
        add list=ultrasurf address=”195.33.153.5″
        add list=ultrasurf address=”64.235.47.65″
        add list=ultrasurf address=”207.105.75.196″
        add list=ultrasurf address=”38.144.194.3″
        add list=ultrasurf address=”61.144.235.3″
        add list=ultrasurf address=”65.49.2.117″
        add list=ultrasurf address=”122.124.162.126″
        add list=ultrasurf address=”114.41.234.49″
        add list=ultrasurf address=”123.204.75.141″
        add list=ultrasurf address=”218.160.188.87″
        add list=ultrasurf address=”218.169.0.236″
        add list=ultrasurf address=”118.170.66.213″

        /ip firewall layer7-protocol
        add name=block_ultrasurf regexp=”^\\\\16\\\3\\\1\\\0\\\\41\\\1\\\ 0\\\0\\\\3D\\\3\\\1″

        /ip firewall mangle
        add action=mark-connection chain=prerouting \
        disabled=no dst-port=443 layer7-protocol=\
        block_ultrasurf new-connection-mark=blockir passthrough=yes protocol=tcp
        add action=mark-packet chain=prerouting \
        connection-mark=blockir disabled=no \
        new-packet-mark=mark_blockir passthrough=yes

        /ip firewall filter
        add action=drop chain=input disabled=no \
        in-interface=LAN packet-mark=mark_blockir
        add action=drop chain=forward disabled=no \
        in-interface=LAN packet-mark=mark_blockir
        add action=drop chain=input disabled=no \
        in-interface=LAN dst-address-list=ultrasurf
        add action=drop chain=forward disabled=no \
        in-interface=LAN dst-address-list=ultrasurf
        [/code]

        kemudian port 80,3128 dan 8080 di belokkan ke external server,
        dan di squid-nya ditambahkan ACL,

        Code:
        acl numeric_IPs url_regex ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+
        http_access deny CONNECT numeric_IPs all

        toyastu

        January 7, 2013 at 11:20 am

  37. sip makasih ya

    Duasatu.Web.id

    February 24, 2013 at 8:19 pm

  38. Wah pusing mas. Belom paham -_-

    Komunitas Android

    July 22, 2013 at 9:15 pm

  39. Mantab. . . makasih. . .

    Yoshiwafa

    October 25, 2013 at 9:35 am

  40. mas untuk TOR nya bisa kasih tutorialnya….?

    ari

    November 8, 2013 at 6:02 am

  41. Keren sharing ilmu nya

    Dana

    January 10, 2014 at 4:57 pm

  42. BEST ASIC COMPANY 2014 bitcoin-cloud.me
    bitcoin-cloud.me Mining bitcoins doesn’t have to cost you a fortune. For 1 BTC , you can have a 1TH dragon miner.
    bitcoin-cloud.me is REAL !
    bitcoin-cloud.me is great for n00bs
    Running my bitcoin-cloud.me NOW

    http://bitcoin-cloud.me

    byporpimmup

    October 5, 2014 at 3:00 am


Leave a reply to hendra Cancel reply