Langsung ke konten utama

Belajar Metode Fuzzing dengan SPIKE - Praktek

Bagi teman-teman yang kebetulan masih belum tahu apa itu fuzzing, dan SPIKE, silahkan baca artikel saya sebelumnya,  Belajar Metode Fuzzing dengan SPIKE - Pendahuluan

Oke, saat nya kita masuk ke tahap selanjutnya, yaitu praktek. Untuk itu diperlukan beberapa requirement yang harus dipenuhui, yaitu:

1. Komputer target
  1. OS Windows
  2. Vulnserver, --> download file
  3. OllyDbg 1.10. --> download file
  4. IP komputer target: 192.168.136.1
2. Komputer Attacker
  1. SPIKE
  2. Wireshark
  3. Perl
  4. Netcat
  5. IP komputer attacker: 192.168.136.1
Sebagai catatan, kebutuhan untuk komputer attacker telah tersedia apabila Anda menggunakan OS Backtrack.

Setelah kebutuhan-kebuthan seperti yang telah disebutkan di atas terpenuhi, berikut tutorialnya:

A. Sisi Komputer target
  1. Jalankan aplikasi OllyDbg 1.10
  2. Jalankan aplikasi vulnserver.exe melalui aplikasi OllyDbg, caranya "Open (buka file vulnserver.exe) --> lalu tekan F9 / Debug - Run"
B. Sisi Komputer Attacker
  1. Jalankan konsol, dan ketikkan sintaks berikut:

    root@bt:~# nc -nvv 192.168.136.1 9999

    sehingga akan muncul pesan selamat datang dari vulnserver di komputer target. Lalu coba ketikkan sintaks "HELP" untuk menampilkan daftar list command yang disediakan oleh aplikasi vulserver.exe.




    Lalu silahkan anda coba sendiri menggunakan sintaks yang disediakan vulserver, sehingga Anda mengerti karakter dari setiap sintaks dan format sintaks yang harus dijalankan oleh aplikasi vulnserver.
  2. Setelah mengetahui list sintaks dari vulnserver, buka aplikasi editor kesayangan anda, lalu buat sebuah file dengan nama "vscommand.spk" dengan sintaks sebagai berikut:

    s_readline(); //print received line from server
    s_string_variable(“COMMAND”); //send fuzzed string

    Dari sitaks di atas terlihat bahwa kita akan mengirimkan sintaks COMMAND pada aplikasi vulnserver.

  3. Buka aplikasi Wireshark. Agar lalu lintas data yang terekam oleh wireshark hanya merekam koneksi ke aplikasi vulserver, lakukan filter traffic. Dikarenakan IP komputer target 192.168.136.1 dan berkomunikasi dengan vulnserver pada port 9999, maka pada aplikasi wireshark:

    Menu: "Capture - Options"

    isi field Capture Filter dengan: host 192.168.136.1 and tcp port 9999, seperti pada gambar di bawah ini



    Jika sudah, klik tobol Start untuk memulai proses perekaman traffic oleh wireshark
  4. Buka console lagi, kemudian ketikkan sintaks:

    root@bt:~ /pentest/fuzzers/spike/src/generic_send_tcp 192.168.136.1 9999 vscommand.spk 0 0

    Tunggu beberapa saat sampai proses fuzzing selesai.
  5. Pada aplikasi Wireshark, pilih paket pertama (no 1), lalu klik kanan "Follo TCP Stream"



    Lalu akan muncul seperti tampilan berikut:



    Dari gambar di atas terlihat aplikasi SPIKE mengirimkan perintah COMMAND dan vulnserver membalas dengan jawaban UNKNOWN COMMAND. karena memang sintaks COMMAND tidak ada di dalam list sintaks yang disediakan oleh vulnserver.
  6. Masih melalui aplikasi wireshark, klik tombol "Filter Out This Stream", dan lakukan klik kanan pada paket stream yang paling pertama dan lakukan Follow TCP Stream kembali, maka akan di dapat hasil sebagai berikut:



    Dari gambar di atas terlihat setelah mengirimkan perintah COMMAND, aplikasi SPIKE mengirimkan karakter A yang sangat panjang dan didahului oleh beberapa kombinasi karakter acak. dengan cara yang sama seperti sebelumnya, Anda juga dapat melihat paket lain yang dikirimkan oleh SPIKE.
Dari percobaan di atas, kita dapat memahami bahwa aplikasi SPIKE pertama kali akan mengirimkan perintah yang terdapat dala s_variable_string pada skrip spike. Kemudian SPIKE akan mengirimkan perintah fuzz pada daftar sintaks yang dimiliki oleh SPIKE.

Lalu bagaimana kita mengetahui pada tipe sintaks apa vulserver akan crash? dan bagaimana melakukan otomasi fuzzing spike dengan multi jenis perintah? Silahkan Anda baca di artikel saya selanjutnya :)


Komentar

Postingan populer dari blog ini

DNS Spoofing

DNS Spoofing adalah salah satu metode hacking Man In The Middle Attack (MITM). Hampir sama konsepnya dengan ARP Spoofing, tapi yang membedakan adalah Attacker akan memalsukan alamat IP dari sebuah domain. DNS adalah Domain Name Server, yaitu server yang digunakan untuk mengetahui IP Address suatu host lewat host name-nya. Dalam dunia internet, komputer berkomunikasi satu sama lain dengan mengenali IP Address-nya. Namun bagi manusia tidak mungkin menghafalkan IP address tersebut, manusia lebih mudah menghapalkan kata-kata seperti www.yahoo.com, www.google.com, atau www.facebook.com. DNS berfungsi untuk mengkonversi nama yang bisa terbaca oleh manusia ke dalam IP addresshost yang bersangkutan untuk dihubungi. Jadi ketika target melakukan request terhadap sebuah alamat domain dengan alamat IP A, dengan DNS Spoofing, oleh gateway request user tersebut akan di forward ke alamat IP palsu dari attacker. Oke, saatnya kita kita mencoba melakukan DNS Spoofing dengan menggunakan aplikasi

ARP Spoofing (Soft Way)

Jika artikel saya sebelumnya mencoba menjelaskan langkah-langkah melakukan ARP Spoofing dengan cara konvensional tanpa bantuan tools khusus (istilah lebay nya hard way ), kali ini saya akan mencoba lagi berbagi cara melakukan ARP Spoofing dengan menggunakan tool ARP Spoofing yaitu Ettercap. ARP Spoofing adalah sebuah teknik penyadapan oleh pihak ketiga yang dilakukan dalam sebuah jaringan LAN. Dengan metode tersebut,  attacker  dapat menyadap transmisi, modifikasi trafik, hingga menghentikan trafik komunikasi antar dua mesin yang terhubung dalam satu jaringan lokal (LAN).

Remote Shell Memanfaatkan Buffer Overflow Exploitation

Pada artikel Belajar Metode Fuzzing dengan SPIKE - Automasi Fuzzing , kita telah mengetahui bug  pada aplikasi vulnserver dengan mentode fuzzing. Salah satu bug pada aplikasi tersebut adalah ketika kita mengirimkan perintah TRUN dan diikuti karakter-karakter tertentu yang pada akhirnya mengakibatkan vulnserver mengalami crash atau access violation. Menurut Mati Aharoni (founder Backtrack), sebelum melakukan exploit terhadap bugs dari buffer overflow exploitation kita harus mempelajari bagaimana aplikasi tersebut mengalami crash dan memahaminya dengan lebih baik. Ada beberapa pertanyaan yang perlu dijawab: