MitM etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
MitM etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

31 Mayıs 2015 Pazar

DHCP Starvation ve DHCP Spoofing Saldırıları

Merhaba Arkadaşlar,

Bugün DHCP Starvation ve DHCP Spoof saldırı tekniklerini anlatacağım. Saldırıyı gerçekleştireceğim ağı daha önceki yazılarımda olduğu gibi GNS3 ortamında hazırlayacağım. Daha önce GNS3 programını kullanmayanlar, aşağıdaki bağlantıdan GNS3 programını tanıttığım yazıya ulaşabilirler.

http://msesli.blogspot.com.tr/2015/05/gns3-ile-sanal-network-laboratuvar.html

Uygulama ortamını hazırlamadan önce DHCP nedir, DHCP Starving ve DHCP Spoof saldırıları nasıl gerçekleştirilir, sorularını yanıtlamaya çalışayım.

DHCP (Dynamic Host Configuration Protocol), ağda bir bilgisayara IP adresi, Alt ağ maskesi, Ağ geçidini, DNS adresleri gibi bilgileri otomatik olarak dağıtmayı amaçlayan bir protokoldür. Bu işlem nasıl gerçekleşir onu anlatayım. Ağdaki bir bilgisayar DHCP sayesinde bir IP adresi almak istediğinde öncelikle ağda kimin DHCP Sunucu olduğunu anlamak için bir DHCP Discover paketi yayınlar. Bu paketin kaynak MAC adresi cihazın kendi MAC adresi olup, kaynak IP adresi henüz belirlenmediği için 0.0.0.0 'dır ayrıca bu paket bilgisayarın UDP 68 nolu porttan DHCP sunucunun UDP 67 portuna gönderilir. Sunucu bilinmediği için de hedef MAC ve hedef IP adresleri broadcast olarak ayarlanır(MAC=FFFF.FFFF.FFFF, IP=255.255.255.255). Bu paketi alan DHCP sunucu, bu bilgisayara önerdiği IP adresini, rezerve süresini, kendi IP adresini içeren bir DHCP Offer paketini bütün ağa yayınlar. Bu teklif paketini alan bilgisayar, önerilen IP adresini kabul ettiğine dair DHCP Request paketini yayınlar. Son olarak da bu DHCP Request paketini alan DHCP sunucu, bu IP adresini o bilgisayara rezerve ettiğini bildiren DHCP ACK paketini ağa yayınlayarak duyurur. Bu haberleşme protokolü sırasında istemci bilgisayarlar UDP 68 nolu portu dinlerken, DHCP sunucu UDP 67 nolu portu dinler. Bu süreç ağda başka bir sanal yerel alan ağı(VLAN) yapılandırılmamışsa geçerlidir. Eğer ağda başka VLAN var ise DHCP sunucuda her VLAN için ayrı IP havuzu bulunmalı ve VLAN'lar arası haberleşmeyi mümkün kılan gerekli yapılandırmaların yapılmış olması gerekir.

DHCP Starvation, ağdaki DHCP sunucudaki IP havuzunun tüketilmesi saldırısıdır. Bu işlem sürekli farklı MAC adresi ile DHCP sürecinin tekrar edilmesiyle gerçekleştirilir. DHCP Spoof ise ağdaki (aynı VLAN) bir hedef bilgisayara DHCP sunucu olduğumuzu söyleyip, o bilgisayarın trafiğini ele geçirme saldırısıdır.

Gerekli tanım ve süreçleri açıkladığımıza göre artık uygulamaya geçebiliriz. Aşağıdaki ekran görüntüsündeki ağı kurup, başlatıyoruz. Ağdaki DHCP sunucu görevini internet'e çıkarken kulladığımız sanal ağ arayüzü üstleniyor. Benim  ağımdaki IP yapılandırması şu şekilde:

Kali = 192.168.137.83

Windows = 192.168.137.130


Ekran Görüntüsü 1: Örnek Network'ün kurulması ve başlatılması

İlk önce DHCP Starvation saldırısıyla başlayalım. Bunun için Yersinia programını kullanacağız. Bu saldırıda, DHCP sunucusunun IP havuzunu tüketmemiz için sunucuya DHCP Discover paketlerini MAC adresimizi sürekli değiştirerek göndermemiz gerektiğinden bahsetmiştim. Yersinia, bize bu imkanı sunan bir program. Kali'de bu programı çalıştırmak için bir konsola aşağıdaki komutu giriyoruz.

# yersinia -G

Ekran Görüntüsü 2: Yersinia programının arayüzü

DHCP sekmesini seçtikten sonra Launch Attack butonuna tıklıyoruz. sending DISCOVER packet'i seçip OK tuşuna basarak saldırıyı başlatıyoruz.

Ekran Görüntüsü 3: DHCP Starvation saldırısının başlatılması

Saldırıyı Wireshark programından daha net bir şekilde görebiliriz.

Ekran Görüntüsü 4: Saldırının Wireshark'ta görüntülenmesi

Bu saldırı bir DOS (Denial of Service) saldırısı olup, bu saldırı, DHCP sunucunun saldırganın bulunduğu ağ için tanımlı havuzunu tüketebilir. Yani DHCP sunucu birden fazla VLAN'a ait  IP havuzuna sahipse sadece saldırının gerçekleştiği VLAN'ın IP havuzu tüketilir.

Şimdi sıradaki saldırımız DHCP Spoof. Kali'ye sahte bir DHCP sunucu kuracağız ve ağdaki Windows bilgisayarının bizi ağ geçidi olarak görmesini sağlayacağız. Ardından Windows bilgisayarının bizim bilgisayarımız üzerinden internet'e çıktığını göreceğiz.

Sahte DHCP sunucumuzu Ettercap programı yardımıyla kuracağız. "ettercap -G" komutunu konsola girerek programı açıyoruz.

Ekran Görüntüsü 5: Ettercap programının arayüzü

Sniff sekmesine gelip, Unified sniffing 'e tıklıyoruz. İlgili ağ arayüzünü seçip aşağıdaki sniffing'i başlatacağımız yere geliyoruz.
Ekran Görüntüsü 6: Sniffing işleminin başlatılması
Start sekmesinde Start Sniffing'e tıklayarak ağı dinlemeye başlıyoruz. Şimdi DHCP spoof saldırısında kullanacağımız sahte DHCP sunucuyu kurmaya sıra geldi. Bunun için MitM sekmesinde DHCP Spoofing 'e tıklıyoruz ve aşağıdaki parametreleri giriyoruz.

Ekran Görüntüsü 7: Sahte DHCP sunucunun kurulması

IP Pool=192.168.137.254
Netmask= 255.255.255.0
DNS server IP= 8.8.8.8

Bu parametreleri girdikten sonra sahte DHCP sunucumuz hazır oluyor. Ağda müdahale etmemiz gereken bir olay var o da şu; Windows cihazının hali hazırda bir IP var zaten. Bizim sunucumuzdan bir IP alıp ve bizim sunucumuzu ağ geçidi olarak görmesi için sahip olduğu DHCP bilgilerini bırakıp, tekrar bu bilgileri alması lazım. Bunu da sırasıyla Windows Komut İstemcisine şu komutları girerek sağlıyoruz.

>ipconfig /release
>ipconfig /renew

Aşağıdaki ekran görüntüsünden de görüyoruz ki artık Windows bilgisayarı bizim IP'mizi(192.168.137.83) ağ geçidi olarak görüyor. Bu sayede artık bu bilgisayar internet'e Kali bilgisayarı üzerinden çıkıyor.

Ekran Görüntüsü 8: Windows IP yapılandırması

Windows cihazın trafiğini izleyelim. Bunun için windows cihazdan "www.google.com" adresine ping atıyoruz ve Kali'de Wireshark programı ile gözlemliyoruz.

Ekran Görüntüsü 9: Wireshark ile Windows cihazının trafiğinin incelenmesi

Bugün yaptıklarımızın üzerinde geçecek olursak, DHCP starvation ile DHCP sunucuya servis dışı bırakma (DOS) saldırısı gerçekleştirdik. Ardından DHCP Spoof ile ağımızdaki hedefimizin trafiğini kendi bilgisayarımıza yönlendirip inceledik. Daha önce bahsettiğim MAC Flood ve ARP Spoof saldırılarında olduğu gibi bu saldırıda da hedef bilgisayar ile aynı VLAN'da yer almamız gerekmektedir. Amacım sizlere faydalı olacak teorik ve pratik bilgiler sunmaktı, umarım bunu başarmışımdır. Bir sonraki yazıda görüşmek üzere.


Yararlandığım Kaynak:
Gökhan USTA,"BİLGİSAYAR AĞLARINDA SALDIRI VE SAVUNMA"






29 Mayıs 2015 Cuma

ARP Spoof Saldırısı

Merhaba Arkadaşlar,

Bu yazıda ARP Spoof saldırı tekniğini anlatmaya çalışacağım. Bu saldırıyı gerçekleştirirken yine GNS3 ortamını kullanacağım. GNS3 programını daha önce duymadıysanız, bu programı tanıttığım yazının size yardımcı olacağını düşünüyorum.Aşağıdaki bağlantıdan bu yazıya ulaşabilirsiniz.

http://msesli.blogspot.com.tr/2015/05/gns3-ile-sanal-network-laboratuvar.html

ARP Spoof saldırısına geçmeden önce ARP protokolünün nasıl çalıştığını açıklayayım.

Ekran Görüntüsü 1: Örnek Network

Yukarıdaki ekran görüntüsündeki ağımızın IP adresleri şu şekilde olsun.

TinyCore = 192.168.200.2
TinyCore_3 = 192.168.200.3
Kali = 192.168.200.4

TinyCore isimli bilgisayarın, TinyCore_3 isimli bilgisayarla haberleşebilmesi için IP adresi dışında MAC adresini de bilmesi gerekir. Bu noktada ARP protokolü devreye giriyor. TinyCore isimli bilgisayar ARP talep (ARP Request) paketi hazırlar. Bu paket, kaynak IP adresi, hedef IP adresi, kaynak MAC adresini içerir ve hedef MAC adresi bilinmediği için hedef MAC adresi broadcast (yayın) MAC adresi olan FFFF.FFFF.FFFF olarak ayarlanır ve gönderilir. Switch bu paketi aldığında hedef MAC adresini kontrol eder, broadcast MAC adresi olduğu için bütün portlardan bu paketi yayınlar(Eğer ağda başka bir VLAN tanımlı değilse). Bu paketi alan TinyCore_3 isimli bilgisayar dışındaki cihazlar bu paketi düşürür. TinyCore_3 isimli bilgisayar ise bir ARP cevap (ARP Reply) paketi hazırlar. Bu cevap paketinde gereken bütün bilgiler (kaynak IP adresi, hedef IP adresi, kaynak MAC adresi, hedef MAC adresi) bulunduğu için bu paket switch'in bütün portlarından yayınlanmaz ve switchin üzerinden hedefine (TinyCore) gider. Bu aşamada bu bilgiler bilgisayarların IP MAC eşleşmesinin tutulduğu ARP tablosuna yazılır ve bilgiler silinene kadar ARP süreci tekrarlanmaz.

ARP protokülünde açıklanması gereken iki paket türü daha vardır. Bunlar Karşılıksız ARP talep (Gratuitous ARP Request) ve Karşılıksız ARP cevap (Gratuitous ARP Reply) paketleridir. Karşılıksız ARP talep paketi, ağda bir bilgisayar ya da cihaz IP adresi aldığında ağa bu IP adresine ait bir cihaz olup olmadığını anlamak için gönderilir. Eğer bu pakete bir yanıt alınırsa ağda IP çakışması meydana gelmiş demektir. Karşılıksız ARP cevap paketi ise ağa bir cihaz dahil olduğunda kendi IP adresini bütün ağa duyurmak için bu IP adresi şu MAC adresine aittir anlamında bir paket yollar.

ARP Spoof saldırısı işte bu karşılıksız ARP cevap paket yayınlanması ile gerçekleştirilir. Örnek network üzerinde anlatacak olursam. Kali bilgisayarı ARP spoof saldırısı ile TinyCore ve TinyCore_3 bilgisayarları arasına girmek için (MITM=Ortadaki adam saldırısı) TinyCore adlı bilgisayara TinyCore_3 olduğunu, TinyCore_3 adlı bilgisayara ise TinyCore olduğunu gösteren karşılıksız ARP cevap paketleri yayınlayacaktır.

Yeteri kadar kafa açtığımı düşündüğüm için uygulamaya geçiyorum. :))

Yukarıdaki örnek network'ü kurup başlatıyoruz. Yukarıda belirlediğimiz IP adreslerini ağımızda bir DHCP sunucu olmadığı için manuel olarak giriyoruz. Bunun için aşağıdaki komutları bilgisayarlara giriyoruz.

Kali için

#ifconfig eth1 192.168.200.4

TinyCore için

#sudo su
#ifconfig eth0 192.168.200.2

TinyCore_3 için

#sudo su
#ifconfig eth0 192.168.200.3

Şimdi ağımız hazır, saldırıya başlayabiliriz.

Ekran Görüntüsü 2: Hazır hale gelen Network

Kali'de saldırıya başlamadan önce aşağıdaki komutu girerek IP forwarding özelliğini aktif hale getiriyoruz.

# echo 1 > /proc/sys/net/ipv4/ip_forward
#cat /proc/sys/net/ipv4/ip_forward

Ekran Görüntüsü 3: Kali'de IP forward özelliğinin aktif edilmesi ve kontrol edilmesi

Şimdi TinyCore bilgisayarına TinyCore_3 olduğumuzu, TinyCore_3 adlı bilgisayara da TinyCore adlı bilgisayar olduğumuzu söyleme zamanı. Bunu  Arpspoof aracı ile sağlayacağız. Sırasıyla aşağıdaki komutları giriyoruz ve Wireshark'ta neler döndüğüne bakıyoruz.

#arpspoof  -i eth1 -t 192.168.200.2 192.168.200.3

Bu komut TinyCore'a TinyCore_3 olduğumuzu söylüyor.

#arpspoof -i eth1 -t 192.168.200.3 192.168.200.2

Bu komut da TinyCore_3'e TinyCore olduğumuzu söylüyor.

Ekran Görüntüsü 4: Arpspoof saldırısının Wireshark'taki görüntüsü

Bunu da sağladığımıza göre TinyCore'un trafiğini ele geçirmeye çalışalım. TinyCore adlı bilgisayardan TinyCore_3 adlı bilgisayara ping atıyoruz ve sonra Kali'de Wireshark'a geri dönüyoruz.

Ekran Görüntüsü 5: TinyCore ve TinyCore_3 adlı bilgisayarların ICMP paketlerinin elde edilmesi

Bu görüntüden de anlaşılacağı gibi TinyCore (192.168.200.2) TinyCore_3(192.168.200.3)'e ping attığında bir icmp paketi oluşturuyor. Bu paketin kaynak IP adresi TinyCore'un hedef IP adresi ise TinyCore_3'ün buraya kadar herşey normal ancak MAC adreslerini incelediğimizde kaynak TinyCore'un MAC adresi ama hedef MAC adresi Kali'nin yani saldırgan bilgisayara ait. Kali bu paketi aldığında aynı hedef ve kaynak IP adreslerini içeren bir ICMP paketi hazırlıyor ve bu paketin kaynak MAC adresine kendi MAC adresini yazıyor, hedef MAC adresi olarak da TinyCore_3'ün MAC adresini yazıyor. Böylelikle ICMP paketi Kali'nin üzerinden iletilmiş oluyor. Aynı işlem TinyCore_3'ün TinyCore'a cevabı (ICMP Reply) içinde gerçekleştiriliyor.

Umarım açıklayıcı bir yazı olmuştur. Bir sonraki yazıda görüşmek üzere.

Yararlandığım Kaynak

Gökhan USTA,"BİLGİSAYAR AĞLARINDA SALDIRI VE SAVUNMA"