CTF Quaoar: Walkthrough
[Pentest Story] Defeating Quaoar VM Halo, kembali lagi bersama gw Habibie. Sebelumnya sori banget gw kemarin belum sempet nulis2 lagi dikarenakan gw lagi siap2 untuk ujian CISSP.
And finally, I passed ^_^.
Dan sekarang, saatnya kembali lagi ke pekerjaan lama yaitu ngehack2 VM di Vulnhub. Udah ada VM baru keluar di halaman pertama, saatnya kita coba!
Difficulty Level: Very Easy
Enumeration Lakukan NMAP seperti biasa dan hasilnya kita bisa saksikan bersama
Banyak sekali port yang jalan
Dari sekian banyak port yg jalan, hal yang paling mungkin dieksploitasi adalah port web. Yuk kita langsung scan saja dengan dirb
Disini bisa dilihat terdapat 3 file penting yaitu /upload /wordpress /robots.txt
Pada /robots.txt terdapat tulisan cantik seperti ini
Disallow: Hackers Allow: /wordpress/
____
- /___ \_ _ __ _ ___ __ _ _ __
- // / / | | |/ _` |/ _ \ / _` | ‘__|
- / \_/ /| |_| | (_| | (_) | (_| | |
- \___,_\ \__,_|\__,_|\___/ \__,_|_|
Lalu saya iseng lihat /upload ternyata ada LEPTON CMS namun sepertinya sulit untuk diakses karena menggunakan IP 192.168.0.190. Baiklah mungkin memang disengaja..
Wordpress Scanning
Disini saya kemudian menggunakan tools WPScan untuk mencari kelemahan website serta credential untuk login sebagai admin.
- wpscan http://192.168.56.102/wordpress --enumerate u
Dan hasilnya seperti ini
WPScan sudah selesai
Setelah saya lihat2 celahnya, sepertinya tidak ada yang cukup menjanjikan. Saatnya kita coba bruteforce.
- wpscan -u http://192.168.56.102/wordpress --wordlist /usr/share/wordlists/rockyou.txt --username admin --threads 50
Kalau seperti ini, tinggal tunggu pergi aja ngopi atau ngapain kek. Butuh kesabaran untuk melakukan hal ini
Setelah menunggu sekian lama, ada hal yang abnormal ketika bruteforcer menggunakan admin sebagai password
Coba deh login, dan hasilnya adalaaah
Berhasil login ke halaman admin
Exploitation
Ketika kamu berhasil login ke halaman admin, ini sebenarnya merupakan celah tersendiri karena kamu bisa upload file, atau ganti file php dll. Oke, langsung saja masuk ke laman Appearance>>Editor dan pilih file 404.php. Sisipkan kode berikut
Save file tersebut dan lakukan command injection pada perintah ‘cmd’
Yep berhasil!
Upload WSO Shell, saya anggap kalian para pembaca sudah tau ya bagaimana caranya xD. Basically gunakan wget atau curl untuk download file
WSO Shell, silahkan yang mau jalan2
Saatnya connectback shell, tinggal jalankan perintah nc -lvp 31337, dan buka bagian network. Masukkan IP kamu dan jadilah shell seperti ini
Perlu diingat! jangan lupa jalankan 2 perintah ini ketika sudah berhasil connect back
$ python -c "import pty; pty.spawn('/bin/bash');" $ export TERM=xterm Privilege Escalation (getting common user) Silahkan baca output dari linuxprivchecker.py. Ada hal yang menarik dari versi kernel tersebut
[+] Kernel
Linux version 3.2.0-23-generic-pae (buildd@palmer) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu4) ) #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012
Dan ketika saya ingin kompile dan jalankan exploit, hal yang saya takutkan benar-benar terjadi
www-data@Quaoar:/var/www/wordpress/wp-content/themes/twentyfourteen$ gcc The program 'gcc' can be found in the following packages:
- gcc
- pentium-builder
Ask your administrator to install one of them Oh my god! Tapi saya tidak menyerah, saya cari di https://www.kernel-exploits.com/kernel/?version=3.2.0 dan menemukan exploit yang cocok. Namun ketika dijalankan
Padahal sudah chmod +x sebelumnya
Hmm, sekarang kita coba baca kembali /etc/passwd dari linuxprivchecker. Terdapat user wpadmin seperti ini
[+] All users
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh proxy:x:13:13:proxy:/bin:/bin/sh www-data:x:33:33:www-data:/var/www:/bin/sh backup:x:34:34:backup:/var/backups:/bin/sh list:x:38:38:Mailing List Manager:/var/list:/bin/sh irc:x:39:39:ircd:/var/run/ircd:/bin/sh nobody:x:65534:65534:nobody:/nonexistent:/bin/sh libuuid:x:100:101::/var/lib/libuuid:/bin/sh syslog:x:101:103::/home/syslog:/bin/false mysql:x:102:105:MySQL Server,,,:/nonexistent:/bin/false messagebus:x:103:107::/var/run/dbus:/bin/false whoopsie:x:105:112::/nonexistent:/bin/false
....
wpadmin:x:1001:1001::/home/wpadmin:/bin/sh
Pada password admin wordpress tadi, username & password semuanya sama. Apakah ini juga berlaku pada user wpadmin? mengapa kita tidak coba
Loh ternyata berhasil beneran!!! XD XD
Anyway, saya coba iseng decrypt flag md5 itu dan ternyata tidak ditemukan. Saya coba masukin ke root tapi sepertinya bukan itu passwordnya.
Privilege Escalation (getting root) Karena saya tidak menemukan jalan lain selain bruteforce, namun tentunya pusing juga kalau bruteforce rootnya karena /etc/shadow tidak dapat dibuka.
Akhirnya saya coba iseng melihat konfigurasi wordpress, siapa tau password rootnya adalah password database server
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', 'wordpress'); /** MySQL database username */ define('DB_USER', 'root'); /** MySQL database password */ define('DB_PASSWORD', 'rootpassword!'); /** MySQL hostname */ define('DB_HOST', 'localhost'); Lalu saya cobakan saja password rootpassword! pada root
Okay! berhasil sudah sampai disini, yey!!!
Epilogue Terus terang aja sih, ini VM sebenarnya gampang cuma malesinnya adalah maenan bruteforce dan tebak password.
Tentunya walaupun mudah, ini juga merupakan hal yang sulit buat kalian yang masih baru dalam dunia hacking. Tebak password itu bisa gw bilang salah satu “skill dewa” karena kamu harus punya sense yang bagus untuk itu.
Paling segitu dulu saja, stay tuned untuk artikel lainnya yah! :D