Subterfuge ile MITM saldırısı

Man in the Middle (MITM) nedir?

Man in the middle saldırısı 

Man in the middle saldırıları, saldırganın hedefindeki bilgisayarla ile diğer bilgisayar veya bilgisayarların ağdaki tüm veri trafiğini kendi üzerine alması yoluyla yaptığı saldırı tipidir.

Bu tür bir saldırıyı yapmak için temel düzeyde Layer 2 (Physical Layer) ve Layer 3 bilgisi yeterlidir.

Layer 2,  Data Link Katmanı olarak adlandırılır. Fiziksel adresleme bu katmanda yapılır.

Layer 3, Network Katmanı, işte bu katman ip’lerden oluşur, ip blokları ile tanımlanmış ağlar arasındaki veri iletişimi bu katmanda sağlanır.

Layer 2 ‘de çalışan switch mantığı;

  1. Switch herhangi bir porttan gelen bir ağ paketini alır.
  2. Aldığı paketin mac adresi anahtarın “mac adres tablosu”’nda yoksa bunu mac adres tablosuna ekler.
  3. Aldığı paketin hedef mac adresini kendi mac adres tablosunda arar, eğer kendi mac adres tablosunda var ise bu paketi ilgili porttan gönderir. Eğer yoksa hiç bir şey yapmaz. (Drop edilir.)

Not: Mac adres tablosu, mac adreslerini anahtarın portları ile ilişkilendirildiği tablodur. Bu tablo ile hangi mac adresine anahtarın hangi fiziksel hangi portundan ulaşılabildiğine bakılabilir. Bazen arp tablosu ile karıştırılabilir, arp tablosu mac adreslerinin ipler ile ilişkilendirildiği tablodur.

Mac Adres Tablosu


00:00:00:00:AA:AA FastEthernet 0/0
00:00:00:00:BB:BB FastEthernet 0/0
00:00:00:00:CC:CC FastEthernet 0/1

Arp Tablosu 

00:00:00:00:AA:AA 192.168.1.1

00:00:00:00:BB:BB 192.168.1.2

00:00:00:00:CC:CC 192.168.1.3

Peki örneğin 192.168.1.3 ip’li bilgisayar, 192.168.1.2 ip’li bir bilgisayar ile iletişimi geçmek isterse ne yapar;

Layer 2 de bilgisayar birbirleri ile iletişime geçmek için mac adreslerini kullanırlar, IP’ler ise Layer 3’te işimize yarar. Yani aynı ağdaki 2 bilgisayar iletişime geçmek için birbirlerinin mac adreslerini bilmek zorundadırlar. Sorunun cevabına gelince; 192.168.1.3 ipli bilgisayar kendi arp tablosuna bakar, 192.168.1.2 ipli bilgisayar arp tablosunda varsa arp timeout süresi içinde zaten bu bilgisayar ile bir iletişime geçilmiş demektir. Eğer yok ise bu bilgisayar ile henüz bir görüşme sağlanmamış demektir yani bağlantı için ilk adıma geçilir. Buda arp request broadcast paketini göndermekle başlar.

Arp request paketi ağdaki tüm bilgisayarlara iletilir ve sorar 192.168.1.2 kim? 192.168.1.2 bu arp sorusuna benim diye cevap verir ve bu cevabın içinde de kendi mac adresi vardır. 192.168.1.2’den gelen cevabı alan 192.168.1.3 ipli bilgisayar artık 192.168.1.2 ipli bilgisayarın mac adresini biliyor, yani onunla iletişime geçmek için yeterli bilgisi var.

Göndermek istediği paketin kaynak mac adresine kendi mac adresini, hedef mac adresinin yerine ise 192.168.1.2 ipli bilgisayarın mac adresini ekleyerek paketi gönderir.

Tam bu noktada eğer biz 192.168.1.3’ü yanıltır ve 192.168.1.2’nin mac adresi o değil bu diyerek kendi mac adresimizi yazarsak ne olur?

Paket bize gönderilir.

Peki, aynı paketi alıp 192.168.1.2’ye biz göndersek ve yanıt bize gelse bizde aldığımız cevabı tekrar 192.168.1.3’e gönderirsek ne olur?

192.168.1.3’ün 192.168.1.2’e gönderdiği tüm verileri kendi üzerimize almış oluruz ve eğer 192.168.1.2 bu ağda internete çıkmak için kullanılan modem, router, proxy veya benzeri bir cihaz ise

192.168.1.3’ün bütün internet faaliyetleri bizim kontrolümüz dahilinde gerçekleşir.

 

Subterfuge ile MITM’ın nasıl yapıldığını görelim.

SETUP
Kali makinasında Subterfuge ‘un en son sürümünü indiriyoruz;
$ wget https://subterfuge.googlecode.com/files/subterfuge_1.0-1_all.deb
Komutu yazarak yükleme işlemi yapıyoruz;
$ dpkg -i subterfuge_1.0-1_all.deb
Subterfuge a bağlı olan şeyler var ise onları da update ediyoruz.
$ apt-get update && apt-get -f install
Subterfuge u çalıştırıyoruz.
$ subterfuge

Sonra tarayıcımızdan 127.0.0.1 e giderek subterfuge arayüzüne ulaşıyoruz.


Arayüzde Settings kısmına tıklıyoruz ve ekrandaki ayarlamaları yapıyoruz.


Sonrasında MITM Vectors sekmesine tıklayarak zehirlemek istediğimiz IP adresini yazıyoruz.

Sonra Modules sekmesine tıklayarak Network View e tıklıyoruz ve Apply tuşuna basıyoruz.

IP adresi 192.168.4.67 olan kurban (victim) Linux makinayı görüyoruz. Burada Scan tuşu ile açık olan portları görebiliriz.

Kontrol etmek istediğimiz saldırı türünü de istersek Controls kısmındaki simgelerden(HTTP Injection,DoS Attack vs.) gerçekleştirebiliriz.

Kurban bilgisayardaki kişi eğer login olarak herhangi bir yere giriş yapıyor ise o bilgiler bizim elimize ulaşmış oluyor.

Siteye yaptığı girişin session bilgileri de elimize ulaşıyor.

Mesela kurban bir siteye giriş yapsın.

Ve bu bilgiler, log in tuşuna bastıktan sonra bizim Subterfuge ekranımıza düşmüş oluyor.

Bu şekilde router ve kurban bilgisayar arasında MITM saldısını gerçekletirmiş oluyoruz.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s