[HTB] SPECTRA

Seperti biasa, saya melakukan scan nmap dan didapatkan port 22, 80, dan 3306 terbuka.

Saya membuka halaman website dan didapatkan dua buah link. Namun, link tersebut tidak dapat diakses. Setelah melihat-lihat cukup lama, saya baru menyadari bahwa dns server tidak mengetahui alamat spectra.htb. Terdapat dua cara untuk mengaksesnya, Kita bisa mengganti “spectra.htb” menjadi 10.10.10.229 atau menambahkan spectra.htb ke file /etc/hosts. Oleh sebab itu, saya mencoba menambahkan alamat tersebut pada /etc/hosts dengan menambahkan baris baru berisi “10.10.10.229 spectra.htb” dan menyimpannya. Sekarang, kita dapat membukanya link tersebut tanpa harus merubah spectra.htb menjadi 10.10.10.229 setiap membuka web tersebut.

Setelah melakukan beberapa pencarian. Didapatkan bahwa kita dapat melihat isi dari folder testing.

Setelah melihat-lihat, didapatkan username dan password di dalam file wp-config.php.save. Saya membukanya dengan view page source pada browser dan mendapatkan kredensial dari database dev.

Dapat kita lihat bahwa username dari database tersebut adalah “devtest” dan password-nya adalah “devteam01”. Ketika menelusuri web tadi, saya melihat sebuah login page untuk masuk ke dalam wordpress. Oleh sebab itu, saya mencoba memasukkan username dan password tersebut kedalam login page wordprass tapi tidak berhasil. Kemudian, saya teringat bahwa terdapat sebuah akun dengan nama administrator yang melakukan post dan comment. Setelah mencoba menggunakan username adminstrator dan password devteam01, kita bisa login.

Setelah menelusuri web tersebut, saya menyadari bahwa wordpress ini versi 5.4.2 yang mana cukup tidak terupdate. Oleh sebab itu, saya mencoba mencari exploit melalui Metasploit. Setelah mencari dengan keyword “wordpress”, terdapat banyak sekali exploit, kemudian saya mencari lebih detail dengan keyword “wordpress admin” karena kita memiliki kredensial admin. Dan terlihat sebuah exploit yang sudah cukup lama, yaitu Admin Shell Upload. Mari kita coba.

Menggunakan command “use 2” untuk menggunakan exploit tersebut dan melihat semua opsi exploit dengan command “show options”. Kemudian, saya mengisi semua opsi yang ada.

Setelah selesai menyiapkan payload, saatnya kita melakukan exploit dengan command exploit. Setelah selesai dan tersambung ke dalam mesin, saya gunakan command “shell” untuk berinteraksi dengan mesin.

Ketika masuk, saya tidak dapat melihat isi dari folder di mana saya berada, kemungkinan besar dikarenakan saya tidak memiliki akses kedalam folder tersebut. Oleh sebab itu, saya mencoba menuju home directory dan menggunakan interactive shell dengan command seperti di atas. Saat ini, saya belum menjadi user di dalam mesin tersebut. Setelah melihat daftar user melalui file /etc/passwd, saya menemukan user bernama “katie”.

Setelah melakukan pencarian yang lama untuk mencari file yang mencurigakan, akhirnya saya menemukan sebuah file bernama autologin.conf.orig. Autologin, sepertinya sangat menarik, kemungkinan kita bisa login secara otomatis atau mendapatkan kredensial user dari file tersebut.

Setelah mencari ke folder tersebut, saya tidak menemukan file passwd pada folder /mnt/stateful_partition/etc/autologin. Namun, saya menemukan file passwd pada folder /etc/autologin. File tersebut berisi sebuah string yang kemungkinan besar adalah password dari user. Saya mencoba untuk melakukan SSH dengan user “katie” dan password “SummerHereWeCome!!”. Dan, saya berhasil masuk sebagai katie.

Kita dapatkan flag user yaitu e89d27fe195e9114ffa72ba8913a6130.

PRIVILEGE ESCALATION

Sekarang, saatnya kita melakukan privilege escalation.
Pertama-tama, saya melihat list privilege yang dapat dilakukan oleh user katie.

Dapat kita lihat bahwa katie dapat menjalankan /sbin/initctl sebagai root. Setelah melakukan pencarian di google search dan melihat-lihat dokumentasi dari initctl, initctl berjalan dengan file konfigurasi yang berada di folder /etc/init. Setelah melakukan list, saya menemukan bahwa terdapat banyak service dan umumnya dalam keadaan berhenti.

Saya berencana untuk membuat sebuah service baru yang berisi reverse shell. Namun, ketika ingin membuat sebuah service baru, user katie tidak memiliki akses tersebut. Oleh sebab itu, saya mencoba untuk merubah sebuah service yang sudah ada.

Sekarang, saya mencoba mengubah dan menjalankan service. Namun, tidak semua service bisa kita ubah. Setelah mencari, dapat kita ketahui bahwa terdapat file-file yang memiliki group permission developers. Group developers dapat mengubah isi dari file test.conf, test1.conf, dan sebagainya sesuai gambar di atas. Setelah melihat anggota group developers, kita dapat lihat bahwa katie merupakan satu-satunya user di group tersebut.

Ketika mencoba menjalankan reverse shell, reverse shell gagal dijalankan. Saya kurang mengetahui kenapa reverse shell tidak bisa dilakukan. Oleh sebab itu, saya mencoba cara lain. Kali ini saya akan menambahkan SUID permission ke /bin/bash agar dapat dijalankan oleh semua user dengan priviledge pemilikinya (root) sehingga user dapat menggunakan shell bash dengan root priviledge.

Pastikan ketika melakukan perubahan file konfigurasi, service test dalam keadaan berhenti (“sudo /sbin/initctl list” untuk melihat service apa saja yang berjalan) agar isinya dapat diganti. Untuk menghentikan service test, kita dapat menggunakan command “sudo /sbin/initctl stop test”.

Jadi, “chmod +s /bin/bash” digunakan untuk menambahkan SUID permission atau menjadikan aplikasi /bin/bash dapat diakses oleh semua user dengan permission dari owner aplikasi (root). Sehingga, dengan cara ini, user katie dapat menjalankan bash shell dengan root priviledge tanpa harus menjadi sudoers. Untuk materi mengenai SUID yang lebih lengkap dapat mengunjungi web ini.

Setelah itu, kita jalankan /bin/bash dengan priviledge mode (-p) yang akan menjalankan shell baru. Kemudian, kita bisa membuka folder root dan membaca root.txt.

Kita dapatkan flag mesin yaitu d44519713b889d5e1f9e536d0c6df2fc.

Leave a comment

Your email address will not be published. Required fields are marked *