Soal :
Objektif : hardening, patching, dan memperbaiki konfigurasi dan celah pada aplikasi dari system yang diberikan.
Goal : Hacker/Red team tidak bisa masuk lagi ke server nya lewat port ini. Service Port yang harus di patching : Port 21, 22, 80, 8080, 2000, 3000
** Informasi : **
Khusus untuk port 80, yang di patch adalah aplikasi yang ada di /var/www/html/vaccinated (Sumber aplikasi : https://www.sourcecodester.com/php/14997/centralized-covid-vaccination-records-system-php-free-source-code.html) Setelah di patch buat laporan seperti code review, dan upload di form yang sediakan.
** Penting : **
Semua Service port yang disebutkan harus tetap Open dan bisa di akses lewat jaringan public, tidak boleh di bind ke 127.0.0.1 atau localhost. Setelah 3 jam pertama, redteam/hacker akan melakukan attack dengan interval 10-20 menit, tapi peserta bisa meminta untuk melakukan attack apabila tidak sabar menunggu 🙂 SSH harus setting Login menggunakan password User rhama tidak boleh dihapus atau diubah baik itu password atau file yang terkait dengan user tersebut. Dilarang: Melakukan blokir dengan software apapun seperti iptables atau sejenisnya tidak diperbolehkan. Port ini harus bisa di akses lewat jaringan public, tidak boleh di bind local
Solve :
Port 21
Pada chall port 21 disini kita diberikan sebuah layanan FTP server yaitu VSFTPD yang dimana kita harus mempatching layanan tersebut. Karena itulah kami mengubah beberapa konfigurasi agar pengguna tidak dapat berpindah-pindah directory/file serta mentransfer file.
dan menambahkan whitelist user jadi hanya beberapa user yang diperbolehkan masuk ke layanan FTP.
Dan Hasil nya menjadi seperti ini
Port 3000
Pada chall port 3000 disini kita diberikan sebuah layanan Redis server yang dimana kita harus mempatching layanan tersebut. Disini kita hanya mengganti password dari password default menjadi password yang lebih complex. Serta menambahkan beberapa konfigurasi agar saat masuk ke layanan redis hanya beberapa command yang bisa dipakai
Port 80
Pada chall port 80 disini kita harus mencari 2 vulnerability dari layanan http server disini juga ada sebuah framework vaccinatation.
1.SQL Injection
Pada awalnya kita mengecek source code dan ternyata framework ini juga terconnect dengan database jadi kita dapat mengetahui bahwa ada sebuah vulnerability yang berhubungan dengan database yaitu SQL Injection jadi saya mencari source code yang berinteraksi dengan database dan menambahkan beberapa function seperti htmlspecialchars.
2. XSS Injection
Disini karena kita tidak tahu username dan password untuk login. jadi kita mencari user untuk login dan mengganti password nya di database. jadi terdapat user bernama lks yang mempunyai password hash jadi saya mengganti password dengan lupajuga22 yang diubah ke hash md5 lalu login ke website nya. Setelah login, disini awalnya saya mengira ini adalah LFI tetapi masih dianggap salah oleh juri jadi saya mencari kembali. Hingga didapatkan bahwa terdapat vulnerability pada saat kita menambah note kita bisa melakukan xss injection. disini kita cek dengan memasukkan <script> alert(1) </script> dan benar muncul pop up 1. jadi saya mencari source code nya dan juga menambahkan function str_replace(‘<script>’,”,$name) kita mengganti <script> menjadi string kosong di variable name. dan menambahkan juga function htmlspecialchars. Lalu diterima oleh juri dan mendapatkan flagnya