16.Tomcat弱口令 && 后台getshell漏洞


Tomcat7+ 弱口令 && 后台getshell漏洞

Tomcat版本:8.0

環境說明

Tomcat支持在后台部署war文件,可以直接將webshell部署到web目錄下。其中,欲訪問后台,需要對應用戶有相應權限。

Tomcat7+權限分為:

  • manager(后台管理)
    • manager-gui 擁有html頁面權限
    • manager-status 擁有查看status的權限
    • manager-script 擁有text接口的權限,和status權限
    • manager-jmx 擁有jmx權限,和status權限
  • host-manager(虛擬主機管理)
    • admin-gui 擁有html頁面權限
    • admin-script 擁有text接口權限

這些權限的究竟有什么作用,詳情閱讀 http://tomcat.apache.org/tomcat-8.5-doc/manager-howto.html

用戶tomcat擁有上述所有權限,密碼是tomcat

正常安裝的情況下,tomcat8中默認沒有任何用戶,且manager頁面只允許本地IP訪問。只有管理員手工修改了這些屬性的情況下,才可以進行攻擊。

 

這篇文章其實跟我上一篇:12.Weblogic 弱口令 && 后台getshell漏洞 都是一樣的套路,只是tomcat中間件使用較多,所以需要拿出來另外復現

上篇文章有的小白問為什么需要上傳war包,為什么不是tar.zip一類的,這里做一個說明:

war包是用來進行Web開發時一個網站項目下的所有代碼,包括前台HTML/CSS/JS代碼,以及后台JavaWeb的代碼。

當開發人員開發完畢時,就會將源碼打包給測試人員測試,測試完后若要發布則也會打包成War包進行發布。War包

可以放在Tomcat下的webapps或word目錄,當Tomcat服務器啟動時,War包即會隨之解壓源代碼來進行自動部署。

我們依舊使用docker搭建漏洞靶場環境,一般來說tomcat默認應該是在8080端口,

打開tomcat管理頁面 http://192.168.0.132:8080/manager/html,就是我們正常訪問tomcat頁面:

輸入弱密碼 tomcat:tomcat,即可訪問后台:

先將jsp大馬壓縮為zip,再將zip后綴改名為war,然后上傳war包:

點擊上傳:

 

可以發現我們已經上傳成功!

我們嘗試訪問:http://192.168.0.132:8080/bmjoker/bmjoker.jsp

成功訪問我們上傳的jsp大馬!

這只是一種拿shell的方法,下面我用msfconsole來getshell,當然首先要選對模塊 :exploit/multi/http/tomcat_mgr_upload

這里發現已經可以成功反彈shell,嘗試用msfvenom來作一個后門

復制下面的木馬,在靶機里面寫成.sh文件格式,畢竟.sh是linux的可執行文件

執行,並在本機開啟端口監聽:

可以看到shell已經反彈成功

 

修復方案:

1、在系統上以低權限運行Tomcat應用程序。創建一個專門的 Tomcat服務用戶,該用戶只能擁有一組最小權限(例如不允許遠程登錄)。

2、增加對於本地和基於證書的身份驗證,部署賬戶鎖定機制(對於集中式認證,目錄服務也要做相應配置)。在CATALINA_HOME/conf/web.xml文件設置鎖定機制和時間超時限制。

3、以及針對manager-gui/manager-status/manager-script等目錄頁面設置最小權限訪問限制。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM