Eğitimin amacı makine diline derlenmiş uygulama açıklıklarının en bilinen ve en popüler örneği olan bellek taşma açıklık türünü anlayabilmek ve bu açıklığı istismar edebilmek için gerekli temel bilgilere sahip olabilmektir. Eğitimimizde üzerinde çalışacağımız örnek vaka, eski sayılabilecek ancak halen yoğun biçimde kullanılan Intel X86 mimarisine özel bir vakadır. Yine örnek vakamızda üzerinde çalışacağımız bellek taşma açıklık türü Stack tabanlı açıklık türündendir. Bu makine (işlemci) mimarisinin ve bellek taşma açıklık türünün seçimlerinin nedeni eğitim amacımıza uygun en basit ve anlaşılır örneği işlememize uygun olmalarıdır.
Eğitim Özeti
Eğitim Intel X86 mimarisinde stack tabanlı bellek taşma açıklıklarının nasıl oluştuklarını ve nasıl kötüye kullanıldıklarını açıklamayı hedeflemektedir. Eğitimin ana bölümleri aşağıdaki gibidir:
Stack Tabanlı Bellek Taşması
Örnek Uygulamamız ve Uygulamanın Fuzz Edilmesi
Uygulamanın İkilik Ayıklama (Binary Debugging) ile İncelenmesi
EIP Register Kontrolü
İstismar Kodu İçin Ön Testlerin Yapılması
İstismar Kodunun Hazırlanması ve Kullanılması
Metasploit Exploit Ekleme Adımları
Kabuk Kodu (Shellcode) Teorisi
Hedef Kitle
Sızma Testi Uzmanları
Bilgi Sistemleri Denetçileri
Bilgi Sistemleri Risk ve Uyum Uzmanları
Sistem ve Ağ Yöneticileri
C, C++ ve Assembly Dillerinden Uygulama Geliştiren Uzmanlar
Gereksinimler
Temel Assembly dili bilgisi
Derleme ve linkleme teorisi
Temel Intel X86 mimari bilgisi
Ağ istemcisi olarak kullanmak üzere temel Python v.b. uygulama dili bilgisi
Temel ikilik hata ayıklama (binary debugging) araç kullanımı
Temel Linux komut satırı kullanım bilgisi
Kazanımlar
Belleğe yüklenen bir uygulamanın sahip olduğu bellek organizasyonunu,
Stack veri alanının kullanım amaçları ve yöntemlerini,
Bellek taşma açıklıklarının sebep ve sonuçlarını,
Bellek taşma açıklıkları kullanılarak ulaşılabilecek sonuçları,
Bellek taşma açıklıklarını kullanan bir istismar kodunun nasıl geliştirileceğini öğrenir.