5. Bilgi Toplama

Bilgi toplama aşaması saldırının ilk aşamasıdır. Bilgi toplama hedefe giderken en kritik yöntemdir. Burada hedef hakkında gerekli olan bilgileri toplamaya yarayan araçları göreceğiz. Hedef hakkında yeteri kadar veri toplanmaması durumunda istenilen sonuca varılamaz. Bu bölümde genel olarak kali Linux üzerinde bulunan bilgi toplama araçlarını inceliyeceğiz. Bilgi toplama yöntemleri genel olarak 2 bölüme ayrılır;

1.Pasif Bilgi Toplama

Pasif bilgi toplama hedef hakkında edilen bilgi ışığında gizliliğinizi sağlar. Hedef ile doğrudan iletişime geçilmeden internet imkânlarını kullanarak toplanılan bilgilerdir. Örneğin whois bilgileri pasif olarak bilgi toplamaya girer.

2.Aktif Bilgi Toplama

Hedef ile doğrudan iletişime geçilerek bilgi toplama yöntemidir. Örneğin Dns bilgileri aktif olarak bilgi toplamaya girer.

5.1 Whois

5.2 Dmitry

Dmitry hedef sistem hakkında IP adresi, whois bilgileri, açık olan portlar, subdomain, mailler gibi verileri toplayan bir araçtır.

_images/1.png

Tek seferde tüm verileri çekmek için dmitry [hedefsite.com] şeklinde kullanılabilir. Özel aramalar içinde verilen parametreleri kullanırız.

Hedef sitemiz kali-linuxtr.net olsun. Genel bir tarama yapalım.

Komut:

dmitry kali-linuxtr.net
_images/s2.png

Fakat burada dikkat etmemiz gereken bir nokta var sistemde Cloudflare devrede olduğu için tüm bilgileri doğru vermez. Cloudflare bypass için websploit toolunun kullanımı ilerleyen sayfalarda göreceksiniz.

5.3 Dnsmap

5.4 Fierce

Bir ağdaki iç ve dış bağlantıları tespit etme, domain analizi, dns analizi gibi işlevleri gerçekleştirebilen perl dili ile yazılmış bir araçtır. Help [-h] parametresini kullanarak detaylı bilgi ve tüm parametreleri görebiliriz.

Komut:

fierce -h
_images/29.png

Genel olarak bir site üzerinden bilgi toplayacaksak fierce -dns hedefsite.com şeklinde kullanılır. Örnek bir site üzerinden bilgi toplama işlemlerini gerçekleştirelim. Kali LinuxTr adlı sitemiz üzerinden deneyecek olursak kullanacağımız komut: fierce -dns kali-linuxtr.net şeklinde olur.

Komut:

fierce -dns hedefsite.com
_images/30.png

5.5 URLCrazy

Hedef alan adında benzer olan domainleri listeler. Bu işlemi genellikle hedef sisteme benzer tarzda fake sistemler kullanılması için veya sosyal mühendislik çekilmesi için kullanılır. Örnek olarak kali-linuxtr.net adlı sitemize bakalım.

Komut:

urlcrazy kali-linuxtr.net
_images/2.png

Bu şekilde “kali-linuxtr.net” alan adına en yakın alan adlarını tespit etmiş olduk.

5.6 Nmap

_images/3.png

Nmap ağ analizi, ağ haritası çıkartmak, ağ güvenlik takibini sağlamak vb. işlevler yapabilen bir yazılımdır. Çok fonksiyonel bir yazılım olmakla beraber hem console tabanlı hemde GUI tabanlı sürümleri mevcuttur. GUI tabanlı sürüm Zenmap olarak geçmektedir.

Nmap ile neler yapılabilir?

  • Versiyon Tespiti

  • İşletim Sistemi Tespiti

  • Çalışan Aygıt Tespiti, çalışma Süreleri

  • Yazılımların Kullandıkları Servis (Port) Tespiti

  • Yazılımların Versiyon Numaraları Tespiti

  • Yazılım Zafiyet Tespitleri

  • Bilgisayarın Güvenlik Duvarı (Firewall) Tespiti

  • Ağ Kartı Üreticisinin Adı

Nmap temel olarak kullanımı nmap [Tarama_Türü] [ip] şeklinde çalışmaktadır. Biz bir kaç parametreyi ve analiz metotlarına değineceğiz. Tüm parametreleri görebilmek için help parametresini kullanabilirsiniz. Nmap’te yaklaşık 15 farklı tarama türü vardır. Nmap scriptleri ile tarama opsiyonlarınızı genişletebilirsiniz.

_images/4.png

Nmap en temel hali ile analiz yukarıdaki gibidir. Bir kaç ip aralık tekniklerine bakalım.

Tek bir IP adresi için tarama yapılacağını belirtir:

nmap 192.168.1.1

192.168.1.1 ve 192.168.1.10 adres aralığında ki tüm IP adreslerini tarar:

nmap 192.168.1.1-10

Domain taraması yapar:

nmap kali-linuxtr.net

ipadresleri.txt dosyası içerisinde ki IP adreslerini tarar:

nmap -IL ipadresleri.txt

HTTPS servisini kullanarak 10 adet host tarar:

nmap –p 443 –iR 10

1.0.1.5 – 255.255.1.5 aralığındaki her şeyi tarar:

nmap *.*.1.5:

192.168.1.0 – 192.168.2.255 aralığındaki her şeyi tarar:

nmap 192.168.1-2.*
_images/5.png

Ağda bulunan ve çalışan cihazların testi için farklı tarama yöntemleri bulunmaktadır.

Aşağıdaki örnekleri inceleyebilirsiniz.

Ping Sweep:

Tüm Sistemlere Ping atarak yanıt veren sistemlerin açık olup olmadığını denetlerek sunucu ve istemcileri tespit eder.

Komut:

nmap -sP 192.168.1.0/24

Ping SYN:

TCP SYN Ping paketleri ile sistemlerin açık olup olmadığını denetler.

Komut:

nmap -PS 192.168.1.0/24

Ping ACK:

TCP ACK Ping paketleri ile sistemlerin açık olup olmadığını denetler.

Komut:

nmap -PA 192.168.1.0/24

Ping UDP:

UDP Ping paketleri ile sistemlerin açık olup olmadığını denetler

Komut:

nmap -PU 192.168.1.0/24

Ping ICMP:

ICMP Echo Request paketlerini kullanarak sistemlerin açık olup olmadığını denetler.

Komut:

nmap -PE 192.168.1.0/24

Ping ARP:

ARP Ping paketlerini kullanarak sistemlerin açık olup olmadığını denetler

Komut:

nmap -PR 192.168.1.0/24

Traceroute:

Traceroute özelliğini aktifleştirerek hedefe giden paketlerin yol haritasını çıkartır.

Komut:

nmap -traceroute 192.168.1.0/24

DNS Keşfi:

İşletim sistemi üzerinde ki DNS Serverları kullanır.

Komut:

nmap -system-dns 192.168.1.0/24

Reverse DNS Keşfi:

IP adresinden hostname bilgisi elde edilmesin için kullanılır.

Komut:

   nmap -R 192.168.1.0/24

.. figure:: /images/s5/6.png
  :align:  center

Nmap Port Tarama Teknikleri

_images/7.png

Open: Port açıktır ve açık portu dinleyen bir uygulama vardır.

Closed: Port kapalıdır ancak erişilebilir. Dinleyen herhangi bir uygulama yoktur.

Filtered: Filtrelerden ötürü NMAP portun durumunu çözememiştir.

Unfiltered: ACK Scan sonuçlarında karşımıza çıkan bu tanımlamada, portun erişilebilir olduğunu ancak açık olup olmadığı tespit edilememiştir.

Open Filtered: UDP, IP Protocol, FIN, NULL ve XMAS Scan için dönen bu durumda portların açık veya filtrelenmiş olduğu tespit edilememiştir.

Closed Filtered: IDLE Scan için dönen bu durumda portların kapalı yada filtrelenmiş olduğu tespit edilememiştir.

Günlük hayatta port taramada pratiklik kazandıracak bazı port arama methodları aşağıdaki gibidir.

En yaygın 100 portu tara:

nmap -sS -F 192.168.1.1

80 portunu tara:

nmap -sS -p80 192.168.1.1

1 ile 100 arasında ki portları tara:

nmap -sS -p1-100 192.168.1.1

1, 100 ve 02. portları tara:

nmap -sS -p1,100,102 192.168.1.1

En sık kullanılan n adet portu tarar:

nmap -sS -top-ports <n> 192.168.1.1

65535 adet portun tamamını tarar:

nmap -sS -p- 192.168.1.1

UDP 53 ve TCP 22. portu tara:

nmap -sS -p U:53,T:22 192.168.1.1

Nmap Nse Script

NSE scriptileri Lua dilinde yazılımış ve .nse uzantılıdır. Nmap dizini altında scrpts klasöründe bulunmaktadır.

_images/8.png

Sistem’de 100’den fazla script mevcuttur. Bunları kategoriye ayıracak olursak aşağıdaki gibi olmaktadır.

Gelişmiş Ağ Keşfi: Whois istekleri ve ek protokol sorguları gerçekleştirir. Bilgi toplamak için kullanılır.

Gelişmiş Version Keşfi: Karmaşık versiyonları tarar ve sistemlere yönelik Bruteforce atackları gerçekleştirir.

Zafiyet Tespiti: Bazı sistemlerdeki özel zafiyet tespiti gerçekleştirir.

Zararlı Yazılım Tespiti: Virüs, trojan gibi zararlı yazılım tespiti gerçekleştirir.

Zafiyeti Kullanmak: Bulunan zafiyetleri kullanmayı sağlar.En temel hali ile nmap –script=scriptadi.nse [hedef] kullanılmaktadır. Bütün scriptleri tek bir seferde kullanılmak isterseniz all parametresi kullanabilirsiniz.

Komut:

nmap --script=all 192.168.1.33
_images/9.png

Görüldüğü gibi tüm scriptleri kullanarak ağ keşfine başlamış oldu. Nmap gui tabanlı kullanabilmek için terminale zenmap yazmanız yeterlidir. Basit ve kullanışlı bir arayüze sahiptir.

Komut:

zenmap
_images/10.png

Zenmap ile örnek analizi yukrıdaki gibidir.

5.7 Maltego

_images/22.png

Maltego hem aktif hemde pasif olarak bilgi toplayabilen ve topladığı bilgileri sınıflandıran aynı zamanda bu sınıfları görsel arayüzle bize gösteren yazılımdır. Bilgi toplamada sıkça kullanılan bir yazılımdır.

Bu yazılım hem ücretli hemde ücretsiz versiyonları vardır. Kali linux üzerinde ücretsiz versiyonu kurulu olarak gelmektedir. İlk etapta sisteme üye olmanız gerekmektedir. Aşağıdaki adresten üye olabilirsiniz.

Site:

https://paterva.com/web7/community/community.php

Üye olduktan sonra sisteme giriş yapıyoruz. Daha sonra örnek olarak bir domain hakkında bilgi toplayalım bunun için sol menüde bulunan domain’i sürükle bırak işlemi ile ekleyelim.

_images/23.png

Properties kısmından hedef domain adresini ekleyelim.

Domain:

kali-linuxtr.net
_images/24.png

Daha sonra örneğin tümünü tarayalım.

_images/25.png

Tüm modülleri kullanarak analiz gerçekleştirebilmek için sol menüde Run View menüsü altında All Transforms kısmından veya domain üzerindeyken sağ click ile de gerçekleştirebilirsiniz.

_images/26.png

Tümünü seçtikten sonra yukarıdaki gibi seçenekleri işaretlemeniz gerekmektedir.

_images/27.png

Örnek analiz sonucu yukarıdaki gibidir. Bu görünüm dışında farklı görünümler ile de bakabilirsiniz. Örneğin Entry List gibi.

_images/28.png

5.8 Wafw00f

Web uygulama güvenlik duvarı tespiti için kullanılan bir yazılımdır. Firewall tespit etmek önemlidir. Sistemde bulunan zafiyetleri ilerletmek için firewall yapılarını bilmek gerekir.

Komut:

wafw00f amazon.com
_images/21.png

Örnek olarak amazon üzerinde denediğimiz zaman Citrix NetScaler Firewall kurulu olduğunu tespit etti.

5.9 Wireshark

_images/15.png

Wireshark anlık olarak sistemde ağ trafiğinin dinlenmesine, dinlenilen bu paketleri farklı format’ta kayıt edebilen ve birçok hata çözme işlemlerinde kullanılan bir gui tabanlı yazılımdır. Pentest işlemlerinde ağ analizinde sıkça kullanılır. Gelişmiş paket filtreleme özelliği mevcuttur. Kali linux sisteminde kurulu olarak gelmektedir. Aynı zamanda diğer işletim sistemleri için desteği mevcuttur.

_images/16.png

Genel olarak yukarıdaki gibi bir görünüme sahiptir. Fakat yeni versiyonunda arayüz daha geliştirilmiş ama işlevler aynıdır. Biz örnek olarak bir paket yakalayıp neler yapabileceğimiz üzerinden gidelim.

_images/17.png

Paket trafiğini yakalamaya başlamak için interface list butonuna tıklayıp aktif olan ağımızı seçip start diyerek trafik dinlenilmeye başlayacaktır.

_images/18.png

Görüldüğü gibi paket yakalama işlemleri başladı. Burada Filter kısmı yakalanan paketlerin filtrelemeye göre sonuçları bize gönderir. 2. kısım ise paket trafiğinin aktığı kısımdır. 3. kısımda ise OSI katmanlarında veri paketlerinde frame (çerçeve) dönüşürler bu framelerde bilgiler mevcuttur. 4. kısımda ise seçtiğiniz paketin hex halinde verilişidir.

Kısaca bazı filtreleme methodları aşağıdaki gibidir.

DHCP

  • port 67 or port 68

  • bootp

  • bootp.option.dhcp==1 (DISCOVER Packets)

  • bootp.option.dhcp==2 (OFFER Packets)

  • bootp.option.dhcp==3 (REQUEST Packets)

  • bootp.option.dhcp==4 (ACK Packets)

  • bootp.option.hostname

HTTP

  • http

  • http.request.method==”GET”

  • http.request.method==”POST”

  • http.response.code== “200”

  • http.user_agent== “User_Agent_Değeri”

  • http.referer

ARP

  • arp

  • arp.src.hw_mac==“Kaynak mac adresi”

  • arp.dst.hw_mac==“Hedef mac adresi”

  • arp.duplicate-address-frame

  • arp.opcode==1

  • arp.opcode==2

DNS

  • dns

  • dns.qry.name== “google.com”

  • dns.qry.type== 1 (ARecord Type)

  • dns.qry.type==255 (ANY Record Type)

  • dns.qry.type== 2 (NS name server)dns.qry.type)== 15(MX mail exchange)

ICMP

  • icmp.type

  • icmp.code

TCP

  • tcp.flags.syn==1

  • tcp.port== 80

  • tcp.dstport== 443

  • tcp.srcport==80

FTP

  • ftp.request.command

  • ftp.request

  • ftp.request.command== “PASS”

  • ftp.request.command==”USER”

  • ftp.response.arg== “Login successful”

İnternet Protokolü

  • ip.addr

  • ip.ttl

  • ip.version==4

  • ip.src==192.168.1.24

  • ip.dst==192.168.1.41

Bu filtreleme kısmında kullanacağımız bir diğer işlem ise operatörlerdir. Bu operatörler kısaca aşağıdaki gibidir.

Bu filtreleme kısmında kullanacağımız bir diğer işlem ise operatörlerdir. Bu operatörler kısaca aşağıdaki gibidir.

1- Karşılaştırma Operatörleri

  • eq== Eşittir

  • != Eşit değildir

  • gt> Büyüktür.

  • lt< Küçüktür

  • ge >= Büyük eşittir

  • le <= Küçük eşittir.

2- Mantıksal Operatörler

  • and&& = (ve anlamı katar)

  • or || = (veya anlamı katar)

  • xor^^

  • not ! = (değil anlamı katar, dahil olmayan)

Ağ trafiğini izlemeye aldık ziyaret edilen bağlantıları kontrol edelim. Bunu yapabilmek için Menüden Statics > HTTP > Requsts bölümünden görüntüleyeceğiz.

_images/19.png

İşaretledikten sonra yukarıdaki gibi bir seçenek geliyor tamamını görüntülemek için Create Stat Butonuna basmanız gerekmektedir. Dilerseniz filtreleyerek te görüntüleyebilirsiniz.

_images/20.png

Ziyaret edilen siteler yukarıdaki gibidir. Bir paketi tam olarak incelenebilmesi için framelerden incelenmesi gerekmektedir.

5.10 Shodan

Shodan bilgi toplama için oldukça önemli bir arama motorudur. Diğer arama motorlarından (Google,bing) çok farklıdır. Shodan ile belirli bir servise, porta, ülkeye gibi aramlar yapılabilmektedir. Bu arama motoru açığı olan siteleri listeler. Örneğin bir ftp servisinde açık olduğunu varsayalım. Shodan ile uygun bir arama ile ftp o sürüme ait açıklı tüm serverları listeler.

Site:

https://shodan.io
_images/11.png

Shodan arama motorunu daha iyi kullanabilmemiz için belirli api ve parametreleri bilmemiz gerekmektedir. Bu api’leri görüntüleyebilmek için https://developer.shodan.io/api adresine bakılır.

_images/12.png

Örnek olarak bir exploit aramak için parametrelere bakacak olursak;

_images/13.png

Şeklinde olmaktadır. Örnek olarak webcam kullanılan serverları listeleyelim. Listelemek için Server: SQ-WEBCAM arama parametresini kullanacağız.

Keyword:

Server: SQ-WEBCAM
_images/14.png

Shodan’ın bu özellikleri sayesinde bir serviste bulunan açıklı serverleri kolaylıkla görüntülemiş olduk.

5.11 Google Hacking Database

5.12 pipl