CTF DC-9 : Vulnhub Walkthrough


hallo guys, 
ini adalah ctf saya yang kedua, yang dimana berbeda platform. yang kemarin saya menggunakan ctf dari Hackthebox dan kali ini saya menggunakan CTF dari Vulnhub. yang dimana harus menginstall lab secara mandiri pada perangkat kita. 

RECON 

Tools : BurpSuite, SQLmap, Nmap, Netdiscover, kali linux.
Challenge : DC-9 Vulnhub

Pertama saya coba untuk mencari ip yang digunakan oleh server, disini saya menggunakan virtualbox untuk menjalankan server DC-9 sendiri, di kali linux terdapat tools yang bernama Netdiscover, fungsinya untuk melakukan scanning terhadap Host yang sedang berjalan. 


Setelah saya lakukan scanning, saya mendapat kan IP yang digunakan oleh server DC-9. IP yang digunakan adalah 172.25.1.4. setelah itu saya coba scan kembali dengan menggunakan Nmap dengan tujuan mengetahui apakan ada Port yang terbuka atau tidak. 


' nmap -A 172.25.1.4 '

-A : Enable OS detection, version detection, script scanning, and traceroute

Setelah scanning, saya menemukan bahwa port 80 disini dalan keadaan open. setelah itu saya coba akses menggunakan browser 

' http://172.25.1.4:80 '

Disini muncul sebuah website, dan saya mulai mencari apakah ada celah pada website tersebut. karena saya masih newbie, jujur saya kesulitan mencari kelemahan yang ada website tersebut jika tanpa menggunakan tools, dan saya stuk untuk beberapa saat. setelah saya coba untuk mencoba bebrapa cara, dan akhirnya saya menemukan sebuah celah SQL yang ada di kolom Search. Kemudian saya mencoba untuk mencari cara untuk bisa melakukan eksploit terhapad celah tersebut. 

Setelah saya menemukan celah tersbut, saya coba menghubungkan web tersebut dengan Burpsuite.


Sampai disini saya kembali stuk, karena setahu saya, untuk melakukan injek terhadap WEB menggunakan SQLmap, membutuhkan sebua URL. akan tetapi setelah saya baca beberapa artikel, ternyata sqlmap bisa melakukan injek hanya dengan menggunakan source yang ada di burp. yaitu dengan cara mengcopy source, seperti yang saya blog pada gambar diatas, kemudian save dengan .TXT.

' sqlmap -r DC.txt --dbs --batch '


--batch : Never ask for user input, use the default behavior
--dbs : Enumerate DBMS databases
-r : Load HTTP request from a file 

Setelah itu lanjut untuk mengetahui isi dari database tersebut, 


Disini sudah terlihat password dan username nya yang nanti akan saya gunakan untuk login pada website yang tadi. untuk decrypt password tersebut saya menggunakan Haskiller.


' Username = admin '
' Password = transorbital1 '


Setelah login, saya menemukan kendala lagi, karena web tersebut menampilkan file does not exist. disini saya mencoba beberapa cara kembali mulai dari analisis XSS, dll. dan ternyata web admin tersebut memiliki celah di LFI (Local File Inclusion).


karena tantangan dari ctf ini adalah melakukan login dan membuat user dan mengubah permission user tersebut, maka saya melakukan koneksi via ssh untuk dapat melakukan create user di server tersebut. 


Untuk melakukan remote via ssh saya perlu mengetahui angka squence bersama dengan port yang open. disini terlihat ada 9 digit angka yaitu " 7469 8475 9642 " dan " port 22 ". untuk mengetahui angka" tersebut kita perlu membaca file .conf. dengan melalui celah LFI tersebut kita dapat membaca nya. 
setelah kita mengetahui hal tersebut. lanjut dengan menggunakan knock. 


 Setelah itu, saya lakukan scan port dan ip kembali dengan menggunakan nmap.


Setelah itu, saya melakukan bruteforce terhadap username dan password untuk dapat melakukan login melalui ssh, disini saya menggunakan Hydra.  dan sebelum melakukan bruteforce disini saya menggunakan hasil dump database diawal, saya menggunakan username dan password yang di database tersebut untuk saya jadikan sebuah payload agar dapat melakukan bruteforce login ssh tersebut. saya membuat 2 file .TXT yang berisi kan username dan password. 



' hydra -L user.txt -P pass.txt 172.25.1.4 ssh '

Dari hasil brute force saya mendapatkan beberapa user, disini saya menggunakan user yang paling bawah yaitu user = janitor pass = Ilovepeepee. selanjutnya saya melakukan remote via ssh dengan menggunakan user tersebut. 


setelah itu saya coba untuk cek directory dengan menggunakan ' ls -la '


dan saya melihat file yang sedikit mencurigakan, dan saya coba untuk membuka directory tersebut, 


pada folder tersebut terdapat file yang berisikan password. akhir nya saya menggabungkan password tersebut kedalam kumpulan password yang sebelumnya saya gunakan untuk melakukan bruteforce.
selanjutnya saya kembali melakukan bruteforce untuk mengetahui user yang valid agar bisa melakukan remote dan membuat sebuah user baru. 


Hasil dari bruteforce yang terakhir merupakan hasil user yang valid dan akan saya gunakan untuk melakukan remote. 


EKSPLOIT

setelah itu saya coba login dengan menggunakan user yang baru yaitu fredf, 

' su fredf '
' sudo -l '

dan disana dijelaskan bahwa user fred memiliki akses root tanpa menggunakan password. yaps maka disini kita berbuat apa saja dengan menggunakan user ini. 



USER PRIVILEGE

Selanjutnya adalah pembuatan user baru dan memberikan nya hak istimewa atau root. 

' openssl passwd -1 -salt anjing 123456 '


kemudian copy dan kembali ke terminal yang sudah login dengan user fred, 

' echo 'anjing:$1$anjing$85gBLfTuU9GUWqPHoc4Z20:0:0::/root:/bin/bash'  >> /tmp/hass '

kemudian saya tambahkan (:) dan (:0:0::) yang berguna untuk membuat entry yang dapat bertindak sebagai root. dan /tmp/hass adalah pembuatan folder baru di dalam folder tmp yang saya gunakan untuk menampung user yang saya buat.

' sudo ./test /tmp/hass /etc/passwd '
' su anjing ' masukkan password nya yaitu 123456



Binggo !!! 😅😅

Author : RK contact me on comment. thank you

loading...

Posting Komentar

0 Komentar