Ortadaki Adam Saldırısı [MITM] Detaylı Anlatım

0gxd14g

MAN IN THE MIDDLE ATTACK (ORTADAKİ ADAM SALDIRISI )

Türkçe’de karşılığı ortadaki adam saldırısı olan bu saldırı tipinde 2 bağlantı arasına sızılarak çeşitli dinleme işlemleri yapılır ve istenilen verilerin ele geçirilme işlemi başlatılır. Ağ’a dahil olma dinleme işlemine başlama ve 2 network arasındaki encrypt edilmemiş bağlantıyı çözmenin , okumanın birden fazla yolu vardır.

Bu yöntemlerden bazılarında istemci gerçekten sunucu da bulunan siteye giriş yapar ancak istek yollarken aktardığı veriler ortada bulunan saldırgana iletilebilir.

Bazı saldırı türlerinde ise istemci gerçek siteye erişmeden önce saldırgan tarafından hazırlanmış aynı sayfanın bir kopyasına erişir ve giriş yapmak istediği sitenin bilgilerini saldırgana aktarmış olur eğer dikkatli olunmaz ise şifrelerini saldırganın hazırladığını kopya siteye verebilir.

MITM (ORTADAKİ ADAM SALDIRISI) gibi saldırı yöntemleri çok ciddi network bilgisine ihtiyaç duymadan da yapılabilir ayrıca farklı işletim sistemlerine entegre olan yazılımlar ile karşımıza çıkmaktadır. Bu yazılımlar ile sadece bir kaç tıklama yapılarak saldırı yapılacak sistem belirlenir ve dinleme işlemi başlatılır ardından uygulanıcak MITM ile network trafiği rahat bir şekilde saldırganın üzerine yönlendirilir kullanılan araç için de bulunan yerleşik sertifika sistemi sayesinde ssl sistemlerinin taktiltleri bile yapılabilmektedir.

Saldırganların MITM saldırılarında başarılı olabilmesi için, kurbanı gerçek sunucu yerine proxy sunucusuna yönlendirmesi gerekir. Bunun içinde aşağıdaki senaryolar uygulanır;

1. LOCAL AREA NETWORK(Yerel Alan Ağı):

1.1. ARP poisoning

1.2. DNS spoofing

1.3. STP mangling

2. FROM LOCAL TO REMOTE (Uzakta Bulunan Yerel Alan Ağı):

2.1. ARP poisoning

2.2. DNS spoofing

2.3. DHCPspoofing

2.4. ICMP redirection

2.5. IRDP spoofing — route mangling

3. REMOTE(Uzakta Bulunan Ağ):

3.1. DNS poisoning

3.2. Traffic tunneling

3.3. Route mangling

Yukarıdaki Diagramın İncelemesi

İlk olarak istemci sunucu tarafına bir request (istek) de bulunur bunun anlamı Google girmek istememiz gibi

Ardından Sunucu tarafı istemciden gelen verileri inceler ve istemcinin başlık ip vs gibi bilgilerini kontrol ederek 0 firewall şartlarında giriş isteğini kabul eder.

Giriş isteği kabul edildikten sonra istemci kullanıcı girişine doğru verileri yazdığı taktirde istemci kendisine ait kullanıcı paneline ulaşabilecektir bunun için tekrar bir request (istek) yollar ve bu sefer istemcinin sunucuya yolladığı paket içerisinde kullanıcı adı ve şifre bilgileri bulunur.

Sunucu gelen isteği inceler ve doğru kullanıcı adı ve şifreyi veri tabanı ile karşılaştırdığı zaman olumlu bir yanıt alır ise istemcinin bağlantı talebini onaylar ve görmek istediği sayfayı gösterir. Aynı ağda bulunan bir istemcinin de aynı kullanıcı bilgileri ile giriş yapmasını önlemek amacı ile giriş yapan kullanıcının tarayıcı ve ip bilgisine ait bir cookie çerezi oluşturur.

Örnek 2

Saldırgan Attacker

Yukarıdaki örnekte bir mıtm saldırısının diyagramını görüyoruz istemci ilk görselde olduğu gibi sunucuya bir istek yolluyor ancak saldırgan bu durumda ortada bulunduğu için istemciden gelen isteği rahat bir şekilde dinleyip görebiliyor.

Arp Poisoning

İlk olarak arp nedir diye başlamak gerekmektedir : ARP ( Address Request Protocol ) Yani 2 yada daha fazla bilgisayarın birbirleri ile iletişimi sırasında istemci kim sunucu kim kim kime istek yolluyor yollanan isteklerin içerisinde ne bulunuyor , istekler ne kadar sürede karşı tarafa iletiliyor, adres lemeler neler vb gibi işlemlerin gerçekleştiği protokoldür bu protokol sonucunda istemcinin datası sunucu tarafına iletilir ve sunucu bunu yorumlayarak bir cevap verir arp poisoning ise bu datanın dinlenmesini yapan bir saldırı türüdür nasıl yapıldığına gelecek olursak saldırgan arp işlemi gerçekleştirirken istemci ve sunucunun kafasını karıştırarak dataları kendisine yönlendirir bu sayede istemci aslında sunucuya ulaşmadan önce saldırgan tarafından geçmektedir.

Dns Spoofing

DNS ( Domain Name Server) : İstemcilerin sahip olduğu kimlik bilgisi(ip adres) gibi her gün internet üzerinde istek yolladığımız ziyaret ettiğimiz web sitelerinde bir IP adresi vardır. Bu IP adresleri çeşitli sayılardan oluşur. bu sayılar akılda kalıcı olmayıp absürt gözüktüğü için her ip adresi için ip adresine ait web sitesine uygun isimler kullanılması gerekmektedir işte DNS tam bu noktada devreye giriyor DNS internet üzerinde bulunan adreslere (IP Adresi) DNS sunucuları aracılığıyla bir isim verebilen sunuculara denir.

DNS Spoofing : Dns zehirlenmesi yada diğer adıyla DNS önbellek zehirlenmesi en basit tanımı ile bir bilgisayar saldırısıdır. Alan adı sunucusunun önbellek veritabanına eklenen verilerle yada oradaki verilerin sabote edilmesi ile birlikte sizin bilgisayarınızın yani istemcinin saldırganın belirlediği ip adresine yönlenmesi sağlanmaktadır ve bu sayede siz istediğiniz siteye giriş yaptığınızı zannederken aslında saldırganın ip adresine yönlendirilmiş olursunuz.

En basit ifade etmek gerekir ise www.defdef16.com adresine giriş isteğinde bulunduğunuzu varsayalım ilk olarak bilgisayarınız yani istemci www.defdef16.com adresine bir request (istek) yollar ve bu istek çeşitli katmanlardan geçerek sunucu tarafına ulaşır. Bu katmanların içerisinde DNS kısmı sabote edildiği taktirde örnek vermek gerekir ise www.defdef16.com adresinin isim sunucularının hacklendiğini düşünelim böyle bir durumda saldırgan www.defdef16.com adresine girmek için request (istek) talebinde bulunan bütün istemcileri kendi sunucusuna yönlendirebilmektedir.

STP mangling

STP : Kapsayan ağaç protokolü (Spannig Tree Protokol)

7 seviyeli bir OSI modelinde veri bağlantı katmanında yer alan, topolojide döngü oluşmasını engelleyen bir standarttır. İsminden de anlaşılacağı üzere STP karışık ağ yapısının bir ağaç yada net açıklamak gerekir ise bir topolojiye sahip olmasını sağlayan paketlerin cihazlar arasında sonsuz bir döngüye girmesine engel olmasını sağlar.

Mangling : STP mangling ise STP protokolünün çalışmasını engelleyen ve sürekli topoloji değişim isteği yollayan bir saldırı türüdür.

DHCP Spoofing

DHCP: (Dynamic Host Configuration Protocol) Dinamik Host Yapılandırma Protokolü

DHCP istemci cihazlara, IP adresi alt ağ maskesi, varsayılan ağ geçidi ve DNS adresi bilgilerini otomatik olarak dağıtıp bunları senkronize eden bir protokoldür.

Bu protokol sayesinde ağda bulunan bilgisayarlara tek tek ip adresi vb gibi bilgiler girmeye gerek kalmaz IP çakışması gibi durumlar ortadan kalkar. İstemciler, DHCP sunucusundan gerekli bilgileri alabilmek için istek yollar; DHCP sunucusundan gelen bilgileri kullanarak internete erişmeye çalışır.

Yalnız bunu yaparken kendisine ilk cevap dönen DHCP sunucusunun gönderdiği bilgileri tercih eder.

Local ya da dahil olduğumuz bir local ağ üzerinde sahte DHCP sunucusu kuran ve çalıştıran bir kişi, aynı ağda DHCP isteğinde bulunan istemci cihazlara varsayılan ağ geçidi olarak kendisine ait olan bir DHCP cevabı döndürebilmektedir.

İstemci bu cevabı aldığı andan itibaren ağ geçidi adresi olarak bu sahte adresi kullanmaya başlar ve yerel ağın dışında bir adresi hedefleyen paketler ilk olarak atak yapan kişinin makinesine yönlenir. Saldırgan bu paketleri gitmeleri gereken doğru adreslere kendi üzerinden gönderirken tüm paketleri izleme olanağına sahip olur. Bunun yanı sıra sahte DHCP sunucusu kuran kişi, istemciyi gitmek istediği İnternet adreslerinin yerine kendi istediği İnternet sayfalarına yönlendirebilir. İstemci güvenliğini ve gizliliğini tehdit eden bu durumu engellemek için Cisco cihazlar üzerinde DHCP araya girme (DHCP Snooping) özelliği geliştirilmiştir.

ICMP Redirection

ICMP (Internet Control Message Protocol (Türkçe adıyla Internet Kontrol Mesaj İletişim Protokolü))

dönüt şeklinde mesajlar bildirmek için kontrol amaçlı kullanılan bir protokoldür. IP dediğimiz yapının hata düzeltme ya da raporlamak gibi bir özelliği yoktur bu sebeple ICMP kullanılmaktadır.

Örnek Bir MITM (ORTADAKİ ADAM SALDIRISI) Saldırısı

Bu konu başlığında sizlere örnek bir MITM (ORTADAKİ ADAM SALDIRISI) saldırısı ile hedef istemcinin gmail hesabının ele geçirilmesi hakkında bir anlatım yapacağız.

Bu senaryo için bizlere bir adet İstemci , Saldırgan olarak KALİ Linux ve istemcinin local ağı gerekiyor ben localhost üzerinde çalıştığım için tüm makinalar network olarak birbirine bağlı durumda ancak bunun gerçek hayattaki versiyonuna değinecek olursak bir internet kafe , halka açık bir kafe ve her hangi bir wifi alanında da aynı işlemler geçerli olacaktır.

Bu senaryomuzda kurban ip adresi 192.168.0.18 ve biz saldırgan olarak aynı ip aralığında olan KALİ Linux kullanıyoruz ip adresimiz 192.168.0.14 burada bütün işlemler KALİ Linux üzerinde yapılacaktır.

Saldırı şemasına baktığımız da aslında saldırının en sadeleştirilmiş halini görüyoruz. Aslında bunun öncesinde saldırgan dahil olduğu local ağ üzerinden kendisine bir hedef seçmeli ve ardından seçtiği hedefe arp spoof saldırısı yapması gerekmektedir arp spoofun ne olduğuna sayfa xx den ulaşabilirsiniz. Arp spoof işleminin ardından artık hedef istemcimizin ağ üzerinde gerçekleşen alışveriş ve iletişimleri çekilmeye hazır olarak saklanmaktadır biz doğru komutlar ile bunların okunmasını öğreneceğiz.

İlk olarak saldırgan olan KALİ Linux makinamızın ip adresini “ifconfig” komutu ile öğreniyoruz burada bize 3 adet bilgi gerekiyor 1.ip adresimiz(inet) 2.ethernet yolumuz 3.broadcast

Bu 3 veri bize işlemlerin geri kalanlarında yardımcı olacaktır.

Ardından hedef makinamızın ip adresi ve geçit bilgilerini almamız gerekiyor ben localhost ta ve sanal bir laboratuvar ortamında çalıştığım için direk istemci makinaya girip “ipconfig” komutunu uyguluyorum.

Hedef ip adresim : 192.168.0.18 hedef ağ geçidim : 192.168.0.1 bu veriler ile rahatça dinleme işlemini başlatabiliriz ancak bundan önce saldırgan makinamızda birkaç konfigürasyon yapmamız gerekmektedir.

“Cat” komutu ile “ip_forward” dosyasının içerisinde yönlendirme var mı diye bakıyoruz buradaki 0 ifadesi bizlere yönlendirmenin kapalı olduğunu söylüyor eğer bu şekilde bir dinleme ve saldırı işlemi gerçekleştirirsek dinleme işlemimiz başarılı olur ancak yönlendirmemiz kapalı olduğu için hedef istemci saldırganın sunucusu yerine doğru sunucuya gidecektir. Bu sebeple biz “echo 1 > “ komutu ile “ip_forward “dosyasına “1” verisini ekliyoruz.

Evet bütün işlemleri bu kısıma kadar doğru bir şekilde yaptı iseniz şimdi dinleme işlemini başlatabiliriz.

“Arpsoof” aracını kullanarak KALİ üzerinde belirtilen ağ geçidi ve ip adresi baz alınarak bir dinleme spoof işlemi başlatabiliriz “-İ” parametresi interface anlamına gelir bu parametre ile ağ kartımızı belirtiriz. “-t” parametresi target anlamına gelir ve hedef istemci ve bu istemcinin ağ geçidini girmemiz gerekmektedir.

“Arpsoof -t eth0 -I <dinleme yapılacak ip adresi> <dinleme yapılan ip adresinin ağ gecidi>”

Komut formatımız yukarıdaki gibi olmalıdır. Bu komutu uyguladıktan sonra 192.168.0.18 adresi için bir dinleme işlemi başlatmış oluruz arp verileri kaydolmaya başlar ancak bu bizim için yeterli değildir aynı dinlemeyi ağ geçidi üzerinden de yapmamız gerekmektedir.

Bunun için ;

“arpspoof -i eth0 -t <hedef ağ gecidi> <hedef ip adresi>” komutunu uygularız bu komut ile de ağ geçidi üzerine bir dinleme işlemi başlamış olur evet bu süreye kadar bütün işlemleri başarılı bir şekilde hata almadan tamamladı iseniz dinleme işlemini tamamlamış bulunuyoruz şimdi maskeleme işlemine geçmemiz gerekiyor biz gmail hesabının hacklenmesine değineceğiz bu işlem istediğiniz her hangi bir kullanıcı giriş kısmında da yapılabilmektedir.

Maskeleme işlemini yapabilmek için KALİ de bulunan setoolkit aracını kullanacağız. Dinleme işlemleri arkaplanda devam ederken komut satırını açıp setoolkit yazarak uygulamayı çalıştıralım.

Evet yazılım ilk açılışta bizden bir seçim yapmamızı istiyor burada biz 1 seçeneğini seçiyoruz.

1 Seceneğini seçtikten sonra ne tür bir saldırı yapacağımızı belirtmemizi istiyor burada 2 seceneğini seçiyoruz.

Bu kısımda da 3 seceneğini seçip devam ediyoruz.

Maskeleme işlemi yapacağımız için her zaman bu algoritmayı kullanmanızı öneririm çünkü SSl gibi encryp edilmiş sayfalarda bile %96 çalışabilmektedir.

1 ) Web Templates : Hazır bir tema kullanarak maskeleme işlemi yapmak istiyorsak bu seçeneği seçmeliyiz içerisinde google , facebook vb gibi giriş sayfaları bulunmaktadır.

2 ) Site Cloner : Bu seçenek ise belirttiğimiz web sitesini klonlamaya yaramaktadır.

3 ) Custom Import : Daha önceden hazırladığımız bir web sayfasını bu secenek ile kullanabiliriz.

2 yi seçip devam ediyoruz.

2 dedikten sonra bize maskelemeyi calıştıracak sistemin ip adresini istiyor bu kısıma kendi saldırgan ip adresinizi yazabilirsiniz ancak apache ve php yazılımlarının yüklü olması gerekir. Burada birden fazla senaryo cıkartabilirsiniz yurt dışından bir web sunucu alıp bu kısımda kullanabilirsiniz ancak biz localde olduğumuz için saldırgan ip adresi olan 192.168.0.14 kullanıyoruz burada önemli olan yazdığımız ip adresi ile hedef kurban olan istemcinin ip adresinin aynı aralıkta olması gerekmektedir kısaca aynı local ağ üzerinde bulunmaları diyebiliriz.

IP bilgisi girildikten sonra klonlamak istediğimiz web sayfasının adresini istiyor bu kısıma www.gmail.com yazıyoruz.

Evet klonlama işlemi başlatıldı ve artık network üzerinden kim 192.168.0.18 e giriş yapmak istese karşısında gmail kullanıcı giriş ekranını görecektir.

Ancak biz kimseden rakamsal ifadeden oluşan bir ip adresine girmesini bekleyemeyiz bu yüzden dns spoof aracı kullanarak maskeleme yapılan ip adresini daha orijinal bir link üzerine yönlendirebiliriz bunun için hosts.txt adında bir dosya oluşturuyoruz

Pico host.txt diyerek dosyanın içerisini düzenleyebiliriz.

Düzenleme kısmı.

Bu kısıma saldırgan maki nasını service.gmail.com adresine yönlendirmek için yazıyoruz.

Böylece service.gmail.com adresine aynı network üzerinde giriş yapan herkes aslında 192.168.0.14 makin asına yönlenmiş olacaktır ve bu da saldırının başarılı olduğu anlamına geliyor hosts.txt dosyamız dan ctrl+x ile çıkış yapıp ismini kaydetmek istiyor musunuz sorusuna yes diyerek devam edelim.

Dnsspoof aracı ile host.txt dosyasındaki yönlendirmeyi gerçekleştiriyoruz. Şimdi senaryomuza göre istemci kişisi service.gmail.com adresine giriş yapıyor.

Hedef istemciden service.gmail.com adresine giriş yaptığımız zaman karşımıza bir gmail giriş sayfası cıkıyor burada hedefin yazacağı her veri bizim saldırgan sunucumuza iletilecektir hemen test edelim.

Evet hedef istemci verileri girip sign in dediği anda bizim sunucumuza veriler gelmektedir.

Oğuz ALBAŞ

0gxd14g

Written by

0gxd14g

Oğuz ALBAŞ Jn. cyber security researcher

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade