Sızma Testleri Pentest Aşamaları Yöntemleri Anatomisi
Penetration Testing (Sızma Testi) veya pentest, gerçek dünyada yaşanabilecek potansiyel güvenlik ihlallerine bağlı olarak ortaya çıkan risklerin bir simülasyonudur. Bir pentest işleminde uzmanlar sadece hacker’ların istismar edebileceği (exploit etme) zafiyetlerini keşfetmenin haricinde bu zafiyetlere bir korsan gözüyle bakarak sistemde erişim kazanmaya da çalışırlar.
Sızma Testi Aşamaları |
Vakti zamanında, ünlü bir şirketin siber saldırıya uğradığına dair haberler yayılmıştı ve bu tarz saldırılarda büyük bir oranla zero day (0 gün açığı) zafiyetleri dahi -kullanılmamaktaydı-. Hatta büyük güvenlik bütçelerine sahip çoğu şirket Sql Injection, internet hizmetlerinde kullanılan zayıf parolalar (bu sayede web sitelerine erişim sağlanıyordu), sosyal mühendislik gibi saldırılara maruz kalıyorlardı. Diğer bir deyişle, bu tarz şirketler mülkiyet hakkı barındıran verileri kaybetmekle kalmayıp, onarılması mümkün olan bu güvenlik zafiyetlerinden mütevellit müşterilerin bazı kişisel verilerini de elden çıkarmış oluyorlardı. işte bir sızma testinde ana amaç, bu zafiyetleri hacker’lardan önce keşfettikten sonra, bu zafiyetin nasıl kapatılabileceğine dair raporlamalar yapmaktır.Sızma Testi’nin kapsamı çalıştığınız müşteriye göre daha doğrusu verilen görev mahiyetine göre değişebilir. Bazı müşteriler ciddi bir güvenlik duruşuna sahipken, bazıları da sadece olası güvenlik zafiyetlerine yoğunlaşarak işlerini yürütmek isterler. Bazen de bir veya birkaç web uygulamasına dair görevlendirme yapılabilir. Bu bağlamda müşterinin ağına girebilmek için istemci - tabanlı saldırılarla birlikte sosyal mühendislik saldırıları icra edilebilir. Bazı pentest operasyonları ise içeriye sızmış biri tarafından yapılabilecek saldırıları öngörme şeklinde de olabilir. Dış ağdan yapılan saldırılarda ise şirketin kablosuz ağına girmeye çalışılarak erişim sağlanabileceği gibi, fiziksel güvenlik ayarlarına bile erişim verilerek gerçekleştirilmeye çalışılabilir.
SIZMA TESTİNİN AŞAMALARI
Bir sızma testi ön - anlaşma fazı ile başlar. Bu aşamada müşteri ile yapılacak testin aşamaları, kapsamların haritalandırılması hakkında çeşitli görüşmeler yapılır. Uzmanlar ve müşteri arasında yapılacak olan testin kapsamı, yazılacak raporun formatı ve diğer başlıklar hakkında uzlaşmaya varıldıktan sonra test aşamasına geçilir. Bilgi toplama fazında, uzmanlar şirketin web sayfası veya farklı kaynaklar üzerinden, halka açık erişilebilir bilgilerden yararlanılarak iç ağa bağlanmanın potansiyel yollarını bulmaya çalışır. Tehdit - Modelleme fazında ise bir önceki fazda toplanan verilerden hareket ederek her bulgunun sisteme sızma konusundaki değeri ve etkisi araştılır. Bu aşamada elde edilen sonuçlar, pentester’a yapacağı saldırının metodu ve eylem planı hakkında ciddi fikirler verir. Pentester’ların sisteme saldırmasından önce bir zafiyet analizi işlemi icra edilir. Bu fazda pentestar’lar sisteme erişim sağlayabilecek şekilde avantaj sağlayan zafiyet keşifleri yaparak, exploitation (zafiyetleri sömürme - istismar etme) fazında kullanılabilecek bilgileri elde ederler. Başarılı bir exploit işlemi, post - exploitation işlemi fazına olanak sağlar. Bu fazda ise sistem üzerinde daha fazla bilgi toplamak, hassas verilerin elde edilmesi ve diğer sistemlere erişim sağlanabilmesi için bir önceki fazdan elde edilen bilgi ve bulgular değerlendirilir. Son olarak raporlama fazında, uzmanlar yapılan sızma testinin hem yöneticiler hem de şirket dahlindeki teknik insanlar için bir özet oluştururlar.
ÖN - ANLAŞMA AŞAMASI (PRE ENGAGEMENT)
Test işlemi başlamadan önce; uzmanlar ve müşteri arasında işlemlerin yapılacağı web sayfası hakkında mutabakata varılıp, web sitesinden emin olunur. Müşteri ve uzmanlar arasında tam da bu noktadaki iletişim kopuklukları, basit bir zafiyet araştırmasında bile test çalışmalarında ciddi anlamda istenmeyen sonuçlara sebebiyet verir ve yapılan exploit işlemlerinin elverişsiz olmasını sağlar.
Ön-anlaşma aşamasında anlaşılması gereken önemli noktalardan bir tanesi de müşterinin pentest işleminden beklentileri yani amaçlarıdır.
Eğer bu yaptıracakları ilk pentest işlemi ise;
1. Onları pentest işlemini yaptırma kararı aldıran hangi durumdur?
2.Web sayfası ve şirketin bilişim sistemleri ile ilgili en çok endişelenilen konu nedir?
3.Test aşamasında dikkat edilmesi gereken cihazlar var mı?
Daha sonra ise müşteriniz hakkında çalıştığı iş hakkında konuşun. Örneğin;
Onlar için en çok ne önemli? Ünlü bir alış - veriş sitesinde, saatler süren bir teknik aksama, sistem üzerinden binlerce dolar kaybedilmesine olanak sağlar veya yerel bir banka için düşünecek olursak birkaç saatlik bir aksama az bir sayıdaki müşteriye yansıyacaktır. Fakat bu aksama, bir kredi kartı veritabanına erişilmesi kadar yıkıcı olmayacaktır. Bir bilgi güvenliği sağlayıcısı için ise, şirketin web sayfasına yerleştirilen kaba mesajlar şirketin güvenilirliğini ve itibarını zedeleyecektir.
Ön-anlaşma aşamasında dikkat edilecek diğer hususlar şöyle sıralanmıştır.
KAPSAM
Sızma testinin kapsamına hangi IP Adresleri ve makinalar giriyor ve hangileri kapsam dışında kalıyor? Müşteri sistem üzerinde ne tarz işlemlerin yapılmasına izin veriyor? Bir servisin hizmet dışı bırakılmasına, çeşitli exploit’lerin kullanılmasına veya farklı zafiyetlerin bulunmasına olanak tanıyor mu? Müşteri basit bir port taramanın dahi sunucuyu veya yönlendiriciyi sistemden düşürebileceğinin farkında mı? Sosyal Mühendislik saldırısına izin veriliyor mu?
TEST PENCERESİ
Müşteri, testin haftanın sadece belli saatlerinde ve günlerinde yapılmasına izin verebilir.
İLETİŞİM BİLGİLERİ
Ciddi bir zafiyet bulunduğunda kiminle iletişime geçilmeli? Müşteri, günün 24 saatinde iletişim içerisinde olabileceğiniz birisini sağladı mı?
HAPİSTEN ÇIKMA KARTI
(Bir deyimdir - Get out of jail free)
Testi yapabilmeniz için gerekli izinlere ve yetkilere sahip olduğunuzdan emin olun. Eğer hedef bir şirkete ait değilse (3. parti yazılımlar barındırıyorsa), 3. parti yazılımlarına ait resmi bri onay olmadan sızma testine başlamayın. Ne olursa olsun, beklenmeyen bir durum oluştuğunda kontrat içerisinde sorumluluk alanınızı kısıtlayan ifadeler yer almalıdır. Aynı zamanda testi devam ettirebilmek için yazılı izinler de gerekmektedir.
ÖDEME ŞARTLARI
Ödeme nasıl, ne kadar ve ne zaman yapılacak? Son olarak kontrat içerisinde gizlilik anlaşması da yer almalıdır. Müşteri sızma testinden çıkan sonuçların ve bulguların güvenilir olduğuna dair yazılı bir anlaşma imzalamış olacaktır.
FAZLAR
BİLGİ TOPLAMA
Bu aşama boyunca uygun bilgi kaynaklarından veri elde edilmesi, açık kaynak istihbaratı (OSINT) gibi çalışmalar yapılır. Ayrıca sistemde veya web sunucusunda çalışan uygulamalar, bu uygulamaların sürümleri gibi bilgiler elde edilir. Bu aşama kimi zaman en uzun süren kısım olabilmektedir. Çünkü yapılabilecek tüm saldırılara ait bilgilerin elde edilmesi gerekmektedir. Örneğin, sosyal mühendislik saldırısı icra edilecekse şirket çalışanlarının bilgileri, hobileri, ilgi alanları, mail adresleri gibi envantere girebilecek tüm bilgiler tek tek işlenmelidir dahası bir sonraki aşamada çıkarılacak olan yol haritası işte bu bilgilerden yaralanılarak ortaya çıkacaktır.
TEHDİT MODELLEME
Bir önceki aşamadan gelen bilgileri temel alarak, tehdit modellemeye geçiş yapılır. Burda saldırgan gibi düşünerek bir planlama sürecine girilir. Örneğin, müşteri tescilli bir yazılım geliştiriyorsa, saldırgan yazılımın geliştirildiği ve kaynak kodların test edildiği sisteme erişim kazanabilir ki bu sayede müşterinin ticari sırlarını rakip firmalara satabilir. Zaten tüm sızma testlerinde amaç bu şekildedir. Toplanan bilgilerden hareket ederek oluşturduğumuz yol haritası bize temel olarak ne gibi bir test yapacağımıza dair ipuçları verebildiği gibi tüm testin ana taşlarını oluşturacak olan faktörleri de içerebilir.
ZAFİYET ANALİZİ
Daha sonra, Exploit stratejilerinin ne tarzda ve nasıl olabileceğine karar verebilmek için, aktif olarak bir zafiyet analizine başlanır. Başarı sağlanamayan Exploit etme işlemleri; çalışan servislerin arızalanmasına ve saldırı - tespit sistemlerinin alarm vermesini sağlar. Bu fazda pentester’lar genelde otomatik zafiyet tarayıcılar çalıştırırlar ki bu tarayıcılar zafiyetlere ait veri tabanlarından ve müşterinin sisteminde hangi zafiyetlerin bulunduğuna dair en iyi tahmini yapan aktif kontrol mekanizmalarından yararlanırlar. Gerçi zafiyet tarayıcıları güçlü araçlar olmalarına rağmen, kritik düşünmenin yerini hiçbir zaman alamazlar. Bu yüzden sonuçları doğrulamak için manuel analizler de yapılması gerekmektedir. Burada kritik düşünme olarak kastettiğimiz olay manuel taramadır. Öyle ki manuel tarama her zaman otomatik tarayıcılara göre çok daha kesin sonuç vermektedir. Zaten bir siber güvenlik uzmanlığı kariyeri yapmak isteyen hemen hemen herkes manuel tarama yöntemine gitmiştir. Otomatize araçlar her ne kadar hızlı sonuç verseler de, manuel tarama yavaş olmasına rağmen sonuçları kesindir.
EXPLOITATION
Şimdi işin eğlenceli kısmına geçiyoruz. Bu fazda bulunan zafiyetleri metasploit kullanarak sisteme erişim kazanmak için exploit işlemine tabi tutarız. Sizin de daha sonradan görebileceğiniz gibi bazı zafiyetleri exploit edebilmek çok basit olabiliyor ki bu işlemler default parolaları kullanarak mümkün olabiliyor. Exploitation işleminde bulunan zafiyetler sömürülür ve burada metasploit gibi çeşitli araçlar, modüller, yardımcı modüller, payloadlar kullanılır. Bu bir nevi anahtar kilit uyumuna benzetilebilir. Bir apartman düşünün elinizde sadece bir anahtar var, o anahtarın sadece 15 (örneğin) daireden sadece 1 tanesine olduğunu da daha öncesinden biliyorsunuz. Tek tek denemek bir tercih olabileceği gibi aynı zamanda elinizde 15 anahtar sadece 1 tane daire de olabilir ve yine aynı şekilde tek tek denemek zorunda kalabilirsiniz.
POST - EXPLOITATION
Bazı uzmanlara göre esas pentest işlemi exploitation fazından sonra başlar. bu da post - exploitation fazıdır. Artık sisteme erişim kazanmışsınızdır ve içerdesinizdir dakat bu durum veya yapılan saldırı müşteri için ne ifade eder?
Bir etki alanına (domain) ait olmayan ve yaması yapılmamış eski bir sisteme erişim sağladığınızı farz edelim. Sistemin yüksek değeri olan hedeflere network üzerinden bağlı olması durumu saldırgana birşey ifade etmeyecektir. Öyle ki bulunan zafiyetin riski, sistemin yazılım geliştirme sistemlerine ve domain (etki alanı) kontrollerine erişmesine göre daha az risk oluşturacaktır.
Post - Exploitation fazı boyunca, saldırılmış sistem üzerinde bilgi toplar, ilgi çekici dosyalara göz atar ve gerekli olan yerlerde hak yükseltmeye gideriz. Örneğin; parola özetlerinin (password hash) reverse edilip edilmeyeceğini anlamak için özetleri sistemden çekerek ilave sistemlere erişebiliriz. Dahası exploit edilmiş makineleri, daha önceden pivotlama ile erişilememiş sistemlere sızmak için kullanırız.
RAPORLAMA
Bir sızma testinin son fazı raporlamadır. Burada yapılan tüm işlemleri ve elde edilen bulguları anlamlı bir biçimde müşteriye ifade ederiz. Neyi doğru yaptıklarını, güvenlik kurallarını nasıl geliştirebileceklerini, nasıl sisteme erişim kazanıldığını, ne tür zafiyetlerin bulunduğunu ve nasıl onarılabileceği gibi birçok konuda bilgilendirme yapılır. Düzgün bir penetrasyon testi raporu yazabilmek uygulamadan ustalığa geçebilme sanatıdır. Elde edilen tüm bulgular; yönetimin oturumu kapatmasına müsaade edecek şekilde sunan, tüm IT departmanının anlayabileceği şekilde ifade edilir. Örneğin; teknik ekipten olmayan bir kişi raporunuzu okurken “Sistemde shell alabilemk için ms08-067 zafiyetini kullandım.” gibi bir ifade görürse buradaki “shell” ifadesini “deniz kabuğu” (seashell) olarak algılamamalı. Bu ifadenin yerine “E-maillerinizi okuyabilecek şekilde erişim kazandım. ”gibi daha genel bir ifade kullanabilirseniz, olayı herkesin anlayabileceği şekilde net bir ifade kullanmış olursunuz. ,
Son olarak bir pentest raporu Teknik Rapor ve Özet kısmından oluşur.
Executive Summary (Yönetici Özeti)
Yönetici Özeti penetrasyon testinin ana amaçlarını anlatabileceği gibi elde edilen bulguları yüksek seviyeli bi bakış açısıyla değerlendirmenizi de sağlar. Hedef kitle güvenlik programından sorumlu olan kişi ve yöneticilerdir.
Background (Arka Plan)
Testin amacının ve zafiyet (vulnerability) önlem (countermeasure) gibi terimlerin yöneticilere yabancı gelebilecek terimlerin açıklanması.
Overall Posture (Detaylı Anlatım)
Penetrasyon testinde ulaşılan hareket kabiliyeti ve bulunan sorunlar (Örneğin: ms08-067 zafiyetinin exploit edilmesi) . Dahası genel anlamda yazılımlara yapılan güvenlik yamalarındaki zafiyet oluşturmaya yönelik aksaklıklar.
Risk Profile (Risk profili)
Şirketin diğer güvenlik kuralları baz alınarak diğer firmalarla karşılaştırması yapılmak suretiyle zafiyetleri yüksek, orta, düşük seviye olarak sınıflandırmak. Bu sıralamanın da açıklamasını yapmak gerekmektedir.
General Findings (Genel Bulgular)
Elde edilen bulguların istatistik ve metrik ölçeklere göre genel tanısı ve önlemleri anlatılır.
Öneri Özeti (Recommendation Summary)
Penetrasyon Testinde bulunan zafiyetlerin nasıl düzeltilebileceği ile ilgili bölüm.
Stratejik Yol Haritası
Müşteriye güvenlik kurallarının geliştirilebilmesi için kısa ve uzun vadede hedefler belirlenir. Örneğin kısa vadeli çözümler sunabilmek için hangi güvenlik yamalarının uygulanabileceği yazılır. Fakat güvenlik yamalarının uzun vadeli yönetiminin yapılabilmesi için, müşteriniz yeni çıkan güvenlik yamalarından da haberdar olmalıdır:
TEKNİK RAPOR
Raporun bu bölümü testin teknik detaylarını belirtir. Aşağıdaki başlıkları içerir.
Giriş (Introduction):
Testin kapsamı, iletişim bilgileri ve dahası hakkında detaylı bilgileri içerir.
Bilgi Toplama (Information Gathering):
Bilgi Toplama fazında elde edilen bulguların detaylarını içerir.
Zafiyet Değerlendirmesi (Vulnerability Assessment):
Bulunan zafiyetlerin detaylı açıklamasının yapıldığı bölümdür.
Exploitation / Vulnerability Verification (Exploitation / Zafiyet Doğrulama):
Testin exploit etme ve zafiyetlerin doğrulanmasına ait bilgiler yer alır.
Risk Exposure (Risk ve maruz kalınabilecek saldırılar):
Mevcut risklerin nicel açıklamalarını içerir. Bu bölümde saldırganlar tarafından zafiyetlerin tahmin edilen exploit işlemleri üzerinde durulur.
Sonuç (Conclusion):
Son bir değerlendirme yapılır.
DÖKÜMAN ÖZETİ Bu bölümde bir sızma testinin aşamalarından bahsedilmiştir ve yukarıda bahsedilen terimlere aşina olmak siber güvenlik kariyerinizin olmazsa olmazlarıdır. Öyle ki daha sonraki bölümlerde tüm aşamalar üzerinde tek tek durulacaktır.
https://siberguvenlik.akblog.net/2021/04/szma-testleri-pentest-asamalar.html
Kaynak: Siber Güvenlik Akblog.NET
------------------
Haber (Elazığ Haber) | Google SEO (akblog.net)