Bounty Hunter Write Up
Hallo, kembali bersama saya Bayu Aji. Udah lama nih Seccodeid gak upload tentang writeup ctf, hmmm kali ini ada konten baru ctf, yap sesuai judul, Anda dapat mempelajari bagaimana cara menyelesaikan ctf dari Bounty Hunter. Yuk sebelum mencoba, berikut adalah tools yang digunakan :
- Nmap
- Nikto
- Burpsuite
- Putty or openssh
- Wordlist
Sekarang kita bisa capcus menuju write up
1. Scanning
· Nmap
sudo nmap -Pn -p- -sC -sV -A --min-rate=400 --min-parallelism=512 10.10.10.247
· Nikto
· Directory Brute force
ffuf -u http://10.10.10.247:59777/FUZZ -w /usr/share/wordlists/dirb/big.txt -t 100 -e .php, .html, .txt
2. Result Scaning
Dari hasil scanning diatas dapat diambil beberapa informasi sebagai berikut
· 2 port servis terbuka port 20 (SSH) dan port 80 (HTTP)
· db.php
· resource directory
3. Exploit
a. port 80
Halaman depan servis http melanjutkan ke portal.php seperti pada hasil scanning sebelumnya
Dari portal.php didapatkan informasi yang mana terdapat sebuah fungsi untuk memanggil data dari sebuah database menggunakan script diatas,maka upaya selanjutnya adalah mencari celah keamanan dari script tersebut.Script menggunakan XML 1.0 dan enkripsi ISO-8859.
Tempering data
Untuk melakukan exploit terhadap packet data yang digunakan oleh script diatas menggunakan burpsuite.
Data diatas merupakan hasil oleh script yang dienkripsi.selanjutnya melakukan temperin data tersebut.
Decode data tersebut menggunakan url decorder,kemudian decode Kembali menggunakan base64 decode
Xml memiliki celah keamanan yaitu XXE dimana dapat memaksa keluarnya sesuai informasi yang krusial.
Script diatas memaksa xml untuk menampilkan informasi pada server yaitu /etc/passwd/
Informasi krusial yang didapat dari /etc/passwd dimana diantara dalam mengetahui hostname atau username sebuah server dan service service apa yang ada pada server tersebut,dan development adalah nama hostname machine ini.
Password search
Setelah username didapatkan tahapan selanjutnye mencari user, dan kemungkinan terbesar user terdapat pada db.php dari hasil scaning diatas.untuk membaca db.php tinggal melakukan pemanggilan menggunakan script seperti diatas.
Kemudian docode hasil script diatas menggunakan base64 decode.
Flag user didapatkan.
C. Priviledge Escalation
User dapat melakukan akses terhadap root menggunakan path /usr/bin/python3.8 x/x/x/ticketvalidator.py. Dari script ticketValidator.py membutuhkan suatu kondisi dimana file yang dapat di gunakan berformat .md ( Markdown )
Membuat file .md kemudia menysupkan perintah dimana yang dapat membaca file dari akses root.root flag didapatkan
4. Referensi
1. https://www.urlencoder.org/
2. https://www.base64encode.org/
3. http://projects.webappsec.org/w/page/13247004/XML%20Injection
4. https://portswigger.net/web-security/xxe/
5. https://www.synack.com/blog/a-deep-dive-into-xxe-injection/
6. https://zhuanlan.zhihu.com/p/392971774