[HackTheBox] – openadmin

Sebuah machine Linux, dengan IP 10.10.10.171, dilihat dari review peserta lain maka challenge ini akan banyak menggunakan CVE, Enumerasi dan mirip dengan CTF.

Pertama mari kita lakukan nmap scan terlebih dahulu, didapatkan result seperti ini

Bisa ditemukan sebuah website dan sebuah SSH service yang berjalan. Mari kita dirbuster website yang berjalan.

Kita bisa menemukan sebuah directory yang bernama ona, mari kita buka

Ditemukan sebuah web application, ternyata ona adalah singkatan dari OpenNetAdmin. Kebiasaan saya setelah menemukan sebuah web application maka saya akan mencari tentang vulnerabilitiesnya.

Kita mengetahui versi dari OpenNetAdmin yang digunakan, yaitu versi 18.1.1

Ternyata ada vulnerability RCE, penulis mengambil shell script dari exploitdb

Script ini akan menyedikan kita dengan low priviledge shell sebagai www-data

Kita sudah masuk sebagai www-data, mari kita enumerasi untuk mendapatkan user dan root nya.

Berikut daftar file dan directory yang bisa kita lihat di lokasi kita saat itu

Dirlisting juga bisa digunakan pada website, jadi kita bisa lebih mudah melihat file file lain yang ada di directory. Karena kita tidak bisa cd kedalam directory yang kita ls tadi, sebab kita hitungannya masih RCE bukan Shell.

Pada config.inc.php penulis menemukan sebuah clue berupa

Mari kita cek isi dari directory /local/config oh ternyata ada file bernama database_settings.inc.php, jika di cat kita akan mendapatkan credentials untuk database yang digunakan website ini.

Karena tidak menemukan yang berguna lagi untuk dicari cari, maka penulis mencoba untuk berpikir kembali, dan ingat bahwa ada service SSH yang belum dicoba, maka mari kita mencoba menggunakan user tersebut ke SSH.

Gagal, namun penulis ternyata bisa mengecek existing user

Ada user jimmy dan joanna, mari kita coba dengan username jimmy dan password dari config file tadi.

Baik, kita sudah masuk sebagai jimmy namun user.txt tidak ada di home directory user jimmy. Kita harus masuk sebagai user joanna untuk cat user.txt

Pada file /var/www/internal saya menemukan main.php

Bisa dilihat main.php ini akan melakukan cat terhadap id_rsa milik joanna, jika kita mendapatkannya maka kita juga akan bisa login sebagai joanna.

Bagaimana cara kita bisa menjalankan main.php ini? Pertama mari kita cek virtual host nya untuk mencari si “internal” ini

Baiklah kita mendapatkan cara mengakses website internal, kita harus mengarahkan request ke localhost denan port 52846 dan langsung tembak ke main.php untuk mendapatkan id_rsa milik joanna

Mari kita coba menggunakan curl saja

Wakwau kita mendapatkan id_rsa milik joanna, sekarang kita hanya perlu cracking passphrasenya agar kita bisa login sebagai joanna menggunakan id_rsa nya.

Penulis akan menggunakan john dan ssh2john.

Kita mendapatkan passphrase dari id_rsa milik Joanna, lets login SSH

Didapatkan user.txt : c9b2cf07d40807e62af62660f0c81b5f

Next mari kita lanjut ke root nya, saya seperti biasa menggunakan LinEnum.sh