GoodGames
Writeup mesin Hack The Box GoodGames
Port Scanning
Langkah pertama yang dilakukan adalah melakukan port scanning menggunakan nmap.
asuka@linuxsec:~$ sudo nmap -sV -sT -sC 10.129.96.71 | tee nmap-res.txt
Starting Nmap 7.92 ( https://nmap.org ) at 2022-10-16 11:43 WIB
Nmap scan report for goodgames.htb (10.129.96.71)
Host is up (0.32s latency).
Not shown: 999 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.48
|_http-title: GoodGames | Community and Store
|_http-server-header: Werkzeug/2.0.2 Python/3.9.2
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 147.88 secondsOke, dari hasil scanning sepertinya hanya ada satu port yang terbuka yakni port 80.
Vhost Discovery
Selanjutnya adalah melakukan enumerasi subdomain dari goodgames.htb. Disini saya menggunakan ffuf.
asuka@linuxsec:~$ ffuf -w /usr/share/seclists/Discovery/DNS/bitquark-subdomains-top100000.txt -u http://goodgames.htb -H "Host: FUZZ.goodgames.htb" -fs 85107,0 -t 200
/'___\ /'___\ /'___\
/\ \__/ /\ \__/ __ __ /\ \__/
\ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\
\ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/
\ \_\ \ \_\ \ \____/ \ \_\
\/_/ \/_/ \/___/ \/_/
v1.5.0 Kali Exclusive <3
________________________________________________
:: Method : GET
:: URL : http://goodgames.htb
:: Wordlist : FUZZ: /usr/share/seclists/Discovery/DNS/bitquark-subdomains-top100000.txt
:: Header : Host: FUZZ.goodgames.htb
:: Follow redirects : false
:: Calibration : false
:: Timeout : 10
:: Threads : 200
:: Matcher : Response status: 200,204,301,302,307,401,403,405,500
:: Filter : Response size: 85107,0
________________________________________________
:: Progress: [100000/100000] :: Job [1/1] :: 222 req/sec :: Duration: [0:09:02] :: Errors: 0 ::Kita tidak menemukan subdomain dari goodgames.htb sehingga eksploitasi kita hanya akan berfokus pada domain utama saja.
Directory Scanning
Langkah selanjutnya adalah melakukan scanning directory pada goodgames.htb.
Tidak banyak direktori ataupun file sensitif yang bisa dimanfaatkan. Namun disini kita menemukan url untuk melakukan registrasi,login, dan reset password yang mungkin bisa kita manfaatkan.
Oke dari tahap recon awal kita mendapatkan informasi berikut:
Website goodgames.htb menggunakan Werkzeug
Tidak ada file sensitif yang terekspos selama proses enumerasi sehingga ekspoitasi kita akan berfokus pada fitur login, register, dan reset password.
Exploitation
Yang pertama kita coba adalah halaman login. Kita bisa mencoba beberapa kombinasi default credentials seperti [email protected]:password, [email protected]:admin, dll. Tidak berhasil. Selanjutnya kita coba eksploitasi paling umum pada halaman login, SQL Injection.
Kalian bisa gunakan sqlmap atau kalau kalian ingin lebih mengasal skill kalian bisa gunakan cara manual. Saya sudah pernah menulis artikel tentang Union Based SQL Injection. Singkatnya, payload akhir kita adalah:

Kita dapat valid email [email protected] dan password 2b22337f218b2d82dfc3b6f77e7cb8ec. Langsung kita crack saya menggunakan online hash cracker. Salahsatunya: https://hashes.com/en/decrypt/hash
Hasilnya:

Langsung saja login menggunakan email [email protected] dan password superadministrator.

Tidak banyak yang bisa dieksplor disini namun kita mendapatkan subdomain baru melalui menu yang terletak di pojok kanan atas. http://internal-administration.goodgames.htb. Langsung kita tambahkan host tersebut pada /etc/hosts di system kita.
Pada internal-administration.goodgames.htb kita coba login menggunakan username admin dan password yang kita gunakan sebelumnya, superadministrator.

Menggunakan addons browser Wappalyzer kita tau bahwa service ini menggunakan Flask.

Dan apa yang kalian pikirkan ketika mendengar kata Flask? Ya, SSTI. Untuk mengkonfirmasi apakah web ini memiliki kerentanan SSTI kita coba masukkan payload {{7*7}}. Karena tidak banyak fitur yang bisa dicoba di halaman dashboard, kita langsung coba di form Edit Full Name.

Oke setelah dikonfirmasi web tersebut rentan terhadap SSTI, langkah selanjutnya adalah mendapatkan akses shell menggunakan kerentanan tersebut. Tenang saja, list payload SSTI to RCE sudah banyak bertebaran di internet. Berikut beberapa payload list untuk eksploitasi SSTI.
Server Side Template Injection Payloads
Singkat cerita, salahsatu payload yang bisa digunakan adalah:

Oke sekarang kita coba lakukan back connect agar lebih leluasa.
Spawning Shell
Oke disini saya mencoba reverse shell menggunakan payload
Namun ternyata gagal. Saya sendiri kurang tau masalahnya dimana, kemungkinan di payload yang saya buat. Akhirnya saya kepikiran untuk memasukkan command tersebut kedalam sebuah file terlebih dahulu sebelum dipanggil.
Referensi:
Payload yang dikirim:
Dan kita berhasil mendapatkan shell di mesin target.
Oke sepertinya kita didalam sebuah container. Kita cek direktori home apakah ada flag yang bisa diambil.
Oke kita mendapatkan flag user. Namun ketika mengecek direktori /root tidak ada flag disitu. Kita bisa asumsikan bahwa kita harus escape terlebih dahulu dari container dan melakukan privilege escalation dari host.
Oh iya, ada satu yang aneh dalam container ini, yakni ketika kita mengecek file /etc/passwd kita tidak akan menjumpai user augustus disana.
Kita bisa asumsikan direktori /home/augustus merupakan direktori yang dimounting dari host. Oke, kita simpan informasi ini untuk nanti.
Finding Host IP
Kita bisa asumsikan bahwa IP gateway adalah host dari container sekarang kita berada. Oke sekarang kita punya username augustus, alamat IP 172.19.0.1, dan juga password superadministrator yang selalu bisa digunakan ulang. Sekarang langsung kita coba masuk kesana menggunakan informasi yang kita miliki.
Pada step sebelumnya kita mendapatkan informasi bahwa direktori /home/augustus dimounting ke container 172.19.0.2. Kita bisa memanfaatkan kondisi ini untuk melakukan privilege escalation.
Referensi:
Privilege Escalation with 2 shells and host mount
Dari container 172.19.0.2 kita jadikan file bash tadi menjadi suid binary.
Dari mesin host, tinggal kita panggil file suid tadi.

Ini merupakan salahsatu mesin dengan kategori easy di HTB yang dapat digunakan untuk mengasah kemampuan basic kita dalam eksploitasi. Salahsatu hal yang bisa kita pelajari dari mesin ini adalah password reuse attack.
Last updated
Was this helpful?