MITM Saldırısı Nedir?
Tags: cybersecurity, linux
Published: 2021-11-30 14:46:03

**ÖNEMLİ! BURADA ANLATILANLAR TAMAMEN EĞİTİM AMAÇLIDIR . ÖĞRENİLEN BİLGİLERİN BAŞKA KURUM,KURULUŞ VE ŞAHISLARA YAPILMASINDAN SALDIRIYI YAPAN SORUMLUDUR.
**

MITM (Man in the middle) yani “Ortadaki Adam Saldırısı” yerel ağ üzerinde yapılan,seçilen kurbanın internet trafiğini veyahutta başka cihazlarla olan iletişimini dinleme,düzenleme,durdurma,yönlendirme gibi bir çok imkana olanak sağlayan ve siber dünyada sıkça kullanılan bir saldırı çeşididir.Bu saldırıda yerel ağ üzerinde (Local Network) haberleşen iki cihazın trafiği manipüle edilebilir ve trafik akışı okunabilir/engellenebilir. Bu saldırı gelen giden paket alışverişini dinleyip analiz etme mantığında çalışır.


Saldırgan bir networkte internet akışını kendine yönlendirir ve cihazların istek ve cevapları saldırgan üzerinde geçer.Bu sayede saldırgan üzerinden geçen paketleri okuyabilme gibi birçok imkana/yetkiye sahip olur.Saldırgan üzerinden gelen-giden paketlerde analiz yaparak veyahutta bazı hazır araçları kullanarak önemli şifrelerimizi,tarayıcıda tutulan cookie bilgilerimiz gibi bir çok bilgiyi saldırgan eline geçirebilir.

Saldırıda temel amaç cihazları kandırmaya yöneliktir.Bu ise ARP protokolü ile yapılır.Saldırının detaylarına girmeden önce ARP Protokolü nedir ve ne işe yarar bundan bahsedelim.

> ARP PROTOKOLÜ NEDİR NE İŞE YARAR?

Arp protokolü adres çözümleme protokolü olarak bilinir. Cihazlar birbirlerini MAC adresleri ile tanır.Bir networkde cihazların iletişim kurabilmesi için her bir cihazın Local IP adreslerinin olması gereklidir.Buda ya manuel olarak ya da DHCP ile IP adresleri cihazlara atanır.

> Her IP adresinin karşısında bir MAC adresi vardır.Bir cihaz bir paketi başka bir cihaza göndermek isterse ilk başta ARP-Tablosuna bakar.Windows işletim sistemlerinde arp tablosuna bakmak için Komut istemcisine yani CMD’ye “arp -a” komutu girilir.Arp Tablosunun örneği:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s3i14cspi3kwpy9tyou0.png)

Görüldüğü üzere her IP adresinin karşısında bir Fiziksel adres bulunmaktadır.Bu eşleştirmeyi sağlayan protokol ise ARP Protokolüdür.

> Saldırı Stratejisi

Bir networkde bir cihaz kendini diğer cihazlara tanıtmak için gelen arp isteğine bir cevap gönderir. “Benim MAC Adresim bu ve IP adresim şu”şeklinde paketini gönderir. Manipüle işlemi de burada başlıyor.Eğer bir cihaz daha paket isteği gelmeden sürekli cevaplar ile bu cihazın arp tablosu zehirlenirse saldırgan araya girmiş olur.

Daha net bir şekilde açıklayacak olursak küçük bir network hayal edelim.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mfx7ljzsjbz8ixvm3dzd.png)

Görselde de görüleceği üzere modem ile hedef cihaz birbiri ile istek ve cevapları karşılayıp bir iletişim halindeler.Ancak ağımıza bir saldırganın dahil olduğunu öngörelim.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rejoipcllvfejb6pmi77.png)

Saldırgan daha modem ona kim olduğunu sormadan modeme sürekli karşılıksız arp paketleri gönderir ve bu paketlerde düzenlemeler yaparak gönderir. Kendi IP adresini hedefin IP Adresi olarak gösterip MAC adresine de kendi MAC adresini koyarak gönderir.Bu sayede modemin ARP Tablosunda artık 192.168.1.6 hedef cihazın MAC adresi saldırganın MAC adresi ile değişmiş olacaktır. Bu sayede modem bu IP’ye bir paket göndermek istediğinde gerçek Hedef’e değil ,saldırganın cihazına göndermiş olacaktır.Ancak bu yeterli değildir.Saldırgan eş zamanlı olarak aynı saldırıyı hedef cihaza da yapacaktır.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g8atvog5j5fhzpsbqzoe.png)

Saldırgan hedef cihaza da gidip kendi IP adresinin 192.168.1.1 olduğunu yani modemin IP adresini ve MAC adresini ise kendi mac adresi olarak gösterdiği için ,hedef cihaz da saldırganı modem zanneder.

Özetleyecek olursak. Modem saldırganı Hedef cihaz olarak zanneder ve o IP’den gelen istekleri saldırgana gönderir,hedef cihaz ise saldırganı modem zanneder ve isteklerini (GET/POST) saldırgana gönderir. Bu sayede saldırgan iki cihazın internet akışının arasına girer ve gelen giden paketleri kendi üzerinden geçirir.

> MITM Saldırısı Nasıl Yapılır

Bu saldırının yapılması için birden fazla araç bulunmakta olup,kendi aracınızı da programlama dilleri ile yapabilirsiniz. Ben “bettercap” aracı ile MITM saldırısının yapılışını anlatacağım.
 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ccxdzwxwkhty4hafvtkj.png)

```
bettercap -iface eth0
```

**bettercap -iface eth0** komutunu terminalimizde çalıştırarak aracımızı açıyoruz. **-iface** parametresi kullandığımız ağ kartını tanımlıyor. eth0 kablolu bağlantı için, wlan0 kablosuz bağlantı içindir.

> Bettercap ile ağ taramak / ağdaki cihazları bulmak

Bettercap’te ağımızdaki cihazları görmek için kolay bir komut vardır. net.probe on yazdığımızda ağımız taranmaya başlar ve ağımızdaki cihazların IP ve MAC adres bilgileri ekrana yazılmaya başlanır.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n40ka3acmkq8mkq2i79i.png)

> Ağ taramayı açmak için kullanacağımız komut

```
net.probe on
```

> Ağ taramayı kapatmak için kullanacağımız komut

```
net.probe off
```
Görüldüğü üzere bir adet cihaz bulundu ağımızda.Birden fazla cihaz varsa daha güzel bir tablo şeklinde görmek isterseniz cihazları **net.show** komutunu kullanabilirsiniz.

```
net.show
```
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3m64qhjysm3qgkad9n62.png)

Saldırı yapacağımız cihazın IP adresini belirlemek için şu komutu kullanıyoruz. set arp.spoof.targets <IP> örnek olarak

```
set arp.spoof.targets 192.168.43.250
```
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qfz6k9x34jcbv6uwsbqd.png)

Eğer bu saldırı gateway ile hedef arasına girmek ise şu komutu çalıştırmamız gerekiyor.Bu komut hem gateway’e hem de belirlediğimiz hedefe aynı saldırıyı otomatik olarak gerçekleştirir.

```
set arp.spoof.fullduplex true
```
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/97qgrzcwt6a2lhtqy673.png)

Saldırıyı başlatmak ve gelen giden paketleri bettercap üzerinden dinlemek için şu komutları çalıştırmalıyız

> arp.spoof on Bu saldırıyı başlatmak için çalıştırılan komuttur,durdurmak için arp.spoof off kullanmalıyız. 

```
arp.spoof on
```

> net.sniff on Bu komut ise gelen giden paketleri terminale ayrıştırarak bastırmamızı sağlar.

```
net.sniff on
```
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sfn6k8ftecmir0h4o1jh.png)

**net.sniff on** komutunu çalıştırdığımız için gelen giden istekler terminalimize yazılmaya başlandı. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7x1wfwo3kj8tom6ilhr7.png)

Network analizi için daha kapsamlı araç olan **Wireshark **programından da bu paketleri inceleyebiliriz.Wireshark’ı açtıktan sonra interface’imizi seçiyoruz ve arama kısmına http yazıp enter’a basıyoruz.Bunu yapmamız sadece http isteklerini görmemizi sağlayacaktır.Aksi takdirde bir sürü tarafımızdan diğer cihazlara arp paketleri gönderdiğimizden dolayı bir yığın içerisinden araştırma yapmamız gerekecektir.Bu da işleri oldukça zorlaştıracaktır.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wmrs6gb1uydzww0yryob.png)

Gelen paketlere çift tıklarsak daha detaylı bilgiler elde ederiz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rga41mrxofc3bpnu0ykw.png)

Açtığımız bir GET istekli bir pakette Hypertext Transfer Protocol sekmesinin altında isteklerimizi görebiliyoruz.Eğer bir form doldurmuş olsaydı kullanıcı,formundaki verileri de görebilmemiz mümkün olacaktı.Gelin hemen deneyelim.

Kendi sitem üzerinden saldırı esnası sırasında login ekranına giriş yapıyorum kurban cihazdan.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c1eqoqo76v1gl1wkupqs.png)

Aynı zamanda da wireshark üzerinden paketleri inceliyorum.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0dkzj0v00v37gy8dxjs5.png)

Wireshark üzerinde http POST methodu olan bir paket gördük, içeriğini açalım.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ozf00xmorq0sbkord6i.png)

Burada da gördüğünüz gibi username ve password kısımları saldırganın ellerinde...