16 Şubat 2015 Pazartesi

ARP POISONING

ARP  POSİNİNG

ARP Poisoning, ARP zehirleme anlamına gelmektedir. ARP protokolünün temel çalışmasındaki zaafiyetleri kullanarak gerçekleştirilir.

ARP  (Adress Resolution Protokol), Layer 2 katmanının ana protokolüdür. Yerel ağlarda iletişim bilindiği üzere IP adresleri üzerinde değil, MAC adresleri üzerinden gerçekleştirilir. Bunun için her cihaz, iletişime geçmek istediği cihazın (internete çıkarken DSL modem dahil) MAC adresini bilmek zorundadır.

Bu sebeple, Layer 2 katmanında, ileti
şim öncesinde ARP protokolü devreye girer, Arp request ve Arp reply paketlerini kullanarak, IP'si bilinen cihazın MAC adresini bulur, daha sonra MAC adresleri üzerinden iletişim sağlanır.

ARP Zehirlenmesi Çeşitleri

ARP zehirlenmesi adı verilen saldırılar yerel ağlarda gerçekleştirilen saldırılardır. ARP saldırılarının yerel ağlarda yapılmasının sebebi ise MAC adresinin yerel ağ dışına gönderilmemesidir. Yerel ağda MAC adresi bilgisi o ağda yer alan swicth ve yönlendirici gibi elemanlara gönderildiği için saldırgan MAC adresi bilgisine ulaşabilir. Buradaki güvenlik açığını kullanarak, ARP tabloları üzerinde istediği değiştirmeleri yapabilir. ARP zehirlenmesi üç şekilde gerçekleştirilmektedir.
1.     Hedef Bilgisayarın ARP tablosunu doldurarak
2.     Ortadaki adam yöntemiyle
3.     Hedef Bilgisayarın Paketlerini Başka Bir Bilgisayara Göndererek gerçekleştirilir

1.Hedef Bilgisayarın ARP tablosunu Doldurma

Burada saldırgan hedef bilgisayarın ARP tabloları üzerinde doğrudan değişiklikler yapar. Örneğin; saldırgan hedef bilgisayarın ARP tablosunu yanlış bilgilerle doldurur ve hedef bilgisayarın göndereceği paketlerin saldırganın belirttiği adreslere gitmesini sağlayabilir. Bu yöntemle gönderilmek istenilen paketin, istenilen yere ulaşması engellenebilir.

2.Ortadaki Adam Yöntemi (Man in the Middle)

Bu yöntemde saldırgan, hedef bilgisayar kurban bilgisayarın ulaşmak istediği noktanın arasına girer. Bütün iletişimi istediği gibi kontrol eder. Ağda gönderilen bir paketi alıp, paketin destination MAC adres bilgisine kendi MAC adresini yazar. Pakete yapılan bu müdahele ile artık yollanan paketler saldırganın bilgisayarına gider. Saldırgan da paket üstünde istediği gibi değişiklik yapabilir. Bu yöntemle kullanıcının yolladığı tüm bilgiler saldırgan üzerinden geçer ve bu yöntem oldukça tehlikelidir. Tüm gönderilen bilgiler (kredi kartı bilgileri, şifre vb.) alınabilir. Bu yöntem ARP poisining dışında pek çok saldırılarda da kullanılmaktadır. En fazla kullanılan saldırı çeşitlerindendir.

3. Hedef Bilgisayarın Paketlerini Başkasına Gönderme

Burada da saldırgan hedef bilgisayarın göndereceği paketi başka bir bilgisayara gönderebilir. Örneğin kullanıcının HTTP (İngilizce Hyper-Text Transfer Protocol, Türkçe Hiper Metin Transfer Protokol) üzerinden erişmek istediği web sayfası yerine kendi oluşturduğu sayfaya kullanıcıyı götürebilir. Bu şekilde bilgisayar servis dışı bırakılabilir.

Arp Poosining saldırısında mitm saldırısı nasıl yapılır bir örnek verelim. Senaryomuz da bir saldırgan kali makinası ve birde kurban başka bir kali makinası olacak.  

Aşağıdaki resimde saldırgan kali bilgisayarın ip si ve interface görünüyor.









Kurban kali ise aşağıdaki gibi olacak.









129 ip li kali saldırgan 131 ip li kali kurban makinasına arp spoof yapmaya başlayacak.










Yukarıdaki resimlerde görüldüğü üzere ilk önce hangi portları dinleyeceğimi belirtiyor sonrasında ise kurban bilgisayarın ip sini ve gw bilgilerini girip arp reply paketlerini göndermeye başlıyorum. Aşağıdaki komut kurban makinanın internet trafiğini dinlemek için yazdığım bir komuttur.  Görüldüğü üzere belirtilen portlardan kurbanı dinlemeye başlıyorum







Burdan sonrasında kurban bilgisayarın internete girmesini bekleyeceğim. İsterseniz driftnet komutunu girerek kurbanın girdiği internet sitelerinin ekran görüntülerini de kaydedebiliriz. Aşağıdaki komutta olduğu gibi. Artık kurban bilgisayarın internet sayfasına girmesini bekliyelim.


















Kurban bilgisayar mynet.com adresine girmiş bulunmakta bundan sonrasında ise bir önceki yazdığım komuta dönüş yaparak aradaki dinlediğim trafiği incelemeye geldi.



















Kurban kali (192.168.1.131) bilgisayarın mynet.com girmesiyle trafik akışı karşıma gelmiş oldu. Burda kurban bilgisarın hangi browser i kullandığı, hangi işletim sistemi ve hangi url leri ziyaret ettiğine kadar bilgiye sahip olabilirsiniz.
















Driftnet komutu ile görüldüğü gibi kurbanın ziyaret etmiş olduğu sitelerin ekran görüntülerini almış oldum.

















Bura da ise hangi resimleri kaydettiğimi görebiliyorum.







15 Şubat 2015 Pazar

GÜVENLİK TESTLERİNDE AKTİF BİLGİ TOPLAMA

Aktif bilgi toplama yöntemlerinde hedef ile iletişime geçilerek olabildiğince fazla ve işe yarayan bilgi edinilmeye çalışılır.

DNS Protokolü kullanarak Bilgi Toplama

DNS Protokolü internetin temel yapıtaşıdır. Genel olarak www hizmetlerinde ve e-posta servislerinde kritik rol oynar. Düzgün yapılandırılmamış bir DNs sunucu dışarıya oldukça fazla bilgi verebilir.

DNS sorgu tipleri


Nslookup (Windows/Linux) ve Linux sistemler için dig komutu ile her tür dns sorgulama işlemi yapılabilir.

Nslookup / dig

Nslookup , UNIX/Linux/Windows ortamlarının klasik dns sorgulama aracıdır. Nslookup kullanarak her tür dns sorgulamasını interaktif bir şekilde yapabilirsiniz. Biz ise Linux ta nasıl yapılır onu göstereceğiz.














































Sorgulama yaptığımız DNS sunucuyu değiştirerek aynı sorguyu tekrarlayalım

























Bir başka dns kaydı(Reverse dns) sorgulaması


















Dig Aracı ile DNS Sorgulama

Dig, nslookup ve host gibi dns sorgulama araçları yerine kullanılabilen gelişmiş bir araçtır. ISC tarafından geliştirilen BIND DNS sunucusu ile birlikte geliştirilir ve uzun vadede Linux dağıtımlarında nslookup komutunun yerini alması beklenmektedir. Dig komutu domains sorgulama için çalıştırıldığında cevapla birlikte detay bilgiler de döner. Bu detay bilgiler ek parametrelerle gizlene


Çıktıların Detay açıklaması

Status:NOERROR

sorgulanan domain adının var olduğunu ve bu domainden sorumlu dns sunucunun sorgulara sağlıklı cevap verdiğini gösterir.

Status:SERVFAIL

domainin olduğunu fakat domainden sorumlu DNS sunucunun sorgulara sağlıklı cevap veremediğini gösterir. Yani sorun domainden sorumlu DNS sunucusundadır.

  
Status: NXDOMAIN

Domain ile ilgili ana DNS sunucuların bilgisinin olmadığını gösterir. Bu da ya o domain yoktur ya da bazı sebeplerden dolayı root dns sunuculara yayınlanmamıştır manasına gelir.
MX Sorgulama


MX Kayıtlarını sorgulayarak bir domaine ait smtp sunucuları belirleyebiliriz.






DNS Sunucu Versiyon Bilgisi

DNS sunucu versiyon bilgisini öğrenmek bir saldırgana o dns sunucuda “DNS cache Poisoning” açıklığının olup olmadığı konusunda bilgi verebilir. Aşağıdaki dns sunucu bilgisi bir saldırgan için hedef olacak kadar açıklık barındırmaktadır.

















DNS Sorgularını İzlemek(DNS Trace)

Domainize ait DNS sorgularının hangi DNS sunuculardan geçtiğini sorgulamak için dig komutuna +trace parametresini verebilirsiniz. Bu parametre ile iterative sorgu yapılarak Root sunuculardan sizin domaininizin tutuldugu sunucuya kadar olan yollar belirlenir.






















Yolu izleyecek olursak;

ilk olarak resolv.conf’ta tanımlı DNS sunucudan ROOT DNS sunucuların listesi alınır. Gelen sorgudaki ilk dns sunucuya .tr uzantılarından sorumlu olan dns sunucu sorulur ve cevap olarak ns1.natrohost.com döner. Sonra ns1.natrohost.com’a btpro.net’ den sorumlu dns sunucu sorulur dönen cevap ns2.natrohost.com’dur . son olarak ns2.natrohost.com’ a btpro.net ismi sorulur ve cevap 94.73.151.67 olarak döner.

Değişken Kaynak Port ve XID DeğeriTestleri

Rekursif DNS sunucular başka dns sunuculardan istekde bulunurken kaynak port numarasını değiştirmeyebilirler. Bu, dns protokolünün kötüye kullanılmasına sebep olabilir.
DNS sorgulamaları UDP üzerinden çalıştığı için IP spoofing yapmak kolaydır. Bu sebeple dns protokolünün güvenliği kaynak port numarası ve transaction ID (XID) değişkenine bağlıdır. Bu iki değişken ne kadar kuvvetli olursa dns üzerinden yapılacak cache poisoning türü ataklar o kadar başarısız olacaktır.





DNSMAP

Bir domaine ait subdomainleri bulmak için bruteforce yöntemi ile deneme yapar. Eğer parameter olarak ayrı bir wordlist verilmezse kendi içinde barındırdığı standart listesini domain üzerinde denemeye başlar ve sonuçlarını ekrana basar











Banner Yakalama(Banner Grabbing)

Çalışan servis hakkında detaylı bilgi almanın en basit yolu o porta telnet/netcat ile bağlanarak uygun komutu vermektir. Bazı servisler için herhangi bir komut vermenize gerek kalmadan gerekli bilgiyi size verir. Banner yakalama oldukça eski bir yöntemdir ve bilgi toplamanın ilk adımlarından sayılır.
Mesela www.google.com sistemi üzerinde çalışan SMTP yazılımının ne olduğunu bulmaya çalışalım

Öncelikle dns sorguları kullanılarak ilgili domaine ait MX kaydı(yani SMTP sunucu) bulunur.


Sonra bulunan SMTP sunucusunun TCP/25 portuna telnet çekilerek dönecek banner ile yazılımı öğrenilebilir.



Görüleceği üzere google.com maillerinin yönlendirildiği ana MX sunucu p3sil125524pdb.240 üzerinde çalışıyor.

Hedef Sistem Hakkında Ek Bilgi Edinmek

Sequence numarası tahmini


































Hedef Sistemin Uptime Süresini Belirleme







NOT-A : Windows XP SP2’lerle birlikte güvenlik amaçlı* timestamp sorgularına cevap dönmez
NOT-B : Cisco Routerlarda timestamp’i aşağıdaki şekilde aktif/pasif hale getirebiliriz
ip tcp timestamp -> aktif hale getirmek için “no ip tcp timestamp”

Traceroute

Traceroute IP başlığındaki TTL(Time To Live) alanını kullanır. Amaç Hedef sisteme giden yolları öğrenmektir ve bunun için TTL değerini 1 den başlatarak her seferinde bir arttırır.

TTL değerini 1 olarak alan host paketi çöpe atarak geriye TTL Expired cevabı döner. Trace çeken bilgisayarda bu şekilde önündeki yolun tarifini çıkarır.

























Dmitry ile Bilgi Toplama

Dmitry(Deep Magic Information Gathering Tool) hedef system hakkında olabildiğince fazla bilgi toplayarak bunu raporlar.

Yeni bir özellik sunmamasına rağmen manuel yapılacak çoğu işlemi tek bir adımda yapabilmemize olanak sağlar.

Dmitry ile kısaca ;

Verilen bir domain/ip adresi hakkında whois sorgusu, Netcraft’tan alınma bilgiler, subdomain bilgileri, o domaine ait e-posta adresi, açık TCP portları ve bu portlarda çalışan servislere ait banner bilgileri alınabilir.