Pentest 101
Last updated
Last updated
Türkçe karşılığı sızma testi olan pentest, sistemlerin güvenliğini değerlendirebilmek için yetkili ve bilgili kişiler tarafından yapılan bir tür siber saldırı simülasyonudur. Pentest kavramını daha iyi kavrayabilmek için örnek bir senaryo kuracak olursak: X isimli bir pentest firması ve y.com isimli bir şirket olduğu varsayılsın. y.com X pentest firmasına giderek yayımlamak istedikleri sitelerinin ne kadar güvenli olduğunu test ettirir. X firması da siteye bir penetrasyon testi yaparak sistemde olan ve ileride saldırılara yol açabilecek zafiyetleri bulur ve raporlar. Böylece y.com firması siteleri internete çıkmadan kendilerini büyük bir oranda korumaya alabilir.
External Pentest, bir firmanın web sitesi veya dış ağ sunucularına erişerek ilgili zafiyetleri tespit etmeyi amaçlayan bir sızma testi türüdür. Bu test özellikle veri tabanlarıyla entegre çalışan veya kimlik doğrulaması gerektiren oturum yönetimi gibi fonksiyonlara sahip web uygulamalarını hedef alır. Burada gerçekleştirilen testler, sistemin güvenlik açıklarını belirleyerek olası saldırılara karşı önlemler geliştirmeyi amaçlar. Bu test, çeşitli aşamalardan oluşur:
DNS Testleri: DNS yapılandırması üzerinden güvenlik zafiyetlerinin belirlenmesi.
Kurum IP Bloklarının Tespiti: Firmanın kullandığı IP bloklarının tespit edilmesi.
Kurum Whois Bilgisi Tespiti: Whois kayıtları üzerinden kurumla ilgili bilgilerin elde edilmesi.
E-mail Testleri: E-posta güvenliği ile ilgili testlerin yapılması.
İnternete Açık Sistemlerin Haritalanması: Firmanın internete açık sistemlerinin tespit edilip haritalanması.
Kurum Çalışanlarının Tespiti: Firmanın çalışanlarının ve bağlantılarının belirlenmesi.
Kurum Web Sitesi Hakkında Bilgi Toplama: Web sitesi üzerinden kurumla ilgili daha fazla bilgi toplanması.
Fiziksel Güvenlik Testleri: Fiziksel güvenlik önlemlerinin test edilmesi.
Sosyal Mühendislik Testleri: İnsan faktörünü kullanarak güvenlik zafiyetlerinin tespit edilmesi.
Kablosuz Network’e Sızma Testleri: Kablosuz ağlara yönelik güvenlik testlerinin gerçekleştirilmesi.
Dışarıya Açık Sistemlerin DOS Saldırılarına Karşı Testleri: Dışarıya açık sistemlerin dayanıklılığının test edilmesi.
Web Yazılımlarının Testleri: Web uygulamalarının güvenlik zafiyetlerinin belirlenmesi.
Bu testler, sistemin güvenlik açıklarını belirleyerek olası saldırılara karşı önlemler geliştirmeyi amaçlar.
Internal Pentest, bir firmanın yerel ağlarına bağlanarak içerideki açık sistemleri test etmeyi amaçlayan bir sızma testi şeklidir. Özellikle, çalışan bilgisayarlarının işletim sistemi zafiyetleri veya çalışanların sık kullandıkları yazılımların versiyonları üzerinde yapılan tespitlerle ilgilenir. Bu sızma testi türü, firmanın iç ağındaki potansiyel güvenlik zafiyetlerini belirleyerek gerekli önlemlerin alınmasına yönelik bir değerlendirme sağlar. Burada;
Network’teki sistemlerin tespit edilmesi,
Zayıflık taraması,
IDS IPS, güvenlik duvarı, içerik filtreleme gibi benzer uygulamaların test edilmesi,
Kurum güvenlik politikaları dahilinde internet erişimlerinin güvenliğinin kontrolü,
Antivirüs / antispam yazılımlarının kontrolü,
Network dinleme ve şifre güvenliği testleri,
Şifre politikası kontrolleri,
Ekran kilitlenme ilkesi kontrolleri,
Son kullanıcı testleri,
Dosya erişim kontrolleri,
Veri tabanı sunucu testleri yapılır.
Saldırı yapılacak network hakkında hiçbir bir bilgiye sahip olmadan yapılan saldırı simülasyonudur. Bu yöntemle dışarıdan bir saldırganın sisteme verebileceği zararın boyutları tespit edilmeye çalışılır.
İç network'te yer alan yetkisiz bir kullanıcının sisteme potansiyel olarak verebileceği zararı analiz etmek, veri çalma, yetki yükseltme ve network paket kaydedicilerine karşı zayıflıkları kontrol etmek amacıyla gerçekleştirilen bir güvenlik değerlendirmesidir. Bu tür bir analiz, içerideki güvenlik açıkları tespit edilmeye çalışılır.
Tüm network'e hakim olunarak yapılan saldırı simülasyonudur. Burada kötü niyetli herhangi bir şirket çalışanının dışarıdan ya da içeriden verebileceği zararın tespit edilmeye çalışılır.
Bilgi toplama pentest testinin önemli aşamalarından biridir. El ile bilgi toplanabildiği gibi tool kullanarak da bilgi toplamak mümkündür. Bu yöntemlerle ip tabloları, veri tabanı sürümleri, veri tabanları içeriği, yazılım, donanım ve hatta çeşitli üçüncü taraf eklentiler gibi bilgilerin toplanabilir. Bilgi toplama aşamasında aktif ve pasif bilgi toplama vardır.
Pasif Bilgi Toplama Araçları:
Arama motorları, sosyal medya ve arşiv siteleri genellikle ilk sırada yer alır. Google Dorks kullanarak, kişilerin sosyal medya hesaplarını incelemek, archive.org ve Wayback Machine ile silinen bilgilere dahi erişmek mümkündür. Bu yöntem, yazılım süreçleri ve sosyal mühendislik gibi çeşitli alanlarda kullanılabilen çok sayıda veri elde etme imkanı sağlar.
Whois sorguları, hedef sitenin alan adı ve sunucu bilgilerini bulmamıza yardımcı olur. Bu bilgileri kullanarak isim, soyisim, telefon numarası, adres gibi bilgilere erişebiliriz.
Shodan.io, küresel ağa bağlı cihazları bulmamızı sağlayan bir arama motorudur. Özellikle savunmasız cihazları arama konusunda hackerlar için önemli bir kaynaktır.
Osint Framework, kategorilendirilmiş yüzlerce bilgi toplama servisini içeren bir kaynaktır. Google'dan kaydedilmiş kopyaları bulma, site arşivlerini keşfetme, nickname aramaları yapma, e-mail ve telefon numarası aramaları, metin ve resim (OCR) çevirme hizmetleri, şifreleme ve çözme işlemleri, harita araştırmaları, ulaşım kayıtları, sanal makine sistemleri gibi birçok aracı içermektedir.
Aktif Bilgi Toplama Araçları:
DNS sorguları, kuruma ait IP adresleri ve servislerin tespit edilmesinde önemli bir rol oynar. DNS UDP port 53 üzerinden gerçekleşen sorgular, DIG veya NSLOOKUP araçlarıyla yapılabilmektedir. NSLOOKUP Windows, DIG ise Linux ortamında kullanılır. DIG, NSLOOKUP'tan daha gelişmiş özelliklere sahiptir.
DNS versiyon bilgisi, DNS sunucusu üzerinde olası bir zafiyetle karşılaşmamız durumunda DNS kayıtlarının manipüle edilebileceği veya DNS sunucusunun servis dışı bırakılabileceği önemli bir kavramdır. Versiyon bilgisi, DIG, NMAP veya NETCAT araçları kullanılarak elde edilebilir.
Subdomain keşfi, pasif ve aktif bilgi toplama süreçlerinde kullanılır. Linux'te çalışan HOST, DNSENUM, DNS-BRUTEFORCE ve DNSMAP gibi araçlar, brute force yöntemiyle DNS sunucusuna gönderilen isteklerle subdomainleri keşfetmek için kullanılabilir.
DNS Zone Transferi, birincil (Master) DNS sunucusu üzerinden Zone'a ait tüm kayıtların alınmasıdır. Linux'te çalışan HOST, DNSENUM veya Windows'ta NSLOOKUP araçları kullanılarak DNS Zone Transferi gerçekleştirilebilir.
DNS Enumeration, subdomainleri brute force teknikleriyle keşfetme işlemidir. Bu, bilinmeyen alt alan adlarını bulma ve olası açık bırakılan test sistemlerini keşfetme amaçlarına hizmet eder. Linux ortamında çalışan DNSENUM aracı DNS Enumeration için kullanılabilir.
SMTP, e-mail ile aktif bilgi toplama sürecinde önemli bir protokoldür. SMTP Relay kontrolü, SMTP sunucusunun uzaktan kimlik doğrulama olmadan başka bir domain uzantılı e-mail gönderip gönderemeyeceğini kontrol etmek için kullanılır. Linux ortamında çalışan RelayScanner aracı bu kontrolü sağlar.
Bir alan adına ait e-mail adreslerinin keşfi, kurum için çeşitli risklere neden olabilir. Bu riskler arasında spam mailler, sözlük saldırıları ve bilgi hırsızlıkları bulunur. Linux ortamında çalışan Goog-mail veya Windows ortamında çalışan Power Email Collector gibi araçlarla e-posta adresleri keşfedilebilir.
TRACEROUTE, bir paketin hedef sistemine ulaşana kadar geçtiği hostları ve süreyi tespit etmek için kullanılır. Windows'ta Tracert, Linux'ta Traceroute aracı kullanılarak bu bilgiler elde edilebilir.
Canlı sistemlerin tespit edildiği bilgi toplama aşamasında, TCP/UDP port taraması gerçekleştirilir. Canlı sistemler arasında router, switch gibi aktif ağ cihazları tespit edildiğinde, bu cihazların işletim sistemleri, versiyonları, servisleri, yönlendirme protokolleri ve yönetimsel amaçlı servisler belirlenmeye çalışılır. Elde edilen bu bilgiler, zafiyet veritabanında inceleme yapmak ve sonraki aşamalarda kullanmak üzere not alınır. Bu bilgiler, ağdaki potansiyel güvenlik açıklarını tespit etmek ve güvenlik önlemlerini optimize etmek için önemli bir kaynak sağlar.
Hedef sistemdeki olası zafiyetler belirlenir. Elde edilen bilgiler sonucunda hedef sistemin zayıflıkları tanımlanır ve bu zafiyetlerin istismar riskleri belirlenir. Otomatize veya manuel yöntemlerle potansiyel güvenlik açıklıkları detaylı bir şekilde analiz edilir.
Zafiyet tespiti sonrasında bu zafiyetlerin istismar edilmesiyle ilgili çalışmalar yürütülür. Yetki yükseltme, veri erişimi, sistem kontrolü gibi işlemler gerçekleştirilmeye çalışılır.
Pentest işlemi sırasında yapılan değişiklikler kuruma zarar vermemek adına geri alınır, ilk ele geçirilen hâldeki durumuna döndürülür.
Önceki aşamalarda yapılan işlemler anlatılır. Oluşabilecek zararlar ve risklerin ortadan kaldırılabilmesi için alınabilecek önlemler, hangi sistemlerin etkilenebileceği ve yaratacak etki raporlanır. Raporda:
Kullanılan standartlar, araçlar ve işlemler detaylı olarak bahsedilir.
Test aşamasında bulunan kritik zafiyetler anında firmaya bildirilir. Aynı zamanda raporda detaylı olarak anlatılır.
Testi gerçekleştiren sızma testi uzmanı, raporu yazan kişi ve kurum hakkında kısaca bilgi verilir.
Yöneticilere ve teknik çalışanlara özel raporlar düzenlenir.
Hazırlanan rapor şifreli ve gizli bir şekilde iletilmeli, okunabilir ve anlaşılabilir olmalıdır.
https://www.bg-tek.net/penetrasyon-testi#
https://www.btrisk.com/pentest-sizma-testi-nedir/
https://www.gaissecurity.com/blog/sizma-penetrasyon-testi-nedir?gclid=CjwKCAiA1fqrBhA1EiwAMU5m_xjHNBN_x1tOnnkx6TpmtokjnLU612L0os3FUcT_lnWuyIKjkTnfLRoC-zgQAvD_BwE
https://secromix.com/blog/sizma-testlerinde-bilgi-toplama-yontemleri-araclari-nelerdir/
https://www.bgasecurity.com/2010/08/penetrasyon-testlerinde-pasif-bilgi/
https://www.bgasecurity.com/2010/08/penetrasyon-testlerinde-aktif-bilgi/
https://siber.bogazici.edu.tr/tr/pentest
https://www.nesilteknoloji.com/tse-pentest/
https://secromix.com/blog/sizma-testi-pentest-turleri/
https://secromix.com/blog/sizma-testi-nedir-ve-yararlari-nelerdir/
https://www.priviasecurity.com/pentest-nedir/