Penetrasyon Testlerinde Aktif Bilgi Toplama

Yazar:Veysel GÜNDOĞDU

Penetrasyon testlerinden bilgi toplamanın ikinci adımı aktif bilgi toplama işlemidir, bu adım pasif bilgi toplama işleminden sonra gelmektedir. Pasif bilgi toplama işlemi ile kurumun ip ve servis bilgilerinin bir çoğu keşfedilirve  aktif bilgi toplamada ise keşfedilen ip ve servisler üzerinden özel araçlar ve yöntemler ile tarama işlemi gerçekleştirilir. Aktif bilgi toplama işleminde test edilecek sistemler ile temas sağlanır ve bu temas kurumun güvenlik uzmanlarınca  güvenlik cihazları loglarında tespit edilebilinir, en basitinden bir ip adresine yapılacak tarama firewall loglarına düşecektir.

Aktif bilgi toplama ile neler elde edilebilir?


DNS SORGULARI: Yapılacak detaylı DNS sorguları ile kuruma ait ip adresleri ve servisler tespi edilebilir ( DNS Sorgu tipleri A, MX, NS, PTR şeklinde gider ) . DNS UDP port 53 üzerinden sorgu mantığı ile çalışır. DIG veya NSLOOKUP araçları ile DNS sorguları yapılabilmektedir. NSLOOKUP Windows, DIG ise Linux ortaamında çalışır. DIG NSLOOKUP ‘dan daha gelişmiş özelliklere sahiptir.

DNS VERSİYON BİLGİSİ: DNS versiyon bilgilsi çok önemli bir kavramdır, zira DNS sunucusu üzerinde olabilecek bir zaafiyetle, DNS kayıtları manipüle edilebilir veya Dns sunucusu servis dışı bırakılabilir. DIG, NMAP ve NETCAT aracı ile DNS sunucusunun versiyon bilgisi alınabilir.

ALT ALAN ADLARINI KEŞFETME: Pasif bilgi toplama kısmında bazı web sayfaları üzerinden nasıl alt alan adlarının keşfedileceğini belirtmiştik. Aynı şekilde aktif bilgi toplama tarafında da bezer işi yapan araçlar vardır. Kaba kuvvet (Bruteforce) mantığı ile DNS sunucusuna gönderilen istekler ile alt alan adları keşfedilir. Linux ortamında çalışan HOST, DNSENUM, DNS-BRUTEFORCE ve DNSMAP vb araçlar kullanılabilir. Bu araçlar güçlü bir sözlük dosyası ile çok anlamlı sonuçlar verecebilir.

WHOIS BİLGİSİ: Aktif bilgi toplama araçları ile pasif bilgi toplamada kullanılan benzer tekniklerle Whois bilgisi elde edilebilir. Whois bilgilisi Linux ortamında çalışan Whois, Dmity gibi araçlarla  tespit edilebilir. Örneğin Dmitry ,yapılan sorgu sonucunda Whois bilgisi içinde bulunan kişi, telefon, mail,fax ve adres gibi önemli bilgileri listeleyecektir.

DNS ZONE TRANSFERİ: DNS sunucusu üzerinde Zone kavramı ismi çözülmeye çalışılan alan adı anlamına gelir. Bu alan adı altında A, NS, MX, PTR vs. şeklinde birçok DNS kayıdı olabilir. Bu kayıtların birincil DNS sunucus üzerinden başka DNS sunucuları üzerine aktarılmasına DNS Zone Transferi denir. Eğer birincil(Master) DNS sunucusu üzerinden Zone Trasnferine izin verilmiş ise çeşitli araçlar yardımı ile o Zone ‘a ait tüm kayıtlar kolaylıkla alınabilir. Alınan kayıtlar ile kuruma ait host isimleri bulunarak o hostlara ait güvenlik zafiyetleri araştırılır. Bir DNS sunucusu üzerinden Zone Transferi yapmak için Linux oramında çalışan HOST, DNSENUM veya Windows ortamında çalışan NSLOOKUP araçları  kullanılabilir.

DNS ENUMARATION: Kaba kuvvet teknikleri  ile alt domainlerin keşfedilmesi şeklide tanımlanabilir. Basitçe DNS Enumaration tekniğinde kullanılan sözlükte şu kelimeler bulunur.

ftp
mail
ssh
ftp
portal
login
test
gibi sözcükler ftp.xyz.com, ssh.xyz.com şeklinde tek tek denenerek alt alan adları tespi edilir. Bu işlemde iki amaç vardır,bilinmeyen alt alan adlarını bulmak ve olası açık bırakılan test sistemlerini keşfetmektir; bazen sistem yöneticileri bir servisi veya sistemi test etmek için geçici olarak servisleri veya sistemleri internete açarlar, açılan sisteme erişimde basit bir parola kullanılmış ise, test sistemleri üzerinden kuruma saldırı ve sızma olabilir. Günümüzde bu tip saldırılar Çin ‘de artarak gelmektedir, saldırı tipi ise SSH Bruteforce ‘dur. DNS Enumaration için linux oramında çalışan DNSENUM aracı kullanılabilir.

SMTP : SMTP Internet dünyasının vazgeçilmez iletişim aracı olan e-posta ‘nın dayandığı protokoldür. E-posta ile aktif bilgi toplarken hedef sistemde bir e-posta sunucusu olduğu varsaylır, sistemde olan veya olmayan bir kullanıcıya bir e-posta gönderilir, olmayan kullanıcı için e-posta sunucusudan bir e-posta dönecektir,gelen e-posta detaylı bir şekilde incelendiğinde; e-posta sunucusunun platformu, zaman bilgisi, e-posta bize ulaşana kadar geçtiği ip noktaları, mail sunucusun ip adresi(yerel ağ bilgileri) gibi bilgiler elde edilebilir.

Not: SMTP üzerinden bilgi toplama ile igligili ileride daha detaylı bir yazı hazırlayacağız.

SMTP RELAY Kontrolü: SMTP Relay kavramına kısaca değinecek olursak, uzaktan bir e-posta sunucusu üzerinden kimlik doğrulama olmadan o domain dışında başka domain uzanltılı e-posta gönderilebilmesine SMTP Relay denmektedir. Güvenlik açısından SMTP Relay ‘in internete kapalı olması gerekmektedir, zira SMTP Relay ‘i açık bir sistem üzerinden herhangi bir kişi istediği yere e-posta gönderip spam e-posta trafiği yapıp sunucuyucunun gerçek ip adreslerini kara listelere düşürebilir veya DoS atak yapabilir. SMTP Relay kontrolü için Linux ortamında çalışan RelayScanner aracı kullanılabilir.

Bir Alan Adına ait E-Posta Adreslerinin Keşfedilmesi: Bir kuruma ait e-posta adreslerinin internet ortamında keşefilebilmesinin bir çok riski bulunmaktadır; risklere bakacak olursak:

– Spam mail yapan kötü niyetli kişiler internet üzerinde hedef alan adına ait e-posta adreslerini toplayıp, istenmeyen ve zararlı içerik barındıran maillerin kuruma gelmesi ve kullanıcıların phishing saldırıları ile her çeşit dolandırıcılıkla ve bilgi hırzılığı ile karşı karşıya kalmaları.

– Keşfedilen e-posta adresleri ile kullanıcı bilgileri kullanılarak sözlük listesi oluşturulamakta ve bu sözlük listesi daha sonraki sızma girişimlerinde kullanılmaktadır. Örneğin joe.hacker@hacked.net diye bir kurumsal e-posta adresi bulundu. Burdan yola çıkılarak aşağıdaki gibi bir sözlük dosyası hazırlayabiliriz.

joe, jhacker , joeh, joehacker, joe.hacker

Daha sonra bu bilgi ile kuruma ait dışarıya açık kullanıcı adı ve parola  soran tüm servislere kaba kuvvet yöntemi ile girilmeye çalışılır.

Kuruma ait internet ortamında bulunan e-posta adreslerinin toplanması için Linux ortamında çalışan Goog-mail veya Windows ortamında çalışan Power Email Collector gibi araçları kullanılabilir.

Bu tip problemler ile karşılaşılmaması için alınması gereken başlıca önlemler:

– Herkese açık olan tartışma forumları veya sosyal ağlarda kurum e-posta adreslerinin kullanılmaması.
– Kurum web sayfasında e-posta adresleri yazı ile yazılacak ise (bilgi at xyz.com) veya resim şeklide ifade edilmelidir.

TRACEROUTE: Gönderilen bir paketin hedef sisteme ulaşıncaya kadar geçen süreyi ve hangi hostlar(atlama noktaları) üzerinden geçtiğini tespit etmek için kullanılır. Traceroute ICMP protokolünü kullanır. Basitçe çalışma mantığı hedef sisteme ulaşıncaya kadar paketin TTL değerinin arttırılmasına dayanır. İlk gönderilen paketin TTL değeri “1″ dir, her atlama noktasında yönlendiriciler paketin TTL değerini bir azaltır, istemciden çıkan paketin TTL değeri “0″ olur. Paketi ilk alan yönlendirici paketin TTL değeri “0″ olduğu için bir sonraki yönlendiriciye iletemez ve ICMP zaman aşımı mesajı döner ve böylelikle ilk yönlendiricinin ip adresi tespit edilmiş olur. İstemci bu sefer paketin TTL değerini “2″ yapar ve ikinci yönlendiriciyi keşfeder. Bu işlem hedef sisteme ulaşıncaya kadar bu şekilde gider. Traceroute ile hedef sistemin ip adresi, hedef sistem ulaşılırken peketin geçtiği atlama noktaları, hedef sistem önünde bulunan güvenlik cihazı ve çalışma tipi ( Nat ? ) tespit edilebilir. Windows ortamında çalışan Tracert veya Linux ortamında çalışan Traceroute aracı kullanılarak yukarıda bahsedilen bilgi toplama işlemi gerçekleşitirilebilir.

TCPTRACEROUTE: Traceroute ICMP protokolünü kullandığını yukarıda belirttik, peki hedef sistemin önünde duran güvenlik duvarında ICMP kapalı ise? Bu demektir ki tracroute ‘tan herhangi bir sonuç elde edilemeyecektir. ICMP ‘nin işlevsiz kaldığı bu durumda TCPTRACROUTE kullanarak port tabanlı trace işlemi gerçekleştirilebilir. Örnek www.xyz.com’ un sadece 80 ve 443 nolu portları internete açık yani ICMP kapalı . Bu durumda açık portlara doğru gönderilen TCP paketleri ile hedef sisteme doğru traceroute işlemi yapmış oluruz. Port bazlı Trace işlemini gerçekleştirmek için Linux ortamında çalışan TCPTRACROUTE aracı kullanılabilir. Tcptracorute ile aynı zamanda hedef sistem internete NAT yapılarak mı veya direkt olarak mı çıkıp çıkmadığı da tespit edilebilir.

BANNER YAKALAMA: Banner yakalama kavramı kısaca hedef sistem hakkında versiyon, platform bilgisi almaktır. Hedef sistemin açık olan portuna bağlantı isteği gönderilir ve sistem istek sonucu bir takım değerler döner. Dönen değer içinde sistem platform bilgisi, versiyon bilgisi veya daha farklı bilgiler olabilir (hostname gibi). Banner yakalamak için bir çok araç kullanılabilir bunların başında linux ortamında çalışan NETCAT, Telnet veya Nmap kullanılabilir. Örnek verecek olursak;

[root@gdanismani] nc www.xyz.com 80

—————————————————————————————————-

HEAD / HTTP/0.1

HTTP/1.1 200 OK
Date: Mon, 11 May 2009 22:10:40 EST
Server: Apache/2.0.46 (Unix) (Red Hat/Linux)
Last-Modified: Thu, 16 Apr 2009 11:20:14 PST
ETag: “1986-69b-123a4bc6″
Accept-Ranges: bytes
Content-Length: 1110
Connection: close
Content-Type: text/html

—————————————————————————————————-

Yukarıdaki örnekte görüldüğü gibi Netcat ile TCP 80 portu üzerinden bağlatı isteği gitti ve sunucu gelen istek üzerine zaman, işletim sistemi ve web platform bilgilerini versiyonları ile beraber döndü. Kötü niyetli birisi aldığı banner bilgisini kullanarak çalışan sistemin platform versiyon bilgileri hakkında zaafiyet araştırması yapar ve o versiyona ait bir zaafiyet varsa kullanıp sisteme sızmaya çalışır.

MALTEGO:
Günümüzün en gelişmiş aktif ve pasif bilgi toplama araçlarındandır. Maltego topladığı bilgileri birbiri ile ilişkilendirip görsel bir şekilde sunabilmektedir. Maltego ile aşağıdaki bilgi tipleri toplanabilir:

– Alan adları
– Whois bilgisi sorgulama
– Ip adresi veya bir ağın tespiti
– Gelişmiş kişi arama özelliği
– E-posta adresi toplama ve kişiler ile ilişkilendirme
– Web sayfaları ile kişileri ilişkilendirme
– Telefon, fax numaraları ile kişileri ilişkilendirme
– Sosyal paylaşım ağları ile kişileri ilişkilendirme

Kısaca belittiğimiz yukarıdaki bilgileri Maltego toplayıp ve birbiri ile ilişkilendirip görsel bir diyargram çıkarmaktadır. Maltego Linux ve Windows ortamında çalışabilmektedir.