Sızma Testlerinde Kapsam Genişletme ve Bilgi Toplama
Sızma testleri sırasında hedef sistem hakkında bilgi toplama adımı kapsam genişletme açısından çok önemlidir. Blackbox metodolojisiyle yapılan ve yalnızca hedefin domainin bilindiği bir pentest senaryosunda kapsam genişletmek için uygulanabilecek birkaç farklı yöntem ve araç bulunmaktadır.
Senaryolar
Sızma testleri iç ağ ve dış ağ testleri olmak üzere temelde 2 farklı senaryo üzerinden ilerlemektedir.
Dış Ağ Sızma Testleri
Eğer pentester sistemin dış ağındaysa saldırmadan önce ayarlanması gereken birkaç farklı adım bulunmaktadır. Başarılı bir dış ağ sızma testinde kapsam genişletebilmek için, pentester şu sorulara cevap vermelidir:
- Sisteme bağlı farklı domainler veya subdomainler (alt alan adları) var mı? (ornek.com – domain; ftp.ornek.com – subdomain gibi)
- Hedef sistemde atanan IP adresleri, ağ aralıkları ve ASN numaraları var mı?
- Keşfedilen IP adreslerinde çalışan servisler ve açık portlar neler?
- Hedef şirkette çalışan kişilerin e-posta adresleri neler?
- Hedef şirket tarafından kullanılan farklı işletim sistemleri ve yazılımlar nelerdir?
Ayrıca hedef şirketin daha önce bir veri sızıntısı yaşayıp yaşamadığı kapsam genişletebilmek için büyük önem taşımaktadır.
İç Ağ Sızma Testleri
Pentesterin iç ağa girdiğini varsayalım, veya saldırganın şirket çalışanlarından birisi olduğunu göz önünde bulunduralım. Böyle bir durumda meydana gelecek saldırının sonuçları farklı etkiler yaratabilmektedir. Sızma testi uzmanı hedef sistemin iç ağına girdiğinde çalışma alanını genişletebilmek için şunları yapmalıdır:
- Pentester misafir ağındaysa dahili ağ menzillerine erişmeyi denemelidir.
- DNS ad çözümlemesi yapılmalıdır.
Fingerprinting
Bir sızma testinde kapsam genişletebilmek için bilgi toplama adımının yapıldığı aşamadır. Fingerprinting adımında hedef ile ilgili her türlü bilgi toplanır ve kaydedilir. Parmak izi tolama olarak Türkçeye çevirebileceğimiz bu adım; Aktif Bilgi Toplama ve Pasif Bilgi Toplama olarak temelde ikiye ayrılmaktadır.
Pasif Bilgi Toplama adımında uygulanan metotlar şunlardır:
- Whois sorgusu
- ASN numarası
- Domain’den enumeration (haritalama) çalışması
- Herkese açık IP adreslerinin keşfi
- Harici web siteleri aracılığıyla ters DNS araması
Aktif Bilgi Toplama adımında uygulanan metotlar ise şunlardır:
- DNS, MX, AAAA, ve A kayıtlarının incelenmesi
- DNS Zone transferlerinin incelenmesi
- SRV kayıtlarının incelenmesi
- Port tarama çalışmaları
Hatırlarsanız yazımızın Dış Ağ Sızma Testleri bölümünde kapsam genişletme için cevap verilmesi gereken sorulardan bahsetmiştik. Bu kısımdaki sorular yukarıdaki metotlarla birleştiğinde ortaya şöyle bir tablo çıkmaktadır:
SORU | CEVAP |
Sisteme bağlı farklı domainler veya subdomainler (alt alan adları) var mı? | Whois, DNS-MX/AAAA/A/SRV kayıtları, domain ile enumeration(haritalama) |
Hedef sistemde atanan IP adresleri, ağ aralıkları ve ASN numaraları var mı? | DNS kayıtları, ASN numarası, DNS Zone transferleri |
Keşfedilen IP adreslerinde çalışan servisler ve açık portlar neler? | Halka açık IP taramaları, port tarama çalışmaları |
Hedef şirkette çalışan kişilerin e-posta adresleri neler? | Harvester, LinkedIn |
Hedef şirket tarafından kullanılan farklı işletim sistemleri ve yazılımlar nelerdir? | FOCA aracı |
Pasif Bilgi Toplama (Passive Fingerprinting)
Whois Sorgusu
Whois, domainin kuruluş tarihi, sona erme tarihi ve güncel durumu gibi bilgiler sağlamaktadır.TCP 43. Porttan çalışır ve bir internet servisidir. Sorguda IP adresi veya domain kullanılmasına göre whois farklı sonuçlar verir:
- Domain için sadece domaini kaydeden kişinin/kurumun adı gibi bilgileri getirir.
- IP adresi için ise net-block ve ASN numarası gibi daha hassas bilgileri de getirir.
Linux sistemlerde komut satırı aracılığıyla da kullanılabilmektedir:
whois <Domain Name/ IP Address>
ASN Numarası (Autonomous System Number)
Hedef şirket hakkında Border Gateway Protocol (BGP) yani Sınır Geçit Protokolü’ne katılan ASN ya da Türkçesiyle Özerk Sistem Numarası incelenerek hedef sistemdeki IP blokları öğrenilebilir. Team CMRU’nun whois servisi kullanılarak ASN numarası şu şekilde öğrenilebilir:
whois -h whois.cymru.com ” -v ip_adresi”
Recon-ng
Keşif çalışmaları için geliştirilen bir araç olan recon-ng ile de hedef sistem hakkında detaylı bilgiler toplanabilmektedir. Bunun için recon-ng çalıştırıldıktan sonra uygulanabilecek bazı komutlar bulunmaktadır.
- use recon/domains-hosts/bing_domain_web : Bing’i kullanarak hedef hakkında bilgi toplar.
- use recon/domains-hosts/google_site_web : Google’u kullanarak hedef hakkında bilgi toplar.
- use recon/domains-hosts/brute_hosts : DNS’i kullanarak host adlarını çözümlemeye çalışır.
- use recon/hosts-hosts/resolve : Host’un IP adresini çözümler.
- use reporting/csv : Belirtilen verileri içeren bir CSV dosyası oluşturur.
The Harvester
Geniş çaplı bir bilgi toplama aracı olan The Harvester; e-posta adresleri, sanal hostlar, farklı domain adresleri ve shodan sonuçları gibi bilgileri toplar. Hedef sistemin sunucu versiyonu ve çalıştırdığı işletim sistemine kadar detaylı bilgiler getirebilmektedir.
Domain’den Enumeration (Alan Adı ile Haritalama)
Pentester’lar, pentestlerde kapsam genişletme sırasında haritalama da yapmaktadırlar. Bunun için kullanılan farklı metotlar bulunmaktadır:
DNS Dumpster API
Domain’e bağlı subdomainleri listelemek için DNS Dumpster’ın API’ı kullanılabilir:
curl -s http://api.hackertarget.com/hostsearch/?q=example.com > hostsearch
Ayrıca farklı DNS sorguları yapılabilir:
curl -s http://api.hackertarget.com/dnslookup/?q=example.com > dnslookup
Google Dorking
Arama motorlarını verdiğimiz komutlar olarak adlandırabileceğimiz dorklar ile hedef hakkında çok farklı bilgiler edinilebilmektedir. Kullanılabilecek bazı dorklar şunlardır:
- site: Sadece belirtilen site ile ilgili sonuçları listeler.
- filetype: Sadece belirtilen uzantıya sahip dosyaları listeler.
- allinurl/inurl: Beliritlen parametreyi içeren URL adreslerini listeler.
- allintitle/intitle: Belirtilen parametreyi içeren başlığa sahip olan sonuçları listeler.
Herkese Açık IP Adreslerine Yönelik Taramalar
IP adresinin herkese açık bilgilerine erişmek için Shodan gibi harici internet siteleri kullanılmaktadır.
Harici Web Siteleri Aracılığıyla Ters DNS Sorgulamaları
Yukarıdaki bahsedilen tüm adımlar başarıyla yapılsa bile zaman zaman farklı IP adresleri gözden kaçabilmektedir. Bunun için farklı web siteleri kullanılarak Ters DNS çözümlemesi sonucunda hedefle ilgili yeni IP adresleri de keşfedilebilmektedir.
Ters DNS sorgulamalarında kullanılabilecek web siteleri şunlardır:
- Reverse IP Lookup by Domaintools: Alan adına yönelik sorgularda bulunan ve Whois kayıtlarını, ters IP sorgularını getirir.
- Robtex: Hedef domain hakkında detaylı bilgileri listeler. DNS adresleri, IP adresleri, yönlendirmeler, ASN numaraları gibi..
Aktif Bilgi Toplama (Active Fingerprinting)
Pasif bilgi toplama adımında hedefle iletişime geçilmeden tüm bilgiler toplandıktan sonra daha fazla bilgi toplamak ve derinlemesine bilgi sahibi olmak için aktif bilgi toplama adımına geçilir.
DNS, MX, AAAA ve A Kayıtlarının İncelenmesi
DNS, MX, AAAA ve A kayıtlarının tespiti için kullanılabilecek bazı Linux komutları mevcuttur:
- host
- Nslookup
DNS Zone Transferi
DNS bölge transferini incelemek için de kullanılabilecek bazı Linux komutları mevcuttur:
- host
- dig
- dnsrecon
- DNSEnum
SRV Kayıtlarının İncelenmesi
Hedef sistemle ilgili SRV kayıtlarının incelenmesi için de yine dig, host ve nslookup komutları kullanılabilmektedir.
İç Ağ Haritalama
Yukarıdaki adımları tamamlayıp hedef sistemin dış ağında enumeration yaptıktan sonra iç ağda da haritalama yapılmalıdır.
İç Ağ IP Aralığının Tanımlanması
Hedef sistemin iç ağının IP bloğunun keşfedilmesi de pentestin ilerleyen aşamalarında başarılı sonuçlara ulaşabilmek için çok önemlidir.
- Gateway IP Adreslerine Ping Atılması
nmap -sn -v -PE 192.168.*.1 komutuyla iç ağdaki diğer IP adreslerinin tespiti yapılabilmektedir.
- Ters DNS Araması
Hedefin iç ağına ulaştıktan sonra Nmap ile DNS’e yönelik bir ters arama yapılabilir. Aşağıdaki komutla yapılan tarama IP adreslerinin hostname’ini verir.
nmap -sL 10.0.0.0/8
Canlı IP Adreslerinin Tespiti
Nmap ile bir ping taraması yapıp hedef sistemin ayakta olup olmadığı kontrol edilebilmektedir. Bunun için “nmap -sn -n ip_adresi” komutu kullanılabilir.
Port Taraması
Canlı olan IP adreslerini tespit ettikten sonra açık portların tespit edilmesi gerekmektedir. Bunun için Nmap birkaç farklı opsiyon sunmaktadır:
- -sS TCP Syn Stealth: Yarı açık SYN taraması
- -sT TCP Connect Scan: Nmap sistem kullanarak SYN taraması yapar, tam TCP el sıkışması gerçekleşir.
- -sU UDP Scan
- -sA ACK Scan: Firewall kurallarının haritalandırılabilmesi için kullanılır.
Servislerin Versiyonlarının Tespit Edilmesi
Hedef sistemin servis versiyonu Nmap ile tespit edilebilmektedir. Bunun için kullanılması gereken parametre “sV” parametresidir.
SNMP Enumeration
SNMP (Simple Network Management Protocol – Basit Ağ Yönetim Protokolü), ağ yönetirken ağ yöneticisine yardımcı olan temel bir uygulama katmanı protokolüdür. Geniş çaplı ağlarda cihazların konfigürasyonunu ve denetimini kolaylaştırmak için tasarlanmıştır.
SNMP haritalaması için kullanılabilecek araçlar şunlardır:
- snmcheck
- snmpwalk
Pentestlerde kapsam genişletme için kullanılabilecek bazı tarayıcı eklentileri de bulunmaktadır. Whatweb, Wapplyzer ve ChromeSnifferPlus gibi eklentiler de hedef sistem hakkında çeşitli bilgiler vermektedir.
Kaynak: https://bitvijays.github.io/LFF-IPS-P1-IntelligenceGathering.html