Riyan Firmansyah

Pengalaman Saya Mengambil Sertifikasi OSWE dari OffSec

· 8 min read · #Experience #100DaysToOffload

Sudah banyak review dan cerita pengalaman orang lain mengenai ujian OSWE dari OffSec. Saya juga bukan orang pertama yang menulis tentang hal ini. Namun saya tetap ingin menuliskan pengalaman saya sendiri di sini yang saya jalani sampai 2 kali ujian hanya karena kesalahan sepele di ujian pertama.

Karena saya sudah mengundurkan diri dari perusahaan tempat saya bekerja sebelumnya dan masih dalam kondisi menganggur, saya memanfaatkan waktu untuk fokus mempelajari materi sertifikasi OSWE sekaligus mengikuti ujiannya selagi menunggu balasan lamaran pekerjaan.

Sebagai konteks untuk bisa lulus dari ujian sertifikasi OSWE ini saya harus:

Selengkapnya disini

Ujian Pertama

Ujian dimulai jam 3 sore dan akan dilakukan selama hampir 2 hari (47 jam 45 menit) dan setelah itu diberi waktu selama 1 hari setelah ujian berakhir untuk menuliskan dokumen laporan hasil dari ujiannya sesuai dengan format yang sudah ditentukan.

Objektif untuk mendapatkan poin pada ujian ini adalah:

Pada ujian pertama saya ini, menurut saya sesi awal berjalan cukup baik. Saya berhasil mendapatkan akses ke administrator web di salah satu mesin hanya dalam waktu sekitar 1 jam sejak ujian dimulai, namun setelah itu saya mulai masuk ke rabbit hole yang sangat melelahkan. Rabbit hole yang terasa sangat meyakinkan. Detailnya cukup menggiurkan, ada petunjuk yang tampak kuat, ada hasil yang terlihat masuk akal, dan semuanya membuat saya berpikir, “wah ini mungkin memang jalan yang benar.”

Akhirnya saya terjebak hanya di fitur tersebut selama berjam-jam. Tidak hanya beberapa jam, tapi sampai 12 jam hahaha. Saya menghabiskan waktu yang lama hanya untuk mengejar satu fitur tertentu yang menurut saya pasti menjadi kunci. Setelah itu saya coba istirahat dan coba bergeser ke mesin yang lain karena sudah jenuh terperangkap rabbit hole, dan benar saja akhirnya saya berhasil mendapatkan akses administrator web di mesin yang lain.

Waktu berjalan dan mulai memasuki beberapa jam sebelum ujian akan berakhir, kebetulan saat itu saya sudah punya progress yang cukup bagus dan bahkan sudah meraih 85 poin (mendapatkan akses administrator web di 2 mesin dan mendapatkan RCE hanya di salah satu mesin). Saya sangat yakin ini sudah cukup untuk bisa lulus dari ujian ini karena skor minimal yang diperlukan untuk lulus adalah 85 poin. Dengan sisa waktu sekitar 2 jam ini saya coba kumpulkan screenshot potongan kode sebanyak dan selengkap mungkin serta screenshot hasil eksekusi exploit sebagai bukti untuk bisa dicantumkan kedalam dokumen laporan nanti.

Setelah waktu ujian sudah selesai, saya langsung pergi ke tempat tidur untuk beristirahat karena ujian ini sangat menguras energi dan pikiran. Setelah istirahat dengan cukup saya coba lanjutkan penulisan dokumen laporan yang sudah saya drafting sambil ujian sebelumnya untuk dikirimkan ke OffSec.

3 hari berlalu setelah saya kirimkan dokumen laporannya dan saya mendapatkan email yang cukup membuat saya heran karena saya tidak berhasil lulus dari ujiannya, isi emailnya sebagai berikut.

Karena sudah yakin bahwa sebelumnya saya berhasil mendapatkan 85 poin akhirnya saya coba ajukan banding ke OffSec, dan setelah dilakukan evaluasi ulang hasil ujiannya serta diskusi panjang yang prosesnya bahkan sampai 1 bulan lebih akhirnya saya mendapatkan detail mengapa saya tidak berhasil dianggap mendapatkan 85 poin.

Satu-satunya masalah adalah di exploit script saya yang memiliki satu kesalahan kecil yang fatal. Karena kesalahan itu, exploit yang saya kirim tidak dianggap valid di salah satu mesin dan poin yang diberikan harus dikurangi atau bahkan tidak mendapat poin sama sekali yang membuat saya tidak berhasil melewati nilai ambang batas kelulusan. Dengan besar hati saya menerima hasil tersebut dan akan mencoba untuk melakukan ujian ulang yang mana perlu membayar sekitar $249 (kurang lebih Rp 4.4 juta sesuai kurs saat artikel ini dibuat).

Saya bisa bilang proses dispute itu cukup brutal secara mental. Saya sudah bekerja keras selama hampir 2 hari dan sudah mendapatkan di poin yang cukup, tapi satu kesalahan kecil di script bisa meruntuhkan seluruh progres yang sudah saya bangun. Ini yang membuat saya sadar bahwa di level ujian sertifikasi ini, satu kesalahan kecil itu bisa berdampak sangat besar.

Ujian Kedua (Retake)

2 Bulan setelah ujian pertama dengan kenyataan bahwa saya tidak berhasil, saya mencoba membeli ujian ulang (retake) dan langsung menjadwalkan untuk ujian kedua dengan kondisi yang sangat siap. Awalnya saya memiliki prinsip untuk tidak lagi terlalu tergoda mengejar semua kemungkinan. Saya lebih fokus pada objektifnya saja dan mencoba untuk tidak terpaku terlalu lama pada 1 hal.

Beruntungnya pada ujian ulang saya kali ini, saya mendapat set mesin dan objektif yang sama dengan ujian pertama. Ini sangatlah membantu karena saya sudah punya konteks sebelumnya dan tidak perlu mengulang dari awal. Saya bisa melanjutkan dari progres yang sudah ada dan memperbaiki kesalahan yang sebelumnya.

Pada akhirnya, ujian kedua berjalan lebih tenang dan hasilnya jauh lebih memuaskan. Saya bisa menyelesaikan kesalahan yang terjadi di ujian pertama dan juga berhasil menyelesaikan keseluruhan objektif yang diberikan dengan poin yang seharusnya terhitung 100 poin hanya dengan waktu kurang lebih 4 jam sejak ujian kedua dimulai. Setelah saya perbarui dokumen laporan dan mengirimkannya, lalu berselang 1 hari setelah saya kirimkan dokumen laporannya akhirnya saya mendapatkan email kelulusan saya.

Ini adalah sertifikat yang diberikan oleh OffSec sebagai tanda bahwa saya berhasil menyelesaikan ujian OSWE dan materi Advanced Web Attacks and Exploitation dengan baik, Sertifikatnya bisa juga dilihat melalui website resmi disini

Lesson Learned

Kesalahan Kecil yang Membawa Dampak Besar

Salah satu hal yang paling saya ingat dari pengalaman ini adalah bagaimana satu kesalahan bisa benar-benar mengubah hasil ujian.

Tidak hanya soal exploit script saja. Dalam OSWE, sangat mudah sekali untuk merasa “sudah cukup nih” padahal sebenarnya ada satu hal yang masih belum dicek dengan benar. Bisa jadi ada typo, bisa jadi ada parameter yang salah, bisa jadi edge case yang belum dipikirkan. Saya sendiri sempat belajar bahwa memang di level ini final step itu sangat krusial.

Dari pengalaman ini akhirnya di ujian kedia setiap kali saya melakukan perubahan sedikit pada exploit script, saya selalu mencoba untuk melakukan revert machine dan mengulang menjalankan kembali, jadi saya berusaha memastikan:

Sebelumnya saya percaya bahwa saya bisa menyelesaikan ini dengan baik di ujian pertama, tapi akhirnya saya dibuat untuk benar-benar percaya bahwa di ujian OSWE, tidak cukup hanya “saya sudah yakin” ternyata perlu untuk memastikan berkali-kali. Periksa kembali, cek lagi, lalu cek ulang. Kadang satu kata kunci, satu flag, atau satu baris kode kecil bisa membuat semua jalan yang sudah anda susun menjadi tidak valid. Di dunia exploitation and exploit development, semuanya terkesan sangat teknis dan detail.

Challenge Labs Sangat Membantu

Salah satu hal yang menurut saya sangat membantu adalah challenge labs. Saya tidak hanya belajar dari permasalahan yang mirip dengan ujian, tapi juga dari cara berpikir yang dibutuhkan untuk menghadapi situasi tidak terduga.

Challenge labs membantu saya membangun kebiasaan yang sangat penting, yaitu:

Kalau saya menilai dari pengalaman pribadi, challenge labs bukan hanya latihan teknis, tetapi juga latihan psikologis. Anda belajar bagaimana menghadapi frustrasi ketika progres tidak berjalan seperti yang anda harapkan. Dan itu sangat penting, terutama karena ujian OSWE bukan hanya soal kemampuan exploit development, tapi juga soal mental endurance.

Rabbit Hole yang Tricky

Bagi saya, rabbit hole itu adalah salah satu aspek yang paling melelahkan dan paling “membunuh” dalam ujian OSWE.

Saya sempat terjebak selama 12 jam di satu fitur tertentu hanya karena semuanya terasa sangat meyakinkan. Saya tidak sedang malas atau tidak fokus namun justru sebaliknya. Saya sangat fokus, tapi fokus yang terlalu dalam pada satu hal bisa berbahaya ketika itu tidak benar-benar berjalan sesuai ekspektasi.

Saya mulai berpikir, “ini pasti ada di sini nih celahnya” atau “ini agak janggal nih, seharusnya disini bisa kayak gini” lalu saya masuk ke detail yang semakin dalam. Di satu sisi, itu memang bagian dari proses security research. Di sisi lain, tanpa kontrol, itu bisa berubah menjadi pemborosan waktu yang sangat fatal.

Saya jadi paham kenapa ujian OffSec level 300 diberi waktu hampir 2 hari penuh. Karena seringkali bukan soal kemampuan teknis semata, tapi juga kemampuan untuk tetap tenang saat semuanya terasa seperti mengarahkan ke tempat yang salah. Ada banyak momen di mana kita merasa sudah dekat, tapi itu hanya ilusi.

Poin penting

Dari pengalaman saya, selain banyak hal yang saya terapkan dari pengalaman orang lain di luar sana, ada beberapa pelajaran tambahan yang mungkin bisa diterapkan juga oleh teman-teman:

Penutup

Saya ingin mengucapkan terima kasih kepada perusahaan tempat saya bekerja sebelumnya yaitu Seclab Indonesia yang sudah memfasilitasi saya untuk mengambil sertifikasi OSWE ini dan juga sertifikasi OSCP sebelumnya. Dukungan dan kesempatan yang diberikan oleh perusahaan sangat berarti bagi saya. Ini bukan hanya sekadar pengalaman untuk menambah sertifikat di profil, tapi juga pengalaman yang sangat berguna untuk proses belajar dan pengembangan diri saya ke depan.

Saya juga ingin berterima kasih kepada semua orang yang pernah membantu saya dalam proses belajar, baik secara langsung maupun tidak langsung.

Semoga pengalaman saya ini bisa menjadi sedikit pencerahan, pengingat, atau bahkan inspirasi bagi teman-teman yang sedang berproses menuju ujian OSWE atau sertifikasi sejenis.


Ini adalah hari ke 7 dari 100 hari menulis.

Comments