ARP Spoofing ile Shell Açma - MITMf + FilePwn

MITMf (Man-In-The-Middle Attack Framework), MITM saldırıları için byt3bl33d3r tarafından geliştirilen bir MITM saldırı aracıdır.
MITMf içerisinde çok sayıda hazır saldırı modülü bulundurmaktadır. Bunun yanında yeni modüllerin geliştirilmesi ve entegrasyonu oldukça kolaydır. Örnek olarak bir kaç modülüne bakacak olursak;
  • ScreenShotter: Kurbanın browser'ından ekran görüntüsü alır.
  • SSLstrip+: HSTS bypass için kullanılacak modül. 
  • Spoof: Spoofing kullanılacak modülleri başlatmak için kullanılır, örnek modüller: ARP, ICMP, DHCP ve DNS spoofing.
  • BeEFAutorun: Kurban'ın browser tipine göre BeEF modüllerini çalıştırır. 
  • AppCachePoison: Uygulama cache'lerini zehirler.
  • BrowserProfiler: Kurbanların browser'larında yüklü olan pluginleri gösterir. 
  • FilePwn: HTTP üzerinden Backdoor Factory and BDFProxy kullanarak arka kapı yerleştirmemizi sağlar.
  • Inject: HTML içeriğine müdahale etmemizi sağlar. (ör: js veya html kod ekleme) 
  • BrowserSniper: Güncellenmemiş browser pluginleri üzerinde drive-by saldırıları dener.
  • JSkeylogger: Kurbanın açmış olduğu web sayfalarına Javascript yardımıyla keylogger gömer. 
  • Upsidedownternet: Kurbanın ulaştığı sayfalardaki resimler 180 derece çevrilir.
Kurulum


MITMf'i yüklemek için aracın kaynak kodlarının bulunduğu Github sayfasından projeyi clone edip, bağımlılıkları yükledikten sonra mitmf.py isimli python dosyasını çalıştırmak yeterlidir. Ayrıntılar şu sayfada yer almaktadır.
Kolay yol ise direkt olarak Kali linux'un deposundan kurulumu yapmaktır. Depodan kurulumu yapmak için kullanılacak komut;
  • apt-get install mitmf
Apt paket yöneticisi aracı bağımlılıklarıyla beraber kuracaktır.

FilePwn

Uygulamasını yapacağımız saldırıda FilePwn modülünü kullanacağız. Uygulamalar sırasında saldırgan işletim sistemi olarak Kali linux, kurban ise Windows 7 kullanmaktadır.MITMf'in içerisinde bulunan modüllerden olan FilePwn ile trafiğini üzerimize aldığımız kurbanların indirdikleri dosyaların içerisine BackdoorFactory Proxy (BDFProxy) ile bir arka kapı gömeceğiz.
Öncelikle MITMf'in config dosyasını saldırgan makinesine göre düzenlememiz gerekmektedir.
  •  /usr/share/mitmf/config/mitmf.conf 
Dosyasının içerisinde bulunan [FilePwn] tabının altında hedefler için belirtilen alanları kendimize göre düzeltmeliyiz. FilePwn modülü zip, tar ve exe dosyalarına arka kapıyı ekleyebilmektedir.
Uygulama sırasında 32bit windows mimarisi için olan arka kapı kullanılmıştır. Bunun için konfigürasyon dosyasında bulunan [[[[WindowsIntelx86]]]] ve diğer tabların altında bulunan özellikler gerekli şekilde düzeltilmiştir. Düzeltilecek özellik, ileri seviye bir şey yapılmadığı taktirde sadece HOST değerini değiştirmektir. Burada girilen HOST değeri, MSFPAYLOAD kısmında belirtilen Metasploit payloadında kullanılacak olan LHOST parametresinin değeridir. PORT değerinin default olarak kalmasında bir sıkıntı yoktur. HOST alanları doğru şekilde girildikten sonra MITMf bizim yerimize Metasploit üzerinde handler'ları başlatacaktır. Windows 32bit için olan sekmenin için son görünüm aşağıdaki gibidir.
Yapılan değişiklikler kaydedildikten sonra sıra Metasploit tarafında yapılması gerekenlerde. Temel olarak yapacağımız Metasploit üzerinde msgrpc modülünü yüklemek ve gerisini MITMf tarafına bırakmak. MITMf'in konfigürasyon dosyasında bulunan [MITMf] tabının altında bulunan [[Metasploit]] alanında yer alan rpcip = 127.0.0.1 ve rpcpass = abc123 değerleri Metasploit üzerinde RPC ile komut çalıştırıp bizim yerimize tüm handler'ları arkada hazır tutmasını sağlıyor.

Yapacağımız iş, msgrpc modülünü konfigürasyon dosyasında belirtilen şekildeki parola ve ip ile başlatmak. Modül başlatıldıktan sonra ARP Spoofing ile trafiği üzerimize alacağız ve kurbanın düşmesini beklemeyeceğiz.
Metasploit üstünde msgrpc modülünü aktif hale getirmek için;
  • load msgrpc Pass=abc123
komutu girilebilir. Default olarak IP değeri konfigürasyon dosyasında bulunan alan ile aynıdır bu yüzden ek bir parametreye gerek yoktur. Fakat parola alanı modül her yeniden başlatıldığında random bir şekilde atanmaktadır. Bu yüzden MITMf konfigürasyon dosyasında bulunan alandaki ile aynı parolanın girilmesi gerekmektedir.
Öte taraftan MITMf ile ARP Spoofing'i gerçekleştirelim ve kurbanı beklemeye koyulalım;
  • mitmf --interface eth0 --target 172.17.7.116 --gateway 172.17.7.254 --arp --spoof --filepwn
Girilen parametreleri açıklamak gerekirse;
interface alanı hangi arayüzden spoofing işlemini gerçekleştireceğimizi belirtir. Target alanı, hangi IP veya IP'lere saldırı gerçekleştireceğimizi belirtir. Gateway alanı, ARP Spoofing işlemi sırasında kurban ile hangi IP (router adresi) arasında girileceğini belirtir. Arp ve spoof parametreleri, yapılacak olan spoofing işleminin ARP olduğunu belirtiyor. FilePwn parametresi ise bahsini ettiğimiz arka kapıyı yerleştirecek olan modülün çalışmasını sağlar.

Kurban http bir web sitesini ziyaret ediyor ve burdan çalıştırılabilir bir dosya indiriyor.

Görüldüğü üzere dosya alınıyor, shellcode ekleniyor ve kurbana yollanıyor. Bundan sonrasında kullanıcı dosyayı çalıştırdığı vakit, MITMf'in msgrpc modülü aracılığıyla açık olan Metasploit ekranımıza session düşecektir.

Var olan oturumları listelemek için sessions komutunu kullanabiliriz. Listelenen oturumlardan biriyle iletişime geçmek için sessions -i [ID] komutunu kullanmak yeterlidir.

Resimde görüldüğü üzere kurbanın bilgisayarında meterpreter shell açılmıştır.

Yorumlar

Bu blogdaki popüler yayınlar

1. Geleneksel Stajyer CTF Soru ve Cevapları

2. Geleneksel Stajyer CTF Soru ve Cevapları - 2017

ARP Poisoning ile Browser Exploitation - MITMf + BeEF + Metasploit