OSCP Yolculuğu

Merhaba, bugünkü yazımda Offensive Security Certified Professional (OSCP) eğitimi, sertifikasyon süreci ve bu yoldaki maceramdan bahsedeceğim.

Genel Bakış

OSCP hazırlığı, lab ortamı ve sınavı size her aşamada kafanızı duvarlara vurmak isteyeceğiniz hisler uyandırabiliyor. Her aşamada yeni şeyler öğreniyor, öğrendikçe motivasyonunuz artıyor, yeni bir aşamaya geçtiğinizdeyse yeni acılar sizi bekliyor oluyor.

OSCP sınavı 23.45 saatlik bir süre içerisinde 5 adet bilgisayarı ele geçirmenizden oluşuyor. 5 bilgisayardan bir tanesi exploit yazılarak alınıyor ve sınavda en yüksek puana sahip olan bilgisayarlardan biri oluyor. Diğer bilgisayarlar için ise keşif, exploit ve post-exploit aşamaları önem kazanıyor.

OSCP lab ortamı 50’den fazla Linux ve Windows bilgisayar ve 4 adet alt ağ içermekte (Public, IT, Development ve Admin). Offensive-Security’e göre lab ortamındaki bütün bilgisayarları başarıyla hackleyebiliyor olmanız sınava girebilmek için minimum gereksinimlerden sadece bir tanesi.

Lab ortamında bana çok şey öğreten favori bilgisayarlarım; Gh0st, Pain, Humble ve Sufferance

OSCP öncesi sahip olunması gerekenler; İlgi, sabır ve pes etmeme isteği en başta gelmek üzere temel linux, temel programlama bilgisi, exploit-db gibi yerlerdeki exploitleri okuyabilme ve anlayabilme size OSCP hazırlığı için bir taban oluşturacaktır.

Ön Hazırlık

Eğer sızma testi ve buffer overflow exploitation gibi konulara aşinaysanız, OSCP eğitimini ön hazırlık yapmadan da alabilirsiniz.

Linux komutları; http://linuxcommand.org

Programlama dilleri; http://www.pentesteracademy.com/topics (Python öğrenmeniz başlangıç için en iyisi olacaktır)

Metasploit kullanmak sınav içerisinde sadece 1 bilgisayarla sınırlı olmasına rağmen öğrenmenizde fayda var; https://www.offensive-security.com/metasploit-unleashed/

Assembly ve Buffer overflow (ve daha fazlası); https://www.youtube.com/playlist?list=PLMGUdaTHpFQLmSAk5_cTM8Y502hhVpeNf

Keşif; http://www.0daysecurity.com/penetration-testing/enumeration.html

Shell exploitation; http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet

Windows privilege escalation; http://www.fuzzysecurity.com/tutorials/16.html, https://github.com/GDSSecurity/Windows-Exploit-Suggester

Linux privilege escalation; https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/, http://www.securitysift.com/download/linuxprivchecker.py

Bunlar harici daha pek çok referans bulunmakta. OSCP boyunca araştırma yapmak ve değişik konuları keşfetmek size kalmış.

Eğitim ve Lab

OSCP içerisindeki ana konunun sınav değil lab olduğunu belirtmekte fayda var. Lab ortamında çok şey öğreniyorsunuz ve yeni şeyler keşfediyorsunuz. Eğitim materyallerini tamamladıktan sonra lab ortamına önem vermenizi tavsiye ederim. Ben eğitimi alırken 1 ay lab süresi ile beraber almıştım fakat benim tavsiyem 3 aylık bir lab süresi almanız yönünde.

Lab öncesi yapabileceğiniz çalışmalar; http://www.abatchy.com/2017/02/oscp-like-vulnhub-vms.html, https://www.hackthebox.gr/

Tüm hazırlıklardan sonra aldığınız OSCP ile size yollanan materyallerdeki (video ve PDF) uygulamaları yapmanızı ve raporlamanızı öneririm. PDF içindeki uygulamalar ve lab bilgisayarlarından 10 tanesinin raporlanması ve sınav raporuyla beraber yollanması size ekstra 5 puan getirecektir. (5 puan çok değil demeyin, gerçekten ihtiyaç oluyor. Ben lab ve uygulamayı raporlamadım ve ilk 2 sınavımda 5 puanım olmadığı için kaldım)

Lab ortamında buffer overflow exploitation olmadığından video ve PDF materyallerinde yer alan buffer overflow kısımlarını elinizin alışması adına 3-4 defa tekrarlamanızı öneririm.

Bir bilgisayarı çözmenizde size yardımcı olacak adımlar;

  • Port tarama
  • Servis ve bilgisayar keşfi
  • Zafiyetin exploit edilerek shell elde edilmesi
  • Bilgisayar içerisinde keşif
  • Privilege escalation

İlgili adımlar kolay olmayacağı gibi, offensive-security forumlarında ya da adminlerden yardım istediğinizde size söyleyecekleri ilk cümleyi şimdiden söylemek isterim; enumeration is key. Bıkmadan, usanmadan ve her seferinde farklı açılardan yaklaşılarak yapılan keşif sizi başarıya ulaştırır.

Sınav

Lab ortamındaki başarınızdan aldığınız gazın bittiği yer sınav oluyor. 5 bilgisayar ve 23.45 saat çok gibi gelebilir, fakat sınava girdiğinizde böyle olmadığını anlıyorsunuz. Sınavdan geçmeniz için 70 puana ihtiyacınız var. Sınavınız bittikten sonra ekstra 1 gün süre de raporlama için size veriliyor.

Metasploit kullanımı sadece 1 bilgisayar ile sınırlı.

Sınavda ihtiyacınız olanlar; uyku, yemek ve düzenli vermeniz gereken aralar.

Sınavınıza buffer overflow exploitation bilgisayarı ile başlarsanız ve önceden yeterli şekilde pratik yaptıysanız en fazla 2 saat içerisinde puanınızı alırsınız. Daha sonra ise yapacağınız iyi bir keşif ile minimum puana sahip bilgisayarı almaya bakın.

Çünkü sınav bu iki bilgisayarın alınmasından sonra başlıyor.

Kalan 3 bilgisayar ile gireceğiniz psikolojik savaş, sizin sınav sonucunuzu belirliyor. Offensive-security’nin size öğrettiği en değerli dersi bu bilgisayarlarla baş başa kaldığınızda hatırlamanızı isterim; Try harder

İlk sınavımda uyumamak gibi bir hata yaparak 23 saat boyunca uğraş verdim. Uykusuzluğun verdiği etkiyle çok önceden görmem gereken bir şeyi kaçırdım ve başarısız oldum.

İkinci sınavımda ise düzgün uyku ve dinlenme aralıklarıyla yaptığım sınavımda privilege escalation konusunda eksiklerim olması sebebiyle başarısız oldum.

Üçüncü sınavımdan önce windows privilege escalation konusunda bulabildiğim bütün materyalleri okudum ve 5 bilgisayarın hepsini başarılı bir şekilde ele geçirerek sınavımı tamamladım.

Raporlamanızda her bilgisayarda yaptığınız her adımı fotoğraf ve açıklamalarla anlatmanız istendiğini özellikle belirteyim. Sınav sonrası raporumu yolladım ve sonra gergin bekleyiş başladı. 2 gün sonra ise aşağıdaki mail ile uyandım;

OSCP günün sonunda sadece bir sertifika olmakla kalmayan; size hatalarınızdan ders çıkarmanızın önemini, “try harder” mantalitesini ve keşfin önemini öğreten çok değerli bir deneyim oluyor.

Siber güvenlik ile uğraşan herkesin bu deneyimi edinmesi gerektiğini düşünüyorum ve OSCP almanızı tavsiye ederek yazımı noktalıyorum.