Langsung ke konten utama

Belajar Metode Fuzzing dengan SPIKE - Pendahuluan

Apa sih itu fuzzing? Fuzzing merupakan salah satu metode pencarian bugs pada sebuah aplikasi. Dengan metode fuzzing, attacker berusaha mengirimkan "malformed string/data" dengan harapan aplikasi tersebut akan mengalami crash atau kegagalan operasi. Ketika aplikasi tersebut mengalami crash, attacker  pun dapat memanfaatkan celah tersebut untuk menguasai komputer korban.

Oke, lalu SPIKE itu apa sih? Jenis potongan rambut gayanya sih Guile tokoh Street Fighter? :p Hehehehe.... Sori becanda dikit.

SPIKE merupakan salah satu tool yang handal untuk melakukan metode fuzzing. SPIKE merupakan sebuah toolkit yang menyediakan sebuah API sehingga user dapat membuat script fuzzer sendiri sesuai dengan kebutuhan dari user tersebut untuk melakukan fuzzing menggunakan bahasa pemrograman C.


Apa? Bahasa C? berarti perlu belajar tentang bahasa C dong? Eits... tenang dulu kawan... Disinilah keistimewaan tool ini. Memang SPIKE dibangun menggunakan bahasa C, tapi kita tidak perlu mempelajarianya lebih lanjut. Karena SPIKE sudah menyediakan beberapa simple command yang dapat digunakan unutk melakukan fuzzing baik oleh pemula sekalipun.

Berikut beberapa skrip perintah-perintah sederhana yang disediakan oleh SPIKE:
  1. String
    Perintah string digunakan untuk menambahkan karakter ASCII ke dalam aplikasi SPIKE kita. salah satu perintah yang penting adalah s_string_variable yang digunakan untuk mengirimkan string perintah ke aplikasi target.

  2. s_string("string"); // menampilkan kata "string" pada SPIKE
    
    s_string_repeat("string",200); // mengulang menampilkan kata string sebanyak 200 kali
    
    s_string_variable("string"); // mengirimkan variabel string ke dalam aplikasi SPIKE  
    

  3. Binary data
    Dengan menggunakan perintah bynary data, SPIKE dapat mengkonversi kode hex menjadi karakter ASCII berdasarkan kode hex yang diberikan.

    s_binary("\\x41"); // memasukkan kode hex 0x41 = ASCII "A"
    
    s_binary_repeat("\\x41",200); // menampilkan karakter A sebanyak 200 kali  
    

    Pada perintah binary, SPIKE dapat mempresentasikan beberapa variasi kode hex dalam menampilkan sebuah karakter ASCII. sebgai contoh, "\\x41" atau "0x41" atau "41" akan sama-sama menampilkan karakter ASCII "A".

  4. Defining Blocks
    SPIKE menyediakan beberapa perintah di bawah ini untuk menentukan awal dan akhir blok skrip program SPIKE.

    s_block_start(“block1″); //menetapkan awal blok "block 1"
    
    s_block_end(“block1″); //menetapkan akhir blok "block 1"  
    
  5. Block Sizes
    Perintah Block Sizes digunakan untuk memasukkan ukuran data ke dalam blok skrip SPIKE pada skrip yang Anda susun. Beberapa contoh perintah Block sizes adalah sebagai berikut:

    s_blocksize_string(“block1″, 2); // menambah panjang 2 karakter pada SPIKE di blok 1
    
     s_binary_block_size_byte(“block1″) // menambah 1 byte pada SPIKE di blok 1
    


  6. Perintah lainnya
    Masih ada beberapa perintah yang dapat dimanfaatkan pada SPIKE, yaitu:

    s_read_packet(); // membaca dan menampilkan pada layar data yang diterima dari server
    
    s_readline(); // menampilkan input tunggal dari server
    

Anda juga dapat menggunakan perintah bahasa C untuk menambah kemampuan skrip aplikasi SPIKE, salah satu yang umum digunakan adalah "printf()" sehingga skrip SPIKE yang disusun dapat menghasilkan onformasi yang lebih informatif pada layar konsol Anda.

Untuk prakteknya, Silahkan Anda membaca artikel saya selanjutnya, Belajar Metode Fuzzing dengan SPIKE - Praktek

src: http://resources.infosecinstitute.com/intro-to-fuzzing/

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

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:

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).