HackTheBox Cerberus Write Up
Information Gathering
Enumeration
Dalam perintah tersebut, opsi -sC
digunakan untuk melakukan default script scanning dan opsi -sV
digunakan untuk melakukan version detection. Artinya, dengan perintah tersebut, kita melakukan scanning terhadap host dengan menggunakan script default dan mencoba mendapatkan informasi tentang versi aplikasi atau service yang berjalan pada host tersebut.
Web Page
Setelah melakukan scanning, hasil yang ditemukan adalah bahwa terdapat port yang terbuka pada port 8080. Port 8080 adalah port yang umum digunakan untuk akses web server yang berjalan pada aplikasi web. yaitu web login page
Abritary File Disclosure (CVE-2022-24716)
Arbitrary File Disclosure adalah kerentanan pada sebuah aplikasi atau sistem yang memungkinkan seorang penyerang untuk mengakses atau membaca file-file sensitif yang terdapat pada sistem tersebut tanpa harus memiliki hak akses yang seharusnya. Penyerang dapat memanfaatkan kerentanan ini untuk mendapatkan informasi sensitif seperti konfigurasi aplikasi, password, data pengguna, dan lain sebagainya. CVE-2022-24716
adalah sebuah kerentanan Arbitrary File Disclosure yang dapat memungkinkan penyerang untuk mengakses atau membaca file-file sensitif pada sebuah aplikasi atau sistem. disini kita menemukan LFI PoC pada Github
Pernyataan ini menunjukkan bahwa kita mencoba membaca isi file dengan menggunakan perintah curl. Curl adalah sebuah command-line tool yang digunakan untuk mengirim dan menerima data melalui protokol seperti HTTP, HTTPS, FTP, dan lain-lain. Pada pernyataan di atas, kita menggunakan curl untuk membaca isi file dengan URL
URL tersebut merujuk pada file roles.ini
yang berada pada direktori etc/icingaweb2
pada sebuah server dengan nama domain icinga.cerberus.local
dan port 8080. Dalam konteks ini, kemungkinan besar kita mencoba membaca konfigurasi role dari aplikasi web yang dijalankan pada server tersebut.
Pernyataan ini menunjukkan bahwa kita menggunakan perintah curl untuk mengakses file resources.ini yang terletak pada alamat URL tertentu. File resources.ini adalah sebuah file konfigurasi pada aplikasi web Icinga, yang digunakan untuk menyimpan informasi terkait dengan koneksi ke database atau sumber daya lainnya yang dibutuhkan oleh aplikasi tersebut. Pada pernyataan di atas, kita mencoba membaca isi file resources.ini pada sebuah server dengan nama domain icinga.cerberus.local dan port 8080.
Exploitation
Login with Credential
Ketika kita menggunakan informasi kredensial ini untuk login pada halaman page login yang tersedia pada port 8080, kita dapat mengakses aplikasi web Icinga dan melakukan berbagai aktivitas, seperti memantau kinerja jaringan, mengelola konfigurasi, atau melihat laporan.
Konfigurasi module path
Menunjukkan bahwa kita sedang mencari cara untuk melakukan manipulasi atau mengubah jalur modul pada suatu sistem.
Mengganti module path menjadi /dev/
dapat memiliki dampak yang signifikan pada sistem. Hal ini dapat memungkinkan pengguna untuk melakukan akses yang tidak sah atau memperoleh kontrol yang tidak diinginkan pada perangkat keras atau sistem operasi.
Add User
Selanjutnya kita mencoba menambah User
Add SSH Key
Dari hasil pembacaan file tersebut, kita menemukan bahwa file tersebut adalah sebuah kunci privat RSA. Kunci RSA adalah salah satu bentuk kunci kriptografi yang umum digunakan untuk mengamankan komunikasi melalui jaringan. Kunci ini digunakan untuk mengenkripsi dan mendekripsi data yang dikirim melalui jaringan, serta untuk memverifikasi tanda tangan digital.
Post Exploitation
Remote Code Execution (RCE)
Backconnect dengan mengubah payload seperti dibawah
Or Shell
Untuk payload shell bisa menggunakan payload ini
Module SHM jangan lupa aktif untuk menjalankan shell
Setelah itu kita mencoba menjalankan shell tadi yang sudah diupload dengan curl disini mendapatkan, Response
Backconnect dengan Netcat
Selanjutnya kita menggunakan payload dibawah untuk backconnect dengan netcat dengan reverse shell python script
Menjadi
Menjalankan dengan perintah Curl
Privileges Escalation
CVE-2022-31214
Setelah mencari cari kita menemukan kerentanan pada firejail yang dapat dimaanfatkan untuk Privileges Escalation. Reference dan PoC
PoC untuk file python untuk mendapatkan panggilan dari firejail menggunakan PoC
Setelah itu kita upload ke dalam /tmp
sistem tersebut dan menjalankannya dengan python3
Untuk mendapatkan Root access kita hanya menjalankan dengan firejail --join=[ID]
Setelah mendapatkan root access disini tidak ada user.txt
atau root.txt
flag dari HTB tetapi disini ketika kita membaca ifconfig terdapat Ip dengan alamat 172.16.22
.2 dimana pasti ada Ip lagi dengan alamat 172.16.22.1
Selanjutnya kita menggunakan chisel untuk melihat isi yang ada di Ip 172.16.22.1
Menggunakan payload dibawah untuk backconnect
Disini kita juga mendapatkan kredensial, bagaimana mendapatkanya? kita menggunakan cara ini
- cari file di
/var/lib/sss/db/
- ambil dan ekstrak sid domain, pengguna domain DAN cachedPassword
- lalu crack dengan hashcat
- setelah Anda mendapatkannya -> gunakan winrm untuk masuk
Disini terdapat flag user.txt
pada file Desktop
Selanjutnya kita menggunakan chisel lagi untuk memanggil port 9251
Kita menggunakan modul metasploit untuk CVE-2022-47966
dan tambahkan 127.0.0.1 dc.cerberos.local
ke file host. selanjutnya ikuti payload di bawah untuk mendapatkan Root Access