Selamlar, bugün sizlere Offensive Security Web Expert (OSWE) sınavı hakkında birkaç şey yazmak istiyorum. 12 Mayıs Perşembe günü OSWE sınavına girdim ve süreci başarı ile tamamladım. Sektördeki arkadaşlardan ve yazılım ile uğraşan arkadaşlardan süreç ile ilgili sıkça soru aldığımdan böyle bir yazı yazmak istedim.
Öncelikle Offensive Security Certified Professional (OSCP) sertifikasına sahip olduğumdan sınav sürecinde heyecan yaşama durumum çok söz konusu olmadı. OffSec’in sınavına ilk girecekler için bu etkileyici bir durum olabilmektedir. Çünkü bilmeyenlerimiz vardır OffSec sınavlarının hepsini (OSWP hariç) kamera ve ekranınızı canlı izleyerek yapmaktadır. Bu yüzden heyecan böyle sınavlarda çok rahatsız edici olabiliyor.
Her şeyden önce şunu bilmek lazım ki OSWE ağırlıklı olarak güvenlik araştırmacılarına hitap etmektedir. Bu alanda az da olsa güvenlik araştırmacılığı yapan arkadaşlara çok yabancı gelmeyecektir. Ben az çok güvenlik araştırmacılarının yayımladıkları makalelerden ve şahsi olarak yapmış olduğum araştırmalar sayesinde çok yabancılık çekmedim. Fakat yine zorlanmadığımı söyleyemem. Bu süreçte olan veya yeni başlayacak arkadaşlar için yayımlanan güvenlik araştırma makalelerini iyi şekilde okumalarını ve bakış açılarını iyi anlamalarını önerebilirim.
OffSec’in vermiş olduğu eğitim PDF’i bence gayet açıklayıcı ve öğretici. Ben okurken “Oha yok artık” falan dediğim şeyler oldu. Tabi ek olarak vermiş olduğu lab makinelerini de çözerseniz baya bir yaklaşım oturmuş olacaktır. Bana soracak olursanız lab’ı minimum 2 ay hatta durumunuz var ise 3 ay almanızı öneririm. (Tahminimce 1 ay zaten satılmıyor olabilir. Ama yine de belirteyim😊) Açıkçası genel olarak resme baktığınızda güvenlik araştırması yaparken odaklanabileceğiniz birkaç nokta var. Bunları oturttuğunuzda sınavda belirtilen zafiyetleri otomatik olarak buluyor olacaksınız.
Sınav süresi olarak 2 gün (48 saat) verilmektedir. Bu süre içerisinde 2 makineyi çözmeniz beklenmektedir. Sınav esnasında 2 debug makinesi ve 2’de hedef makine tarafınıza verilmektedir. Debug makinelerinde kaynak kodu okuyarak zafiyetleri tespit etmeniz ve denemeleri bu cihazlar üzerinde yapmanız beklenmektedir. Sınavı geçebilmeniz için 85 puan almanız gerekmektedir. Yani bu da bir makineyi full çözmeniz ve diğer makinenin ise en az authentication bypass kısmını yapmanız demektir. Özetle sizden önce Authentication Bypass yapmanızı sonrasında ise sistem üzerinde komut çalıştırabileceğiniz zafiyeti (RCE) tespit etmenizi istiyorlar. Şunun altını çizmemde fayda var. Kesinlikle ama kesinlik sınav esnasında otomatize araç kullanmanızı istemiyorlar. Örneğin Nessus, Netsparker, Sqlmap vb.
Tabi sadece zafiyetleri bulmanız ve bunları manuel sömürmeniz ile ne yazık ki iş bitmiyor. Authentication bypass ve RCE zafiyetlerini birleştirerek tek bir sömürü kodu ile işlemleri otomatize hale getirmeniz istenmektedir.
Sınavı sorunsuz bitirdikten sonra raporu hazırlayıp göndermeniz için 24 saat süreniz vardır. Detayları ile raporu yazmanız beklenmektedir. Bu süreçte de sınav esnasında ekran görüntülerinin detaylı ve açıklayıcı şekilde alındığından emin olmak gerekir. Rapor sürecini de tamamlayıp gönderdikten sonra 10 iş günü içerisinde olumlu ya da olumsuz dönüş yapıyorlar. Bana 4 gün içerisinde döndüler ve aşağıdaki maili aldım.
Hakim olmanız gerekenleri kısaca aşağıya bırakıyorum:
Manual SQL Injection
PHP Type Juggling
Deserilization Exploitation
Cross-Site Scripting (XSS)
Unrestricted File Upload
Server Side Template Injection (SSTI)
Tabi yukarıdakilere ek olarak .NET, PHP ve Java gibi programlama dillerine giriş seviyede olsa hakim olmanız gereklidir. Unutmadan zafiyetleri tespit ettikten sonra Python, Perl, Ruby, C vb. exploit kodunu artık ne ile yazmak istiyorsanız o programlama diline de hakim olmanız gereklidir 😊
Sınavı gözünüzde çok büyütmemenizi fakat çok da küçültmemenizi öneririm. Umarım kafanızdaki sorulara az da olsa cevap verebilmişimdir. Süreçte başarılar dilerim, bir sonraki yazıda görüşmek üzere.