Buffer Overflow pada Aplikasi BlazeVideo HDTV PLAYER v6.6
Kali ini kita akan membahas tentang buffer overflow, dimana buffer overflow itu sendiri adalah sebuah anomali ketika sebuah program, saat menulis data ke dalam penyangga hingga melampaui batas dan menimpa berdekatan lokasi memori (wikipedia). Jadi maksudnya disini adalah jika kita memasukkan data kedalam input yang terlalu banyak di dalam sebuah program sehingga program itu sendiri tidak dapat menampung data tersebut sehingga program tersebut atau aplikasi tersebut menjadi error, Karena data yang terlalu banyak tadi menimpa perintah selanjutnya yang akan di eksekusi oleh program atau aplikasi tersebut, dengan error inilah seorang hacker atau attacker mengambil sebuah keuntungan dengan memasukkan perintah jahat kedalam aplikasi tersebut.
Contoh disini saya menggunakan aplikasi Blaze video dengan sistem operasi Windows XP SP3 32bit, Karena untuk tahap dasar buffer overflow kita menggunakan Windows yang tidak ada proteksi yang canggih hehehe. Oke langsung saja ke langkah-langkahnya
1. pastikan kalian sudah menginstal Windows XP SP3 32 bit, ini saya install pada VirtualBox dan sistem operasi utama saya adalah Kali Linux
2. Kemudian menginstal Olly debugger, ini digunakan untuk membaca aliran memori aplikasi
3. Dan kemudian kita menginstal aplikasi target yaitu blazevideo versi 6.6
4. Setelah semuanya sudah terinstal kemudian kita akan membuat payload
5. Buka text editor pada Kali Linux dan buat payload seperti dibawah ini
12. Kemudian kita ketikan msf-pattern_create -l 500 dan kita copy payload yang sudah dibuat oleh msf pattern create tersebut dan kita paste kan kedalam payload kita
15. Kemudian ketikkan perintah msf-pattern_offset -q 37694136 -l 500
18. Setelah dijalankan terlihat bahwa register EIP telah teroverwrite membentuk sebuah kata yaitu DEADBEEF itu artinya kita sudah dapat menentukan perintah apa saja selanjutnya yang akan dijalankan oleh sistem.
19. Hal berikutnya adalah mencoba untuk melakukan penulisan pada ESP, di mana SP merupakan tempat penyimpanan data sementara di dalam memori (stack). Apabila stack berhasil di overwrite maka akan memungkinkan untuk menempatkan payload ke dalam stack. Untuk melakukan uji coba, sekali lagi akan dilakukan kostumisasi pada script yang kita buat tadi.
21. Terlihat bahwa nilai pada register menjadi deadbeef dan stek berisi data sampah berupa karakter CC.
Dalam register memori register EIP tidak dapat melakukan akses langsung ke dalam memori satu-satunya memori yang dapat mengakses langsung ke dalam bufer di dalam memori adalah register ESP Oleh karena itu register ESP dapat mengakses langsung ke dalam bufer memori maka register ini sangat cocok digunakan oleh untuk menjadi sebuah batu loncatan untuk dapat mengakses Payload yang berada di dalam buffer memori.
22. Kemudian yang dibutuhkan adalah mencari letak perintah JMP ESP di dalam aplikasi blaze video ini, JMP ESP adalah Perintah yang digunakan oleh aplikasi untuk membaca data yang berada di dalam bufer, Sehingga nantinya nilai dari register EIP akan mengarah ke dalam alamat memori di mana di dalamnya tersimpan perintah JMP ESP.
Untuk mencari JMP ESP di dalam memori aplikasi ikuti langkah berikut ini :
1. Jalankan aplikasi menggunakan olly debugger pada menu view pilih sub menu executable modules
2. Kemudian pilih SHELL32 atau USER32 dengan cara mengklik dua kali atau double klik
3. Lalu kita bisa menekan tombol control + F, kemudian ketikkan JMP ESP, lalu FIND
4. setelah ketemu kita bisa langsung mengambil alamat memory JMP ESP yaitu pada bagian sebelah paling kiri.
23. setalah itu kita bisa rubah alamat memory JMP ESP menjadi karakter little endian dan setelah itu kita bisa memasukkannya kedalam script untuk di modifikasi lagi.
24. lalu jalankan scriptnya. Aplikasi Blaze video mengarahkan system untuk melakukan pembacaan ke dalam buffer, berisi dengan karakter Heksa \xCC yang dalam perintah assembly digunakan sebagai perintah interupsi hal ini berarti konsep yang ada berjalan sesuai rencana
25. Selanjutnya membuat sebuah payload di sini Saya ingin membuka command prompt kita buat dengan cara menggunakan msfVenom
26. Buka terminal ketikan msfvenom -a x86 --platform windows -p windows/exec cmd=cmd.exe -e x86/alpha_mixed -f c
maka akan keluar hasilnya dan kita copy kedalam script kita
27. Terakhir lakukan seperti cara yang diatas dimana kita membuat file diterminal dan menjalankannya di aplikasi blaze video, bedanya yang terkhir ini kita melakukannya tanpa Olly debugger langsung membuka aplikasinya di windows xp.
28. Terlihat diatas CMD otomatis muncul dengan sendirinya,
terimakasih sudah berkunjung, mohon maaf penjelasan terlalu berbelit sehingga sulit dimengerti maklum hehe, saya kurang suka menulis artikel :v saya lebih senang membuat videonya.
Komentar
Posting Komentar