Ortadaki Adam Saldırısı (Man In The Middle Attack)
Last updated
Last updated
Man in the Middle attack (Ortadaki Adam Saldırısı), bir saldırganın iletişim halinde olan iki taraf arasında kendisini konumlandırarak iletişimi izleyebildiği ve değiştirebildiği bir siber saldırı türüdür. MITM saldırısı, pratikte oldukça basit bir yöntem olabilir, ancak sonuçları oldukça yıkıcı olabilir.
MITM saldırıları, OSI modelinin ikinci katmanında (veri bağlantı katmanı) uygulandığından, saldırgan başarılı olursa, tüm trafik akışını kontrol edebilir. Bu hakimiyet, şifrelenmemiş trafikten şifreli “HTTPS” trafiğine kadar sınırsızdır. Kullanıcıların bir kuruluş içinde bilgileri paylaşmalarının ve iletişim kurmalarının birincil yolu, bir ağ altyapı hizmetidir. Veri paketi ağda serbestçe dolaşır. Kendi IP adresine ait olmayan bir paket alan cihazlar, isteğe bağlı olarak o paketin içeriğini görebilir veya değiştirebilir. MITM saldırısı, ağdaki paketleri ele geçirmek ve manipüle etmek olarak da özetlenebilir.
ARP (Address Resolution Protocol) hangi IP adresinin hangi MAC adresine eşleştiğini bulmamızı sağlayan protokoldür. Bu protokol iki bilgisayarın iletişim kurabilmesi için gerekli fiziksel adreslerin tespit edilmesini sağlar. Ağa bağlanan bir A makinesi, B makinesine ulaşmak istediği zaman B makinesinin IP adresine karşılık gelen MAC adresini bulmak için Broadcast isteği gönderir. ARP zehirleme ise, kurban sisteme sahte arp paketleri (ARP-reply) göndererek kurban bilgisayardaki IP-MAC eşleşmesinin değiştirilmesidir. Saldırgan, kendisini farklı bilgisayar gibi gösterebilir ve kurbanın göndereceği trafiği üzerinden geçirebilir.
Saldırgan, A makinesine sahte ARP yanıtları göndermeye başlar. A makinesinin ARP ön belleği (ARP Cache) zehirlenecek ve verileri saldırganın MAC adresine gönderecektir. ARP Zehirleme sonucu kurban makinelerde IP-MAC eşleşmesi olması gerekenden farklı olacaktır.
Saldırgan, A ve B bilgisayarlarının ARP Cachelerini zehirler. Böylece A’dan B’ye giden tüm paketler saldırgan üzerinden geçecektir. Bu durumda saldırgan kendisini ağ geçidi gibi göstererek tüm internet trafiğini izleyebilir.
DNS sunucusunun ön bellek veri tabanında değişiklik yapılarak hedef sistemin saldırganın belirlediği IP adresine yönlendirme saldırısıdır. Bu sayede DNS sunucusuna istekte bulunan hedef sistem saldırganın IP’sine yönlendirilerek saldırı gerçekleşmiş olur.
Bu saldırı türü, bir LAN anahtarında gerçekleşir ve başka bir hedefe gönderilen paketleri çalmaya çalışır. Saldırgan, istenen hedefin anahtardan portunu çalarak bu saldırıyı gerçekleştirir.
Spanning Tree Protokolü’nün görevi, karmaşık bir ağ topolojisinde döngüleri engellemek ve buna göre döngüye sebep olacak portları bloke durumuna getirmektir. STP protokolü sabote edildiğinde ise hiyerarşik denge bozulur ve paketler cihazlar arasında sonsuz bir döngüye girer.
Saldırgan DHCP sunucusu görevi görerek kurban bilgisayarlara IP dağıtır ve gateway olarak kendi adresini verir. Bu şekilde ağ trafiği kendi üzerinden akar.
Ağ ortamında MITM saldırılarını gerçekleştirmek için, açık kaynak kodlu ve güçlü bir araç olan mitmproxy'i tercih ediyoruz. Mitmproxy, ortadaki adam saldırıları için özel olarak tasarlanmış bir araç olup, ağ trafiğini yakalamak, incelemek ve gerektiğinde durdurmak veya değiştirmek gibi çeşitli yetenekler sunar. Kali Linux sanal makinesinde bulunan ve hazır olarak kurulu gelen Bettercap aracını kullanarak, hedef olarak belirlediğim Windows 8.1 sanal makinesine yönelik bir MITM saldırısı gerçekleştireceğim.
Öncelikle Ethernet arabirimini belirlemek için “bettercap -iface eth0” komutunu çalıştırıyoruz.
Ardından, Bettercap'in sunmuş olduğu modüllerin listesini görmek ve kullanılabilir işlevleri anlamak için "help" komutunu kullanıyoruz.
Bu adımda, ağ tarayıcı modülünü etkinleştirmek için "net.probe" modülünü "net.probe on" komutuyla aktifleştiriyoruz. Bu, ağda bulunan cihazları keşfetmek için bir tarama başlatır.
Şimdi, hedef cihazlar hakkında daha fazla bilgi edinmek için "net.show" komutunu kullanıyoruz. Bu sayede, Windows sanal makinesinin IP ve MAC adresi gibi detayları görüntüleyebiliriz.
MITM saldırısı gerçekleştirebilmemiz için, ağdaki tüm verilerin doğru bir şekilde yönlendirilmesini sağlamak adına "set arp.spoof.fullduplex true" komutunu çalıştırıyoruz. Bu, zehirleme işlemi sırasında ağ trafiğinin sorunsuz bir şekilde yönlendirilmesini temin eder.
Hedef cihazları belirlemek için, ARP saldırısı için hedef IP adresini belirlememiz gerekir. Bu nedenle, "set arp.spoof.targets 10.0.2.2" gibi bir komutla hedef cihazın IP adresini belirliyoruz.
Son olarak, gelen ve giden ağ trafiğini dinlemek ve gerektiğinde manipüle etmek için "net.sniff on" komutunu çalıştırarak dinleme modunu etkinleştiriyoruz.
Windows sanal makinemde http://database.cospe.org/phpMyAdmin/index.php adresine erişim sağladığımda, Bettercap aracının çalıştığı terminalde verilerin gelmeye başladığını görebiliyorum.
Saldırının etkili bir şekilde gerçekleştirildiğini doğrulamak için, HTTP protokolünü kullanan bir web sitesine erişim sağlamamız gerekmektedir.
Şimdi, Bettercap aracının yönlendirdiği verileri daha etkin bir şekilde incelemek için MITM saldırısı sırasında gelen HTTP trafiğini mitmweb arayüzünde görmek istiyorum. Bunun için, yönlendirme ayarlarını yapılandırmam gerekiyor. Bu amaçla, “iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080” komutunu kullanarak bir yönlendirme oluşturuyorum. Bu komutla, 80 numaralı port üzerinden gelen TCP paketlerini yakalayacak ve bunları 8080 numaralı portuna yönlendireceğim. Bu adım, Bettercap tarafından ele geçirilen verilerin mitmweb arayüzünde görüntülenebilmesini sağlayacaktır.
Windows makinesindeki kullanıcı adı ve parola bilgilerini denediğinizde, bu bilgiler Bettercap aracılığıyla Kali Linux üzerindeki mitmweb arayüzünde görüntüleniyor. Token numaraları aynı(bafcb9af71b42e7816ec69078b9a6623).
Şimdi intercept kullanarak Windows makinemde XSS saldırısı yapmayı deniyorum. Intercept’i açtıktan sonra gelen isteği durdurup response kısmındaki kodlarda düzenleme yapıp alert(‘Merhaba İlker : ‘); kodunu enjekte ediyorum.
Ardından Windows sanal makinemde zafiyet bulunan web sitesinde XSS saldırısını başarıyla gerçekleştirmiş oldum.
Bu şekilde mitmproxy kullanarak MITM saldırısı ve XSS saldırısı yapmış oldum.