Bildiğiniz üzere artık neredeyse her işimizi internet üzerinden kolaylıkla gerçekleştirebilmekteyiz. Bu işlemler içerisinde, en temel ihtiyaçlarımızdan karşılıklı işlemlere kadar çoğu şeyi Dijital Dünya’da gerçekleştirmekteyiz. Örneğin, meyve sebze alımından, elbise, telefon, fatura ödeme, araç alım-satımı ve aklınıza gelebilecek çoğu şeyi bu örnekler dizisine ekleyerek çoğaltabiliriz.
Peki, günlük hayatımızın vazgeçilmez bir parçası olan internete ne kadar güveniyoruz? Gerçekleştirmiş olduğumuz her işlemde kişisel verilerimizi “güvenlik” açısından paylaşmak zorunda kalabiliyoruz veya birçok kullanıcı sözleşmesini okumadan kabul edebiliyoruz.
Her şey çok standart gibi görünüyor olabilir. Bugüne kadar herhangi bir sorun yaşamadığınızı da söyleyebilirsiniz… Ya da en azından öyle zannediyorsunuzdur. Günümüzde her 10 kişiden neredeyse yarısının kişisel ve özel bilgileri 3.kişiler tarafından bilinmektedir.
Aklınızdaki soruyu duyar gibiyim. ‘Durum böyleyse, bunun çözümü nedir?’
Kullanmış olduğunuz her web sitesinde veya uygulamada güvenlik açığı/açıklarının bulunması olasıdır. Bu açıkların kapatılması için kurum/kuruluşlar, kişiler kendi uygulamalarının güvenliğini sağlamak adına pentest çalışmaları gerçekleştirmeleri gerekmektedir.
Peki, nedir bu pentest?
Pentest Nedir?
Pentest veya penetrasyon testleri, bir sistem üzerindeki açıkları tespit etmek için yapılan çalışmaların tümüne denir. Türkçe karşılığı ile ‘Sızma Testi’ olarak geçmektedir.
Pentest çalışmaları, web sitesi veya uygulama sahiplerinin siteleri üzerindeki güvenlik açıklarının kapatılması için yaptırdıkları veya yaptıkları çalışmalardır. Bu çalışmanın önemini merak ediyorsanız size şu şekilde açıklayabilirim;
Bölgesel çapta bir haber sitesi sahibi olduğunuzu varsayalım ve bu siteye günlük olarak ciddi sayıda tekil ziyaretçi geliyor. Siteniz üzerinde bir güvenlik açığını tespit eden kötü niyetli bir kişi/kişiler bu zafiyeti sömürerek sitenizin işlevini bozabilir veyahut bu haber sitesini çok çok farklı amaçlar için kullanabilir. Bir başka ihtimal ise sitenizi tamamen kapatarak ya da erişimini engelleyerek sizlerden fidye isteyebilirler.
Vermiş olduğum örnek, bir haber sitesi üzerineydi fakat sektör veya içerik fark etmeksizin bu senaryo her site, uygulama sahibinin başına gelebilir. Kimse de böyle bir durumla karşı karşıya kalmak istemez.
İşte bundan dolayı pentest büyük önem taşımaktadır. Genel itibari ile pentest firmaları veya uzmanlarının istediği fiyatlar çok yüksek olduğundan dolayı büyük çaplı kurumlar haricindeki orta ve küçük ölçekteki markalar kendi pentest çalışmalarını kendileri yapmak isterler.
Sizde sızma testi hakkında fikir ve tecrübe sahibi olarak hem sitenizin/uygulamanızın güvenliği açısından bilgi sahibi olabilir hem de bu alanda kendinizi geliştirerek bir pentest uzmanı dahi olabilirsiniz.
Pentest Aşamaları
Başarıya giden çoğu işin temelinde planlı ve aşamalı çalışma yatar.
Pentest, temelinde 9 aşamadan oluşmaktadır. Bunlar;
- Bilgi Toplama
- Ağ Haritalama
- Zayıflık Tarama
- Sisteme Erişim
- Yetki Yükseltme
- Başka Ağlara Sızma
- Erişimleri Koruma
- İzleri Silme
- Raporlama
1- Bilgi Toplama
Sistem üzerinde açıkları keşfetmek istiyorsanız öncelikle ilgili site üzerinde bilgi toplamanız gerekmektedir. Bilgi toplama aşaması kendi içerisinde pasif ve aktif bilgi toplama olaraka 2 kola ayrılmaktadır.
Pasif Bilgi Toplama
Pasif bilgi toplama aşamasında ilgili marka hakkında, internet üzerinde araştırmalar yapılır. Örneğin, markanın daha öncesinde basında yer alıp almadığı veya network ağındaki başka bir markanın web sitesi üzerinde bahsedilip bahsedilmediği araştırılır. Pasif bilgi toplama kademesinde aynı zamanda, sosyal mühendislik(toplum mühendisliği) kabiliyetleri de devreye girer ve kurum, marka içerisindeki kişilerle de iletişime geçilerek bilgi toplanılabilir.
Aktif Bilgi Toplama
Pasif bilgi toplama aşamasının ardından artık ilgili markanın web sitesi hakkında bilgi toplanılmaya başlanılabilir. Bu aşama artık pentestin uygulamalı olarak başladığı aşamadır.
İnternet sitesi hakkında bilgi toplamak için kullanılacak birçok yöntem vardır. Bunlardan bazıları;
- Whois Bilgileri
- DNS Bilgileri
- Port Bilgileri
- SMTP Bilgileri
ve daha birçok kritik önem taşıyan bilgiye erişilebilir.
2- Ağ Haritalama
Hedef sisteme(buradaki hedef sistem, tabi ki kendi sitemiz…) giden yol haritasını bu aşamada çıkarırız. Ağ üzerine gönderilen paketlerin durumu kontrol edilir ve buna istinaden ilgili sistemin ağ mimarisi hakkında bilgiler edinilir.
3- Zayıflık Tarama
- aşamada(Ağ Haritalama) ortaya çıkarılan ağ haritasından potansiyel açıkları deneme aşamasıdır. Buradaki amaç, sistem üzerindeki en zayıf halkayı bulmak veyahut sömürülebilecek zafiyetleri tespit etmektir. Akabinde bulunan güvenlik açıklarının daha öncesinde yayınlanmış bir versiyonu var mı yok mu kontrol edilir. Örneğin web sitesi üzerinde bir ‘X’ açığı tespit edildi ve hemen karşısında bu açığın versiyon türü var. Bu versiyon türü sorgulatılır ve daha öncesinde bu açık ile ilgili herhangi bir bilgi, ipucu var mı kontrol edilir.
4- Sisteme Erişim
Geride bıraktığımız kademeler sonucu artık karşımızdaki kapıyı araladık diyebiliriz. Birazdan ışığı bile görebiliriz. 🙂
Bir önceki aşamada tespit ettiğimiz zafiyeti sömürme aşamasıdır. Burada en çok kullanılan yazılım, Metasploit’tir. Metasploit bulunan açığı sömürür ve sisteme girişi sağlar.
5- Yetki Yükseltme
Sisteme eriştikten sonra sizce sırada ne var? Cevap, sistemi yönetebilmek için “yetkili(admin, administrator)” konumunda olunması gerekir ve bu hedeflenir.
6- Başka Ağlara Sızma
Yetki yükseltme aşamasını da tamamladıktan sonra yapılacak olan işlem, ilgili sistem üzerinde diğer şifreli kullanıcılarında bilgilerini elde etmek olacaktır.
7- Erişimleri Koruma
Sisteme girdikten sonra bunun başkaları tarafından fark edilmemesini sağlamak gerekir. Keza sistem üzerinde (var ise) otomatik devre dışı bırakıcıları ve şifre üreticileri deaktif yapmanız gerekir ki, sistem üzerindeki otorite sağlansın.
8- İzleri Silme
Web sitesi üzerinde gerçekleştirilmiş olan testler, örneğin; arka kapılar(backdoor), trojan, keylogger vb. gibi işlemler silinmelidir.
9- Raporlama
Gerçekleştirmiş olduğunuz her aşama üzerinde not alarak hedef sistem(kendimize ait olan web sitemiz/uygulamamız) üzerinde bilgileri toplayıp, analiz edebilirsiniz. Dolayısıyla nerede ne zafiyetin olduğunu tespit etmeniz daha kolay olacaktır ve bu tür tehditlerin önüne geçmeniz için ilgili çalışmaları hemen gerçekleştirebilirsiniz.
Pentest Aşamalarında Kullanılan Araçlar
Bilgi Toplama Aşaması
- Arama Motorları
- Whois
- Diğer İnternet Siteleri
- Nslookup
- WhatWeb
- TheHarvester
- Dmitry
Ağ Haritalama Aşaması
- Tcptraceroute
- Nmap
Zayıflık Tarama Aşaması
- Nessus
- OWASP zap
- Uniscan
Sisteme Erişim Aşaması
- Metasploit
- Sqlmap
Sizlerde kendi web siteniz üzerinde herhangi bir güvenlik açığı, zafiyet var mı kontrol edebilirsiniz. Yorumlarda fikrinizi ve tecrübelerinizi paylaşmaktan lütfen çekinmeyin.