Sızma testi süresince izlenmesi gereken adımlara Cyber Kill Chain adı verilir. Cyber kill chain'i, deneyimlerimden ve günlük hayatımda CTF çözerken kullandığım tekniklerden yola çıkarak özetleyeceğim.
1- Bilgi toplama aşaması: Hedef sistem üzerinde gerek aktif, gerek pasif olmak üzere toplayabildiğimiz kadar bilgi toplamaya çalışıyoruz. Açık portlar, portlar üzerinde çalışan servisler, bu servislerin versiyon bilgileri, tüm ip bloklarının taranması, çalışanların listesi ve e-posta adresleri... Kısacası toplayabildiğimiz kadar bilgiyi toplayıp, kategorize etmemiz gerekiyor.
2- Zafiyet Taraması ve Analizi: Hedef sistem üzerinde topladığımız ve kategorize ettiğimiz bilgilerden yola çıkarak hedef sistem üzerinde bulunan uygulamalar ve portlar üzerinde zafiyet taramasına başlıyoruz. Bulduğumuz zafiyetleri kritiklik düzeyine göre öncelik sırasına koyuyoruz.
3- Exploitation Aşaması: Hedef sistem üzerinde yapılan taramalar sonucu tespit edilen zafiyetlerin test ve sömürü aşamasıdır. Örnek senaryo: Bilgi toplama aşamasında bir cihazda 139/445 portlarının açık olduğunu not almışız. Zafiyet tarama aşamasında, nmap scriptleri veya metasploit gibi zafiyet tarama araçları ile bu portları tarıyor ve ms17-010 zafiyetinin olduğunu tespit ediyoruz. Bu aşamada da gerek manuel, gerek otomatize araçları kullanarak bu zafiyeti sömürüyor ve sistem üzerinde oturum alıyoruz.
4- Privilege Escalation: Sistem üzerinde oturum aldıktan sonra, eğer düşük haklara sahip bir kullanıcı hesabından oturum aldıysak yetki yükseltmemiz gerekiyor. Linux için root, Windows için Administrator haklarına erişmemiz gerekiyor. Eğer yüksek haklarda çalışan bir kullanıcı oturumundaysak, bir sonraki aşamaya geçebiliriz.
5- Lateral Movement: Haklarımızı yükselttikten sonra, sistem üzerindeki bilgileri kullanarak ağ içerisinde bulunan diğer cihazlara sıçrayabiliriz. Örneğin, active directory enviromentindeyken bir sisteme sızdık. Bu sızdığımız cihazı kullanarak internal networkte bulunan cihazlara erişebilir, servis hesaplarının tokenlarını kullanarak diğer sistemlere de erişebiliriz. Bazı durumlarda bilgisayarlar arasında, bazı durumlarda ise aynı sistem üzerinde yatay hareket yapmak mümkündür. Örneğin www-data kullanıcısı yerine jonath'ın hesabına geçiş yapmak, sistem içerisindeki yatay harekete örnektir.
6- Kalıcılık Sağlama: Etik alanda çalıştığımız için sistemlerde kalıcı olmamıza gerek yoktur. Fakat sızma testleri esnasında hacklenen sistemlere erişimin kaybedilmemesi gereklidir. Bu yüzden hedef sistem üzerine kullanıcı oluşturarak, veya cihaz açılır açılmaz çalışacak programlar yerleştirerek sistemde kalıcılığı sağlayabiliriz.
7- İzleri Silmek: Etik alanda çalıştığımız için izleri silmemize gerek yok. Fakat sızma testi bittikten sonra, "aksi istenmediği sürece" sistem üzerine yüklenen payloadlar, exploitler, oluşturulan kullanıcılar, değiştirilen dosyalar, kısacası bizim tarafımızdan yapılan yüklenen tüm değişiklikler silinmeli, ya da eski haline çevrilmeli.
8- Raporlama: Sızma testi bittiğinde, sistem üzerinde bulunan tüm zafiyetler raporlanır. Rapor içerisinde adım adım tüm aşamalar, bulgular ve çözüm önerileri yer almalıdır.
-Kenan Özgür "Sixpon" ÖZÜGÜRLER
Comments