Tryhackme — Gallery

Aliusmanclay67
5 min readJan 26, 2023

Hi semua sudah lama tidak update tulisan pada blog ini. Maka pada tulisan kali ini saya akan membagikan writeup dari mechine tryhackme yaitu Gallery. Mechine ini tergolong mechine yang easy saya rasa mechine ini cocok untuk kalian yang ingin belajar atau gambaran bagaimana penyerang dapat mendapatkan hak akses tertinggi yaitu root (linux) atau NT authority/System (windows). Mungkin kita bisa langsung masuk ke pembahasan utama let’s gooo!!!!!!!!!!!

Pada tahap awal seperti biasa saya melakukan enumerasi pada target atau IP mechine yang telah diberikan. Pada tahap ini saya melakukan mapping network menggunakan nmap. Dari hasil scanning nmap saya mendapatkan hasil sebagai berikut:

Terdapat beberapa port yang terbuka pada aplikasi setelah mengecek satu persatu port saya mendapatkan akses ke web yaitu pada port 8080. Web tersebut menggunakan cms yaitu Simple Images Gallery System.

Lalu saya mencoba mencari informasi mengenai cms tersebut pada google dan saya menemukan exploit mengenai exploit tersebut pada exploitDB.

Pada exploit tersebut menjelaskan bahwa aplikasi tersebut memiliki kerentanan RCE (Remote Code Execution) dan authentication bypass yang dimana saya dapat membypass logic dari pengecekan login form aplikasi tersebut. Disini saya tidak akan menggunakan automated exploit yang sudah disediakan pada exploitDB tetapi saya akan menggunakan cara manual.

Awalnya saya membypass autentikasi aplikasi tersebut dengan memanfaatkan kerentanan SQL Injection.

Setelah itu saya akan diarahkan ke halaman administrasi dan berhasil masuk sebagai admin web.

Pada halaman album dan archives saya tidak menemukan form upload atau hal yang menarik pada kedua menu tersebut. Kemudian saya mengecek pada menu profile saya menemukan bahwa user dapat mengganti foto profilenya.

Kemudian saya mencoba menguploadkan sebuah webshell dan melakukan backconnect ke mechine penyerang (mechine saya).

setelah itu set port pada netcat yaitu 1337 dan apabila webshell telah berhasil diupload maka klik kanan profile dan buka pada tab baru maka shell akan tereksekusi dan saya menerima backconnect dari sever victim.

Sekarang kita sudah mendapatkan akses kedalam sistem tetapi kita masih mendapatkan akses terendah dari server tersebut yaitu www-data serta kita belum mendapatkan stable shell. Jadi kita perlu melakukan privileges escalation dan perlu melakukan sedikit konfigurasi untuk mendapatkan stable shell. Untuk tahap pertama kita perlu konfigurasi untuk mendapatkan stable shell dan caranya sebagai berikut:

Bash: /bin/bash -i

python 2/3: python3 ‘import pty; pty.spawn(“/bin/bash”)’

export TERM=linux

Setelah mendapatkan stable shell sekarang perlu tahap privileges escalation untuk mendapatkan akses ke user yang lebih tinggi. Disini saya menggunakan linpeas.sh untuk mempercepat tahap enumerasi. Awalnya saya perlu mentransfer file linpeas dari local komputer ke mechine target menggunakan python http.server.

setelah berhasil mengirimkan file ke mechine target kita perlu mengubah format atau akses menjadi executable dengan menambahkan command:

chmod +x ./linpeas.sh

Dan kemudian jalankan linpeas akan otomatis melakukan enumerasi pada mechine target.

Setelah menunggu beberapa saat saya menemukan hint yang menarik yaitu adanya password yang berhasil ditampilkan oleh linpeas

Kemudian saya mengecek user apa saja yang ada pada mechine target dengan menggunakan etc/passwd.

Terdapat 2 user yang ada pada mechine target yaitu ubuntu dan mike lalu saya mencoba login menggunakan password yang telah saya dapatkan dan mendapatkan valid user yaitu mike.

Kita sudah berhasil masuk kedalam user mike dan pergi ke directory mike maka akan ada file user.txt apabila dibaca menggunakan perintah cat file tersebut berisi flag milik user.

Oke kita sudah berhasil mendapatkan flag user langkah selanjutnya yang perlu kita lakukan adalah menaikkan hak akses user ke hak akses root. Pada tahap ini saya mengecek list binary yang dapat dijalan oleh user root dengan menggunakan command:

sudo -l

Dan mendaptkan hint bahwa user mike dapat menjalankan sebuah file /bin/bash /opt/rootkit.sh dengan menggunakan sudo tanpa memerlukan autentikasi.

kemudian saya mengecek isi dari file /opt/rootkit.sh dan isinya sebagai berikut:

pada file ini berisi 4 menu yang dimana ditiap-tiap menu menjalankan binary file dari mechine target. Tetapi saya tertarik pada menu read karena menu tersebut menjalan binary file nano. kemudian saya mencari exploit tersebut pada gtfobin dan dan menemukan exploitnya sebagai berikut.

Kemudian pilih yang sudo.

setelah itu jalankan file tersebut dengan command: sudo /bin/bash /opt/rootkit.sh dan pilih menu read.

Apabila kalian menemukan error seperti ini kalian bisa set terminalnya menjadi:

export TERM=linux

kemudian jalankan lagi perintah diatas dan ikuti sesuai yang ada di gtfobin hasilnya kita sudah berhasil menjadi root user dan baca flag root pada directory root.

Mungkin itu saja writeup dari saya kurang lebihnya saya mohon maaf, semoga kalian terbantu dengan writeup ini. Keep Learning and Hacking…!!!!

See you in next write up^-^

--

--