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
Oke, saat nya kita masuk ke tahap selanjutnya, yaitu praktek. Untuk itu diperlukan beberapa requirement yang harus dipenuhui, yaitu:
1. Komputer target
- OS Windows
- Vulnserver, --> download file
- OllyDbg 1.10. --> download file
- IP komputer target: 192.168.136.1
- SPIKE
- Wireshark
- Perl
- Netcat
- 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
- Jalankan aplikasi OllyDbg 1.10
- Jalankan aplikasi vulnserver.exe melalui aplikasi OllyDbg, caranya "Open (buka file vulnserver.exe) --> lalu tekan F9 / Debug - Run"
B. Sisi Komputer Attacker
- 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. - 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.
- 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 - 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. - 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. - 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