ARP SPOOFING (ARP POISONING)
Merhaba, bu yazımda sizlere arp spoofing’in ne olduğunu ve sanal makine üzerinden nasıl bir arp saldırısı yapabileceğimizi göstereceğim.
ARP (Address Resolution Protocol) Türkçe karşılığıyla Adres Çözümleme Protokolü yerel ağdaki IP adresi bilinen fakat MAC adresi bilinmeyen bir cihazın MAC adresini öğrenmesi için kullanılan bir protokoldür.
Bildiğimiz gibi yerel ağda bilgisayarlar MAC adresleriyle haberleşirler eğer IP adresi bilinip MAC adresi bilinmiyorsa ARP protokolü başlatılır.
ARP PROTOKOLÜ NASIL ÇALIŞIR?
Bir bilgisayar diğerine ulaşmak istediğinde elbette karşı öncelikle karşı tarafın kim olduğunu bilmesi gerekir. Network ortamında birbirleri ile iletişim kuran her cihazın bir ağ kart(network interface card) bulunmaktadır. Bir bilgisayar diğerine ulaşmak istediğinde karşı tarafı bilmesi gerekir.
Kullanıcı ; isterse belli bir IP adresiyle ,isterse de bilgisayar ismi ile iletişime geçmek istesin ,ağ kartları (network interface card) sadece MAC adresleriyle haberleşebilir. Cihazlar birbirlerinin ağ kartlarının üzerindeki fiziksel adreslerini MAC adresi) bilmeden iletişim kuramazlar.
ARP , bir IP adresinin hangi MAC adresine ait olduğunu bulmaya yarar.
Başka bir ifadeyle ; bir networkte bir cihaz , başka bir cihaz ile haberleşmek istediğinde , haberleşeceği cihazın MAC adresini bilmesi gerekir.
Bu yüzden bir cihaz başka bir cihaz ile iletişime geçmeden önce ARP sürecini başlatarak , iletişime geçeceği cihazın MAC adresini öğrenir.
İnternette bilgileri bazı requestler yani istekler yollayarak bilgiler sağlıyoruz. O da gidiyor internette hangi siteyse ona gönderiyor ve bize bazı cevaplar gönderiyor.
Yani hedef cihazımız gelsin kendi isteğini saldırganın bilgisayarına yapsın, ben o isteği alayım modeme (router) ileteyim. Modem cevabı saldırgan bilgisayara versin. Ben o cevabı aldıktan sonra geri benim hedef cihazıma ileteyim istiyorum.
Peki ben neden böyle bir şey yapmak istiyorum? Eğer bu bilgi transferi benim üzerimden olursa o zaman ben tüm bu giden gelen bilgilerin hepsini rahatlıkla görebilir ve inceleyebilirim. İşte ortadaki adam yani Man-in-the-middle bu yüzden var.
Saldırgan kendini hedefin ve modemin ortasına koymaya çalışıyor ve bunu yapmak için ele geçirdiği MAC adreslerini kullanıyor.
MAC adresi : bir bilgi alış verişi bir MAC adresinden diğer MAC adresine göre yapılıyor. Yani bir MAC adresinden diğer MAC adresine bir transfer yaptığımızda internetle cevap , istek yollamak tamamen bunları kullanarak yaptığımız işlemler.
Saldırgan gidecek hedef cihazına diyecek ki benim MAC adresim modemin MAC adresiyle aynı , daha doğrusu; hedef bilgisayara diyecek ki ben modemim. Modeme de diyecek ki ben hedef cihazım.
Ama aslında saldırgan ikisi de değil, saldırgan ortadaki adam. Saldırganın apayrı bir MAC adresi var. Fakat bu iki cihazı da kandıracağım diyecek.
Yani saldırgan bu 2 cihazı da kandıracak ve kendini ortaya konumlayacak ki gelen giden tüm trafik kendisinin üzerinden geçsin.
Böylece aslında kimse bir şey anlamayacak. Yani ne modem anlayacak ne de hedef bilgisayar. Çünkü hedef bilgisayardaki kişi internete girecek, maile giriyor vs. istediği her şeye giriyor.
Şüphelenmesi için herhangi bir sebep mevcut değil fakat saldırgan o sırada hedef bilgisayarın yaptığı her şeyi görebilir hale gelecek ve böylece tüm bilgilerini ele geçirecek.
İnternette ne yapıyor , nereyi geziyor , şifresi nedir vs. bu tarz bilgileri rahatlıkla çalabilecek.
MITMF — MAN IN THE MIDDLE FRAMEWORK İLE ARP SALDIRISI
1-İlk olarak sanal bir ağ oluşturma için sanal makinemize Kali Linux ve Windows 10 kuruyoruz.
2-Sonrasında bulunduğum ağdaki IP ve MAC adreslerini bulmak için Linux’ta terminale “netdiscover” yazıyoruz. Ağa bağlı IP adreslerini görüntülüyoruz (Resim 1.1). (Eğer istenirse nmap ile de ağa bağlı IP ’ leri bulabilirim.)
3-Sanal ağımı kurduktan sonra ilk olarak hedef bilgisayarım olan Windows’ta cmd komut satırını açıp “ifconfig” yazarak IP adresini öğrendim.
- Aşağıdaki bilgilerde hedef bilgisayarımızın IP adres olarak 192.168.177.133’ ü kullanıyor.
- Modemimiz 192.168.177.2 ’ yi kullandığı bilgisine ulaşıyoruz (Resim 1.2)
4- Daha sonra “arp -a” yazarak hangi IP adresi ağdaki yani ağa bağlı olan bilgisayarlarla iletişimi olan bilgisayarlardan hangi IP adresi hangi MAC adresine sahip bunları görüyoruz.(Resim 1.3)
Bu arp tablolarına bakarak saldırı altında olup olmadığımızı görebiliriz.
5- Linux ’ta terminale “ ifconfig ” yazarak IP adresimizi ve Ethernet ağını öğreniyoruz. Hedef bilgisayarımla aynı yerde olduğumuzu görüyoruz (Resim 1.4).
6- Sonrasında kali de 2 tane terminal açıp ilkine;
- “arpspoof –i eth0 -t [hedef ağ geçidi] [hedef IP adresi]”(Resim 1.5) yazıyoruz.
Diğer terminale ise;
- “arpspoof –i eth0 -t [hedef IP adresi] [hedef ağ geçidi]”( Resim 1.6) yazarak ağa bazı mesajlar yolluyoruz ve bu yolladığımız mesajlarla kendi hedeflediğim IP adresimize MAC adresimizi tanımlamaya çalışıyoruz.
- Aşağıdaki gibi yazarak hedef bilgisayarıma, modemin MAC adresi benim MAC adresimle aynı diyoruz (Resim 1.5)
- -Enter’a basarak saldırımı başlatıyorum.
- Aşağıda da yukarıda ki işlemin tam tersini yapıyorum yani benim MAC adresim modemin MAC adresiyle aynı diyorum.(Resim 1.6)
- Enter’ a basarak saldırımı başlatıyorum (Resim 1.7)
- Şu anda hem modemi hem de cihazı yani kurbanı kandırmış oluyorum.
7- Eğer ki başarılı bir saldırı yaptıysam hem modemi hem cihazı kandırdım. Saldırımın başarılı olduğunu anlamak için tekrar arp tablosunu Windows üzerinde çalıştırıyorum (Resim 1.8)
- Resimde görüldüğü gibi modemin MAC adresleri değişti. Modemin MAC adresi 00–50–56-fe-c0–65 iken, 00–0c-29–5f-1d-1c olmuştur.
- Yani hacker (kali) ile modem MAC adresim aynı olmuştur.
- Bu işlem sonucunda saldırım başarılı olmuştur ve artık ortadaki adam olarak yoluma devam edebilirim.
8- Ortadaki adam olduğuma göre şimdi de gelen verileri başka yerlere iletmem gerekir. Bunun içinde kali de IP forwarding özelliğimin açık olması gerekir.
- IP forwarding durumunu kontrol etmek için terminale “sysctl net.ipv4.ip_forward” diyerek durumunu kontrol ettim özelliğimin açık olmadığını anladım.
- -IP forwarding özelliğini açmak içinse “ echo “1” > /proc/sys/net/ipv4/ip_forward ” yazarak bu özelliği açtım. Kapatmak içinse tam tersini yazıyoruz. Yani bir yazdığımız yere sıfır yazıyoruz (Resim 1.9).
10- Yukarıdaki işlemlerde saldırımızı manuel şekilde yaptık. Şimdi wireshark ya da ağ analiz araçlarından herhangi biriyle ağ trafiğini izleyebiliriz. Fakat ben bir framework üzerinden ilerleyeceğim. Bu framework’ ümün adı MITMF dir.
MITMF indirme adımları :
Terminale geliyoruz ve aşağıdaki komutları sırasıyla yazıyoruz.
- apt-get update
- apt-get install mitmf
- mitmf yazarak framework’ ü indirip başlatabiliriz (Resim 1.10).
- Eğer aşağıda indirme aşamasında “Importerror: no modüle named bdfactory” şeklinde bir sorunla karşılaşırsak “rm -f /usr/share/mimf/plugins/filepwn.py” yazarak sorunumuzu çözebiliriz.
11- Aslında bir önceki yaptığımız saldırıyı orada manuel yaparken MITMF ile otomatik yapmış oluyoruz.
12- Şimdi MITMF çalıştırdıktan sonra “mitmf — arp — spoof — gateway [gateway IP] — target [target IP] -i [interface] ” yazarak ortadaki adam olduğumuzdan emin olabiliriz (Resim 1.11)
13-Tekrardan arp tablolarına baktığımızda tabloyu zehirlediğimizi görürüz (Resim 1.12).
14- Şimdi internetten bir yere girip mail, web sitesi vb. yerlere giderek bilgileri çalalım.
15-Bunun için ben “www.unicornitems.com” isimli bir siteye girdim. “MY ACCOUNT” dediğimde giriş sayfası açıldı (Resim 1.13).
16-Karşıma gelen sayfada mail adresi ve şifreyi yazıp log in yapıyorum ve hemen sonrasında Kali Linuxta bakıyorum (Resim 1.14).
17- Kali ’ ye gelip baktığımda ise girdiğim mail adresi ve şifrenin görüldüğünü görüyorum (Resim 1.15).
Evet bu yazımda Arp saldırısının ne olduğunu ve örnek bir Arp saldırısını gösterdim. Arp saldırısının uygulama videosuna aşağıdan ulaşabilirsiniz:
İyi çalışmalar dilerim…