Keşif
Gobuster ile dizin taraması yaparak /panel dizinini buldum:
gobuster dir -u http://<hedef>/ -w /usr/share/wordlists/dirb/common.txt
Dosya Yükleme Filtresini Atlatma
/panel dizini .php uzantılı dosyaları kabul
etmiyordu. Farklı uzantılar denedim ve .php5 uzantısının
sunucu tarafından çalıştırılabilir kabul edildiğini fark ettim.
pentestmonkey'in hazır PHP reverse shell scriptini indirip kendi IP/port
bilgilerime göre düzenledim, .php5 uzantısıyla panele yükledim
ve dosyayı tarayıcıdan çağırarak bağlantıyı tetikledim.
Yetki Yükseltme
Sisteme eriştikten sonra SUID bitine sahip dosyaları aradım:
find / -type f -name user.txt 2> /dev/null
find / -type f -user root -perm -u=s 2> /dev/null
Taramada SUID bitli bir python binary'si tespit ettim. GTFOBins üzerindeki hazır python komutunu kullanarak doğrudan root shell elde ettim.
Faydalı Kaynaklar
- pentestmonkey PHP Reverse Shell — github.com/pentestmonkey/php-reverse-shell
- GTFOBins — python — gtfobins.org/gtfobins/python