Subterfuge ile Middle Attack Man in The Man in the middle saldırıları, saldırganın hedefindeki bilgisayarla 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ığı; Switch herhangi bir porttan gelen bir ağ paketini alır. Aldığı paketin mac adresi anahtarın mac adres tablosu nda yoksa bunu mac adres tablosuna ekler. 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 bilgisayarlar 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 time out 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. Bu da 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 (Kurulum) Kali makinasında Subterfuge un en son sürümünü indiriyoruz; $ wget https://subterfuge.googlecode.com/files/subterfuge_1.0-1_all.d eb 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 istediğimiz adresini yazıyoruz. sekmesine tıklayarak zehirlemek IP
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.