Multiple Vulnerabilities Found at *.surabaya.go.id

  • Home
  • Multiple Vulnerabilities Found at *.surabaya.go.id

Halo, kali ini saya akan mencoba menuliskan sebuah writeup singkat tentang celah keamanan yang saya temukan di beberapa subdomain milik salah satu website pemerintahan di alamat: https://surabaya.go.id/. Sebenarnya tidak ada niatan awalnya untuk melakukan security testing (pen-test) terhadap website tersebut, cerita berawal dari penasaran dengan platform VDP finder: FireBounty.com dari YesWeHack yang merupakan website yang menyediakan database berbagai Vulnerability Disclosure Policy (VDP) dan Bug Bounty Program (BBP) yang didapatkan menggunakan teknik crawling berbagai website yang me-listing mekanisme pelaksanaan VDP ataupun BBP di website mereka. Kita juga dapat menambahkan manual dengan klik tombol “ADD VDP”.

Apa itu VDP dan security.txt?

Menurut U.S Department of Education, VDP adalah pedoman yang menjelaskan aktivitas yang dapat dilakukan oleh peneliti keamanan (security researcher) untuk menemukan dan melaporkan kerentanan keamanan dalam sistem dan layanan yang dapat diakses internet dengan cara yang sah secara hukum. Vulnerability Disclosure terbagi menjadi dua jenis, ada yang namanya Full Disclosure, yaitu dimana bug yang ditemukan perlu dijelaskan dan dideskripsikan dengan detail ke publik demi keamanan bersama, dan ada juga yang namanya Responsible Disclosure, yang sama dengan full disclosure, tapi bedanya kita memberikan batas waktu yang memungkinkan kerentanan tersebut untuk ditambal atau diperbaiki oleh developer yang bersangkutan. Salah satu standard yang digunakan untuk membuat VDP adalah menggunakan security.txt yang merupakan internet draft (https://datatracker.ietf.org/doc/html/draft-foudil-securitytxt) yang diusulkan untuk menjadi standard informasi keamanan situs web yang dimaksudkan untuk memungkinkan peneliti keamanan melaporkan kerentanan keamanan dengan mudah.

Selanjutnya saya mencoba mencari situs-situs startup besar Indonesia yg memang menyediakan bugbounty program seperti tokopedia.com dan bukalapak.com di kolom pencarian firebounty.com, namun hasilnya nihil. Saya kemudian menyadari bahwa situs-situs yang di crawl sepertinya hanya yang memiliki VDP dengan menggunakan standard dari security.txt. Karena, ketika saya coba iseng memasukkan kata kunci (dork) sederhana berikut: “.id” untuk mencari apakah ada situs Indonesia dengan domain yang berakhiran “.id” yang terindeks di database firebounty.com. Saya cukup terkejut ternyata cukup banyak hasil yang keluar, saya kira tidak ada sama sekali karena yang saya tahu baru startup besar saja yg menjalankan program Bug Bounty.

Setelah saya teliti lebih lanjut, memang situs-situs yang muncul ini memiliki standard security.txt ditandai dengan adanya file security.txt pada directory /.well-known/ (/.well-known/security.txt)ataupun pada root directory (/security.txt). Dari beberapa hasil pencarian yang muncul, ada satu yang menarik perhatian saya yaitu ada satu website pemerintahan surabaya.go.id yang memiliki pedoman untuk VDP pada url: http://surabaya.go.id/.well-known/security.txt/. Wah kalau tim security ataupun developer nya sudah tau dengan standard security.txt yang bisa dibilang tergolong baru karena merupakan internet draft yang di submit oleh Edwin Foudil pada September 2017 dan masih dalam tahap awal pengembangan menurut security.txt. Artinya, siapapun yang menerapkan standard security.txt ini di website surabaya.go.id dan mungkin yang pertama dan satu-satunya website pemerintahan yang menerapkan standard tersebut, sudah berkontribusi besar dalam upaya information security Indonesia yang lebih baik.

Mengapa? Karena sekarang setiap security researcher entah itu white-hat, grey-hat, atau bahkan black-hat sekalipun yang mungkin nyasar ataupun dengan sengaja ingin mencari celah keamanan di website surabaya.go.id akan mendapatkan informasi yang jelas bagaimana harus melaporkan kerentanan keamanan yang ditemukannya, apalagi jika “diapresiasi” atas setiap yang dilaporkan, kemungkinan “diisengin” ataupun terjadinya kasus kebocoran data dengan motif apapun kemungkinan bisa diminimalisir. Saya mengira awalnya kalau yang maintenance website ini saja tahu tentang security.txt pastilah sudah paham dan sering riset tentang security khususnya keamanan website. Karena yakin aman untuk di test dan informasinya jelas harus melaporkan kemana, saya langsung saja melanjutkan keisengan saya dengan melakukan Web Application Testing terhadap scope: *.surabaya.go.id

The Assessment & Bugs

Saya mulai mengeksplorasi target menggunakan teknik basic automation recon menggunakan standard tools untuk melakukan subdomain enumeration dan vulnerability scanning tahap awal. Kemudian dilanjutkan dengan manual testing untuk beberapa temuan dan endpoint yang menarik. Singkat cerita, saya menemukan multiple vulnerabilities yang severity level nya mulai dari sekedar information, low, medium, high, hingga critical. Hari ini saya cek terakhir kali sudah ada beberapa yang di-patch, namun masih ada juga yang belum padahal sudah lama sekali sejak laporan pertama kali saya kirimkan. Berikut beberapa dari sekian banyak kerentanan yang saya laporkan (yg disensor itu yang belum di patch):

Saya memang tidak sampai melampirkan Proof-of-Concept (PoC) dan hanya melaporkan celah yang menurut saya memiliki impact yang cukup saja dikarenakan di VDP ini tidak ada bounty ataupun apresiasi yang layak yg akan diberikan, hanya dikasih 2M (Makasih Mas), namun ada beberapa kerentanan umum yang saya coba juga sampai tahapan eksploitasi dan ternyata memiliki impact yang cukup besar (parah).

Timeline:

  • 5 April 2021 – Bugs dilaporkan
  • 12 April 2021 – Laporan dikonfirmasi
  • 22 Juni 2021 – Retesting, konfirmasi tentang proses perbaikan bugs karna ditemukan masih ada yang belum diperbaiki, walaupun sebagaian sudah
  • 22 Juni 2021 – Mendapat reply sebagai berikut:
  • 22 Juni 2021 – Bugs & writeup disclosed

Takeaways:

  • Vulnerability Disclosure Policy (VDP) menggunakan security.txt adalah sebuah standard yang sangat dianjurkan dan paling mudah untuk diterapkan oleh setiap website developer untuk menjembatani dan memberikan informasi yang jelas tentang kemana seharusnya melapor jika bugs ditemukan oleh para security researchers
  • Selalu up-to-date tentang berbagai security issues dan terapkan keamanan yang layak untuk seluruh aset digital yang kita punya/pelihara.
  • Untuk organisasi/perusahaan kecil-menengah bisa mulai menerapkan VDP dengan security.txt dan untuk kelas menengah-besar mungkin sudah saatnya mempertimbangkan penerapan Bug Bounty Program dengan syarat tentunya sudah dilakukan security assessment di early stage seperti Vulnerability Assessment & Penetration Testing (VAPT) terlebih dahulu.
  • VDP & Bug Bounty Program (BBP) merupakan salah satu solusi untuk mencegah terjadinya kasus kebocoran data, terutama di Indonesia dengan memberikan jalur yang aman dan jelas sehingga para penemu kerentanan yakin bahwa mereka tidak akan “ditangkap” jika melapor, serta memberikan reward ataupun apresiasi yang layak bagi para security researcher yang meluangkan waktunya untuk mencari celah keamanan di website anda.
  • VDP & Bug Bounty Program (BBP) dengan memberikan penghargaan bagi para penemu kerentanan mulai dari sekedar sertifikat apresiasi, atau sekedar memajang nama mereka dalam daftar hall-of-fame, memberikan swag, atau bahkan bounty berupa uang tunai seperti BBP dari halodoc.com/security yang memberikan reward mulai dari Rp 250.000 ini merupakan salah satu solusi untuk mengajak para whitehat hacker dan security researcher berkontribusi dalam melaporkan celah keamanan sebelum ditemukan oleh para cybercriminals. Jika para peretas berbakat ini merasa “dihargai” atas temuan mereka, mungkin saja yang niat awalnya “iseng” merubah tampilan halaman web atau ingin menjual data hasil temuan mereka untuk keuntungan pribadi (blackhat) bisa berubah niatnya dengan melaporkan temuan tersebut ke jalur yang sudah “jelas” dan “aman” dan merasa skill mereka dihargai dan diapresiasi. Yah, Win-win solution lah istilahnya.

1 Comment

Leave a Reply

Your email address will not be published. Required fields are marked *