Bir saldırının en önemli aşamalardan biri bilgi toplamaktır. Bir saldırı başlatabilmek için, hedefimiz hakkında temel bilgileri toplamamız gerekir. Yani, ne kadar çok bilgi alırsak, o kadar başarılı bir saldırı yapma olasılığı da artar. Kali’de bulunan bilgi toplama araçlarına Applications/Information Gathering menüsünden ulaşabilirsiniz. Bunun dışında terminal penceresinde ilgili aracın başlatma komutu ile de çalıştırabilirsiniz.
DNS Servislerinin Belirlenmesi
DNS numaralandırma(DNS enumerations), bir kuruluşun tüm DNS sunucularını ve DNS girdilerini bulma işlemidir. DNS numaralandırma, kullanıcı adı, bilgisayar adı, IP adresi ve benzeri gibi organizasyon hakkında kritik bilgileri toplamamızı sağlayacaktır. Bu işlem için DNSenum’u kullanacağız. Terminali açıp dnsenum yazıp entere bastığınızda komutla beraber kullanabileceğimiz parametreler görüntülenir
Herhangi bir parametre kullanmadan dnsenum domain.com şeklinde kullandığımızda tüm kayıtlar(A,MX,NS vb.) gösterilir.
Yukarıdaki çıktıda google.com.tr adresine ait host adresi, NS ve MX kayıtlarını görüyoruz.
Kullanacağımız ikinci araç dnsmap’dir. dnsmap çoğunlukla altyapı güvenlik değerlendirmelerinin bilgi toplama / numaralandırma aşaması sırasında pentesterler tarafından kullanılır. Numaralandırma aşamasında güvenlik danışmanı, genellikle hedef şirketin IP ağ bloklarını, alan adlarını, telefon numaralarını vb. bu araçla keşfeder. Aşağıda bir örnek verilmiştir.
Yine yukarıdaki çıktıda google.com.tr alan adına ait alt alan adları ve IPv4 ve IPv6 adresleri görüntülenmiştir.
Ağ Aralığını Belirleme
Hedef sistemin ağ aralığını belirlemek için bir çok araç kullanabiliriz. Bunlardan ilki Information Gathering menüsünde bulunan dmitry aracı. Bu araç ile bir host hakkında mümkün olduğunca çok bilgi toplanabilir. Bunlar; olası alt alanlar, e-posta adresleri, çalışma zamanı bilgileri, TCP portu taraması, whois aramaları ve daha fazlası olabilir. Aşağıdaki örnekte blogumun alan adını bu araçla tarattım ve -o parametresi ile belirttiğim klasöre sonuçları txt olarak yazdırdım.
Yukarıdaki çıktıya göre blogumun bulunduğu sunucunun IP adresi 178.210.174.44 ve geçerli ağ aralığı 178.210.160.0-178.210.191.255’dir.
Aktif Makinelerin Belirlenmesi
Yerel ağdan veya yerel ağ dışından erişerek bir ağdaki aktif makineleri belirlemek için yine çeşitli araçlar kullanabiliriz. Bunların ilki netdiscover aracıdır. Bu araca Applications/Information Gathering menüsünden ulaşabildiğimiz gibi terminal penceresini açıp netdiscover yazarak ta ulaşabiliriz. Bu aracı herhangi bir parametre kullanmadan başlattığımızda bulunduğumuz ağdaki aktif makineleri belirleyebiliriz. Netdiscover yerel ağda kullanılan varsayılan özel IP adres aralığını tarayarak bize ağdaki aktif makinelerin IP adreslerini ve MAC adreslerini verecektir.
İkinci kullanacağımız araç sızma testi uzmanlarının sıklıkla kullandığı Nmap. Nmap ile ağdaki aktif makineleri belirleyebiliriz. Bunun için -sP parametresini kullanıyoruz. Bu parametre ile ağdaki hostlara ping atarak ICMP yankı isteği gönderiyoruz, aktif makinelerden de yankı cevabı dönüyor. Aşağıdaki sonuçlara göre ağımızda kendi makinemiz de dahil olmak üzere 7 host bulundu.
Açık Portların Belirlenmesi
Nmap ile hedef makinelerin açık portları belirlenebilir. Burada hedef makinemiz metasploitable sanal makinemiz olsun. Bu nedenle aşağıdaki örnekte metasploitable’ın IP adresini kullandık.
Yukarıdaki çıktıya göre herhangi bir parametre kullanmadan nmap hedef IP şeklindeki kullanımda en sık kullanılan 1000 port taranır ve açık olanlar gösterilir. Aşağıdaki tabloda, tarama tarafından görüntülenen çıktı alanları açıklanmaktadır.
PORT | STATE(DURUM) | SERVICE(HİZMET) |
Bağlantı noktası numarası / protokol | Port durumu | Port için hizmet tipi |
Yukarıdaki tarama sonuçlarının ilk satırına bakalım 21 numaralı TCP protoklü portu, portun durumu açık ve bu porttan ftp hizmeti sunuluyor. İkinci satırda 22 numaralı TCP protokolü, portun durumu açık ve bu porttan ssh hizmeti sunuluyor. Üçüncü satırda 23 numaralı TCP protokolü portu, portun durumu açık ve bu porttan telnet hizmeti sunuluyor. Dördüncü satırda 25 numaralı TCP protokolü portu ve bu porttan smtp hizmeti sunuluyor, vb…
İşletim Sistemlerinin Belirlenmesi
Hedef makinenin işletim sistemi çok önemli bir bilgidir. İşletim sistemi ve sürüm bilgisi ile o işletim sistemi ve sürüme ait zayıflık ve açıklıklar kullanılarak hedefe sızmak mümkün olabilir. Hedef makinenin işletim sistemini belirlemek için nmap aracını -O parametresi ile kullanmak yeterlidir.
Yukarıdaki çıktıda hedef makinede Windows XP SP1 çalıştığı tespit edilmiştir.
Servis Sürümlerinin Belirlenmesi
Hedef makinede çalışan servislerin ( sshi telnet,vnc,smtp,http vb.) sürümlerini belirlemek çok önemlidir. Böylelikle o sürümle ilgili zafiyet ve açıklıklar kullanılarak hedef sisteme sızmak mümkün olabilir. Hedef makinenin işletim sistemini belirlemek için nmap aracını -sV parametresi ile kullanmak yeterlidir.
Yukarıdaki çıktıda hedefimiz olan metasploitable makinede çalışan servisler ve sürümleri görüntülenmiştir. Metasploitable’da ftp servisinin vsftpd 2.3.4 sürümü ile, ssh servisinin OpenSSH 4.7p1 sürümü ile, http hizmetinin Apache 2.2.8 sürümü ile verildiğini görmekteyiz. Bu sürüm bilgilerini Google’da arattığımızda ileride göreceğimiz exploit denen ve bu sürümlerin açıklarını sömürmemize yarayan programlara ulaşabiliriz. Nmap kullanımını anlatan videoyu http://bit.do/nmaptarama adresinden izleyebilirsiniz.