Bettercap
Last updated
Last updated
"Man-in-the-Middle" (MITM), Türkçe olarak "Ortadaki Adam" anlamına gelir. Bu tür bir saldırıda, bir saldırgan iletişim kurmak isteyen iki taraf arasına girer ve onların arasında veri trafiğini kontrol eder. Bu, saldırganın, iletişimi izlemesine, dinlemesine veya hatta manipüle etmesine olanak tanır.
ARP (Address Resolution Protocol) saldırısı, ağ güvenliğini tehlikeye atan bir tür ortadaki adam (Man-in-the-Middle) saldırısıdır. Bu saldırıda, saldırgan ağdaki bir cihazın (örneğin, bir bilgisayarın veya yönlendiricinin) IP adresini alır ve kendi MAC adresiyle ilişkilendirir. Böylece, saldırgan ağdaki diğer cihazlara, özellikle de ağ geçidi gibi önemli cihazlara, sahte IP ve MAC adresleri sağlar.
Bu saldırı, ağda iki cihaz arasındaki iletişimi etkiler. Örneğin, bir bilgisayarın IP adresiyle iletişim kurmak isteyen diğer cihazlar, saldırganın sahte MAC adresine yönlendirilir. Bu durumda, saldırgan tüm trafiği gözlemleyebilir, manipüle edebilir veya hatta çalmak için kullanabilir.
Bettercap, ağ saldırıları gerçekleştirmek, ağ trafiğini izlemek ve analiz etmek için kullanılan bir açık kaynaklı ağ güvenlik aracıdır. Bu araç, özellikle ağ güvenliği uzmanları ve pentester'lar (penetrasyon test uzmanları) tarafından kullanılır. Bettercap, MITM (Man-in-the-Middle) saldırıları, ARP spoofing, DNS spoofing gibi çeşitli saldırılar gerçekleştirebilir. Ayrıca ağ trafiğini izleyebilir, analiz edebilir ve belirli protokolleri manipüle edebilir. Bunlar, ağ güvenliğini test etmek ve güvenlik açıklarını tespit etmek için kullanılır.
Öncelikle apt-get install bettercap komutu ile bilgisayarımıza bettercap uygulamasını kuruyoruz.
Bettercap aracı ile istenilen sonuca toplamda 4 fazda ulaşırız:
1. Analiz Fazı 2. Saldırı Fazı 3. Görüntüleme Fazı 4. Hassas Verilerin Elde Edilme Fazı
Aracımızda bettercap –help komutu ile çeşitli başlatılma parametrelerini görebilmekteyiz.
Kullanılması işlevsel olacak parametreler:
bettercap –help komutu ile ilgili bettercap toolumuzun çeşitli başlatılma parametrelerini görebilmekteyiz. -iface (string): Ağınızdaki bağlantı arayüzlerini görüntüleyip ilgili IP numaranızı öğrenmenizi sağlar. Komut işletimcisinde çalıştırılan ifconfig komutundan farkı IP adresinizi bulmanın yanısıra ilgili IP adresinin hangi bağlantı arayüzü vasıtasıyla cihazınıza atandığını belirtir. -autostart (string): komutu ile bettercap başlatıldığında otomatik olarak başlatılmasını istediğiniz modülleri arasına virgül koymak şartıyla girdiğimiz takdirde istenilen modüller başlatılacaktır.
-caplet (string): Bettercap capletleri veya .cap dosyaları, Bettercapin etkileşimli oturumlarını kodlamanın güçlü bir yoludur; bunları Metasploitin .rc dosyaları olarak düşünün.Bettercap aracımızıda yüklü default .cap dosyaları listesi:
-debug:komutu hata aldığımız takdirde hata ayıklama prosedürünü çağırarak ilgili hatanın giderilmesi için uygulamayı çalıştırır. -env-file (string): ilgili komut uygulama harici bir çevresel değişkeni bettercap ile kullanılabilmesine imkan tanır.
Man in the Middle(MITM) saldırısına başlamak için öncelikle ifconfig komutu ile ilgili cihazımızın kullandığı internet arayüzlerini(interface) ve bilgilerini görmemiz gerekecektir.
Eğer harici bir wifi kartı taktıysanız ilgili çıktıda wlan0 olarak karşımıza çıkacaktır. Eth0 da yer alan inet 192.168.136.129 adresi cihazımızın IP bilgisini içermektedir. İlgili IP adresi router tarafından tarafımıza atanan IP adresimiz olarak adlandırırız. Bettercap aracımızda interface belirtmek üzere kullanacağımız bir parametre bulunmaktadır. Biz burada sanal makinemizde nat ağında olduğumuz için eth0 network arayüzünü seçeceğiz. Bunun için bettercap -iface eth0 komutunu kullanmamız gerekmektedir.
Şu anda bettercap çalışmaktadır.Bu sırada help komutu ile bettercap aracımızda çalışan modülleri görüntüleyebilirsiniz.
Hedef makinenin IP adresini öğrenmek M.I.M için önceliğimiz olmalıdır. Bağlandığımız Router cihazımıza bağlı diğer IP adreslerini tespit etmek için net.probe modulünü kullanmak kritik bir önem taşımaktadır.
Aşağıda ilgili modülün net.probe on komutunun çıktısı bulunmaktadır. Ağımızdaki diğer IP adreslerini bizlere sunmuştur.
Daha detaylı ve düzenli bir görünüm elde etmek için net.show komutunu kullanarak ağımızdaki diğer cihazların IP, MAC adresi, Makine adı gibi kritik bilgilere ulaşabiliriz.
Bettercap bu bilgilere ARP taraması yaparken, ağdaki cihazlara ARP istekleri gönderir ve bu isteklere yanıt veren cihazlardan gelen bilgileri kullanarak IP ve MAC adreslerini toplar. Bu bilgiler daha sonra kullanıcıya sunulur veya işlenir. Peki ilgili IP adreslerini Bettercap nasıl topllar ve bize sunar? IP taraması yapmak için Bettercap, altında çalışan birçok farklı modül ve yetenek sunar. Bunlardan bazıları: ARP Scan (Arp Taraması): Bettercap, ağdaki cihazları tespit etmek için ARP taraması yapabilir. Bu, ağda bulunan cihazların IP ve MAC adreslerini toplar. MDNS Scan (Multicast DNS Taraması): Bettercap, Multicast DNS protokolü kullanılarak ağdaki cihazları tespit edebilir. Bu, ağdaki çeşitli cihazların isimlerini ve IP adreslerini ortaya çıkarabilir. DHCP Client List Scan (DHCP İstemci Listesi Taraması): Bettercap, DHCP istemci listesini kullanarak ağdaki cihazları tespit edebilir. Bu, ağdaki dinamik olarak IP adresi atanmış cihazların listesini sunar. Nmap Entegrasyonu: Bettercap, Nmap gibi harici araçları kullanarak daha kapsamlı tarama işlemleri yapabilir. Nmap, farklı protokolleri kullanarak detaylı port taramaları ve hedef cihazların hizmetlerini belirleme gibi işlevler sunar.
Bu tablodaki gateway adresi M.I.M saldırısı anlamamız için çok önemli.
Hedef IP’mizi 192.168.136.130 olarak belirleyelim.Aşağıda hedef cihazımızın bilgilerini görmektesiniz:
Windows hedef cihazımızda arp -a komutu ile ağıımızda olan saldırdığımız Kali Linux makinemize ait IP ve MAC adresini görmekteseniz. İlgili Kali Linux makinemizin: IP adresi: 192.168.136.129 ve MAC Adresi: 00-0c-29-7e-8f-b8
M.I.M saldırısı bu noktada 192.168.136.129 IP numaralı Kali Linux cihazımızın MAC adresini, Gatewayin MAC adresi ile değiştirerek ağa bağlı olan hedef Windows makinesinin web isteklerini biz routermışız gibi bizim üstümüzden ilgili network serverlarına iletilecektir.
help arp.spoof komutu ile ilgili modulün parametrelerine göz atalım. Gerekli konfigürasyonları yaptıktan sonra saldırımızı başlatabiliriz. Göründüğü üzere arp.spoof.fullduplex default olarak false. Bunu set arp.spoof.fullduplex true komutu ile true durumuna ayarlamamız gerekmektedir.
Ardından set arp.spoof.targets [Hedef IP] komutu ile saldıracağımız hedef IP adresini bettercap toolumuz için hedef göstermeliyiz. arp.spoof on komutu ile de saldırımızı başlatmış olacağız.
Ek bilgi: Eğer hedef makinenin web faaliyetlerini izlemek gibi bir amacınız yoksa sadece ağdan düşürmek istiyorsanız set arp.spoof.targets [Hedef IP]; arp.ban on komutu kullanılabilmektedir. Bu komut hedefe router tarafından verilen IP adresinin router tarafından yasaklanmasına dayanmaktadır.
Saldırıyı başlattıktan sonra aşağıdaki ekran görüntüsünde görüldüğü üzere saldırı yapan Kali Linux makinemizin Mac adresi Gateway Mac adresi ile aynı oldu! Aradaki farkı ilk arp -a komutu ile saldırıyı başlattıktan sonra çalıştırılan arp -a komutunun çıktılarından doğrulayabiliriz. Hedef cihazın web isteklerini artık okuyabiliriz.
Saldırı fazından sonra net.sniff modülümüzü kullanmalıyız. net.sniff on komutu ile ilgili hedef makinenin routerımıza attığı istekleri okuyabilir durumda olacağız. Hedef Windows makinemiz ile Facebook web sitesine giriş yapalım.
net.sniff on komutu ile izlediğimiz facebook sitesine istek var mı tespit edelim! Bunu terminalimizin sol üst barında bulunan Actions -> Find kısmında web istekleri arasında bulunmak istenilen aktiviteye ait doğru kelimeleri yazarak kolayca aratabiliriz. Örneğin; "website ismi,username,username,usr,password,passwd,vb.."
Artık istediğimiz üzere hedef makinenin HTTP adresli web isteklerini dilediğimiz gibi izleyebiliriz!
HTTP trafiğini izlemek ve manipüle etmek, HTTPS trafiğini izlemek ve manipüle etmekten daha kolaydır. HTTP, açık metin protokolü olduğu için, HTTP istekleri ve yanıtları okunabilir ve manipüle edilebilir.
Ancak, HTTPS, HTTP üzerinde SSL/TLS (Secure Sockets Layer/Transport Layer Security) protokollerini kullanarak şifrelenmiş bir iletişim kanalı oluşturur. Bu şifreleme, iletişimi dinlemek ve içeriğine müdahale etmek için geleneksel MITM saldırılarına karşı koruma sağlar. Dolayısıyla, Bettercap gibi araçlar, HTTPS trafiğini izlemekte ve manipüle etmekte daha sınırlıdır. Bu yüzden önceki örneğimizde yer alan facebook sitesine giden sadece istekleri görüntüleyebiliriz. Gönderilen verileri okuyamayız.
Bir örnek daha yapalım ve hedefin girmiş olduğu hassas bilgileri görüntüleyelim. Hedef makinemizden http adresli "unicornitems.com/my-account/" adresine giriş yapıp rastgele üyelik bilgileriyle giriş yapmayı deneyelim:
Kullanıcı bilgileri rastgele olduğu için uyarı mesajı döndü fakat amacımız üyelik girişi değil.
Saldırı yaptığımız Kali Linux makinemizde dinlediğimiz ver içinden girilen kullanıcı adı ve parolası bilgilerini kontrol etmek için password kelimesini aratıyoruz ve hedef makinemizin girmiş olduğu bilgileri görüntüleyebiliyoruz!Tebrikler!