Kamis, 15 Agustus 2019

Bug Bounty pertama saya: Sebuah Perjuangan

Halo.

Entah kenapa hari ini dalam perjalanan berangkat kerja, saya tiba-tiba tertarik untuk menulis perjuangan dari awal belajar seputar web security hingga mendapatkan bounty pertama saya.

Semua ini berawal ketika, pada suatu hari di bulan Maret 2019, server salah satu produk di kantor tempat saya bekerja dirontokkan oleh seseorang yang tidak bertanggungjawab. Dirontokkan dalam arti dihapus seluruh isinya, tanpa tujuan yang jelas dan tidak meninggalkan sisa. Saat itu waktu sudah menunjukkan sekitar jam 6-7 malam, diluar jam kerja. Sahabat saya yang bertugas mengurusi server, mas Ijul, yang sedang istirahat, terpaksa harus bangun kemudian melakukan Backup untuk berjaga-jaga jika hacker itu menyerang aset lain.

Saya merasa geram sekali dengan ulah orang tersebut. Saya yakin itu hanya perbuatan orang iseng tanpa tujuan yang jelas karena saat itu saya tidak melihat benefit apapun yang bisa dihasilkan dari aksi tersebut, namun dampaknya sangat merepotkan, mengganggu waktu istirahat orang lain. Untung saja masih terdapat backup yang bisa dipakai.

Saat itu, saya tertarik untuk mencari tahu siapa, dan bagaimana orang tersebut mendapat akses ke server. Setelah membuka log history akses sebelum server rontok, tidak banyak yang bisa saya dapatkan. Yang saya tahu, orang tersebut entah bagaimana berhasil mengupload sebuah shell untuk mendapatkan akses ke server, menggunakan IP Address yang selalu berganti-ganti.

Semesta memang bekerja dengan cara yang sangat misterius.

Tidak sampai satu minggu setelah peristiwa tersebut, sahabat saya yang lain yang merupakan seorang InfoSec Engineer, Bahtiyar, membagikan sebuah write-up tentang bagaimana dia menemukan dan melaporkan celah Local File Disclosure pada sebuah situs belanja online di Indonesia (bisa dibaca disini: Local File Disclosure Pada Salah Satu Situs Belanja Online Indonesia).

Jujur saat itu saya sangat kagum sekali dengan Almarhum beliau. Bayangkan, dia menemukan bug level critical, berhasil mendapatkan credentials dari server situs tersebut melalui celah LFD, namun bukannya memanfaatkan (dump seluruh isinya, atau menjual celah itu kepada pesaing situs tersebut, contohnya) dia lebih memilih melaporkan bug tersebut seperti seorang Gay Lord Pahlawan sejati, bahkan walaupun hanya mendapatkan imbalan 5M, (M)akasih (M)as (M)aaf (M)erepotkan (M)uehehehehehe.

Melalui peristiwa tersebut saya seperti ditunjukkan dua sisi hacker, di satu sisi ada orang-orang yang suka merusak dan merugikan orang lain tanpa tujuan yang jelas atau untuk kepentingan pribadi, dan di sisi lainnya ternyata masih ada pula orang-orang yang secara legal melakukan hal baik dengan melaporkan celah keamanan kepada pemilik, tanpa mengharapkan imbalan (responsible disclosure).

Saya juga mulai menyadari bahwa ternyata seorang hacker tidak selalu seperti bayangan saya (dan sebagian besar orang lain), yaitu duduk di kegelapan, memakai hoodie hitam dan topeng putih, sambil membuka terminal untuk meretas satelit NASA. :v Saya jadi teringat quote salah satu sahabat saya, kurang lebih seperti ini: 

"Pas buka Terminal dibilang Pro, padahal cuma nge-ping DNS biar koneksi agak lancar. Giliran pas ngetik di notepad dibilang Noob, padahal lagi bikin Exploit." - Yudha Pratama

Terinspirasi dari berbagai hal diatas, saya memutuskan untuk mulai sedikit demi sedikit mempelajari, dan berpindah haluan dari seorang Software Engineer menjadi seorang InfoSec Engineer. Berat memang, saya harus pintar-pintar membagi waktu karena posisi saat ini masih bekerja sebagai seorang Android Developer di sebuah perusahaan.

Hampir setiap malam setelah bekerja, saya sempatkan untuk membaca report-report dan write up dari para ethical hacker di berbagai website seperti hackerone, medium, ataupun blog pribadi mereka. Sabtu dan minggu, karena saya libur, saya gunakan untuk melakukan pentest kepada berbagai target di berbagai program, public maupun private, sampai sering military, tidak tidur. Saya mendapatkan banyak ilmu dari hackerone, karena disana terdapat resource yang memang dikhususkan untuk orang yang baru memulai belajar Security.

Saya cukup beruntung karena memiliki beberapa sahabat yang sudah lebih dahulu berkecimpung di dunia Security, sehingga bisa banyak bertukar pikiran, mendapatkan rekomendasi tools untuk membantu recon, dll. Jujur saya tidak begitu tertarik dengan Labs, karena memang sudah didesain untuk vulnerable sehingga kurang menantang, saya lebih suka langsung terjun ke alam liar. 

Namun saya rajin mengerjakan CTF (Capture the Flag) milik hackerone. Karena apabila sudah terkumpul sekian poin, kita akan mendapat undangan untuk melakukan pentest pada private program di platform mereka, kesempatan bagus untuk pemula seperti saya.

Semua itu saya jalani sampai sekitar 5 bulan. Sekian report sudah saya kirimkan, baik melalui platform ataupun langsung ke email perusahaan, banyak sekali duplicate, not applicable, atau bahkan tidak dibalas, ada juga yang mengucapkan terima kasih, dan saya sudah senang sekali. Sebagian besar write up saya posting di blog ini, termasuk yang memiliki severity amat sangat rendah. Saya tidak malu, karena itu merupakan bagian dari proses yang saya lalui.

Hingga akhirnya, pecah telur, saya mendapatkan bounty pertama saya.

Setelah sekian lama, ada laporan saya yang valid dan berhak mendapatkan bounty, tidak lama kemudian (kurang lebih dua minggu), saya mendapatkan bounty lagi dari report valid lain. Dua-duanya merupakan High Severity, dua-duanya dari website marketplace terbesar di Indonesia, si Hijau dan disusul si Merah.

Berikut ini saya cantumkan beberapa quote yang saya dapatkan dari sensei-sensei yang telah membimbing saya selama ini:

"Rasah kakean cangkem."
- Kak Dyqa, donatur tetap aegis coffeeshop
Saya suka kakak yang satu ini, karena sangat frontal, apa adanya dan tidak pandang bulu. Maksud dari perkataannya adalah sebaiknya kita tidak usah banyak bicara yang tidak perlu, terutama seputar rencana atau harapan kita. Langsung saja eksekusi, belajar dan tingkatkan sedikit demi sedikit, jangan terlalu lebar melangkah, agar bisa bertahan di jalur yang tepat dan tidak memecah fokus. Seperti jargon kali linux, The quieter you become, the more you are able to hear. Sebenarnya ini bisa diterapkan ke dalam semua hal yang ingin dipelajari, tidak hanya di dalam konteks IT Security.

"Keep digging, guys."
- Mbah Gambreng, blantik sapi
Mbah Gambreng menyarankan agar kita terus mencari dan menggali berbagai kemungkinan. Seperti kata orang-orang, no system is safe, selalu ada jalan untuk mereka yang mau mencari tahu. Setelah kita menemukan sebuah celah, alangkah baiknya kita mencari teknik eksploitasi yang dapat dilakukan, kemudian membuat Proof of Concept yang lengkap dan tepat untuk mendukung teori tersebut, sebelum terburu-buru melaporkan. Keep digging and try harder, guys.

"Report and forget."
- Malika, kedelai hitam pilihan yang dibesarkan sepenuh hati, seperti anak sendiri
Malika menyarankan agar kita tidak terlalu berorientasi pada Bounty. Bounty hanyalah bonus, yang paling penting adalah kita telah berusaha berkontribusi untuk menciptakan sistem yang lebih aman. Nominal bounty, valid ataupun tidak valid, biarlah menjadi keputusan pemilik program. Tugas kita adalah melaporkan celah keamanan yang kita temukan.

Terima kasih sudah membaca,
Ciao.


Bug Bounty pertama saya: Sebuah Perjuangan
4/ 5
Oleh