Tomcat 漏洞總結


①漏洞介紹

默認安裝Tomcat自帶啟用了管理后台功能,該后台可直接上傳war對站點進行部署和管理,通常由於運維人員的疏忽,導致管理后台空口令或者弱口令的產生,使得黑客或者不法分子利用,該漏洞直接上傳WEBSHELL導致服務器淪陷。

②漏洞常見場景

使用了Apache tomcat,並且開啟了 manager/html 用戶權限的網站。
Tomcat5默認啟用用戶,但非管理員權限,沒有爆破限制。
Tomcat6默認不啟用用戶,6.0.47及后面的版本默認密碼更改為" ",
並且存在爆破限制。

③漏洞產生原理

因為配置不當被攻擊者利用進入后台部署項目(war包,該功能是正常功能)獲取到網站權限。

④漏洞靶機搭建

1、Tomcat下載地址

https://tomcat.apache.org/download-90.cgi      
https://tomcat.apache.org/download-80.cgi
https://tomcat.apache.org/download-70.cgi 
https://archive.apache.org/dist/tomcat/tomcat-9/
https://archive.apache.org/dist/tomcat/tomcat-8/
https://archive.apache.org/dist/tomcat/tomcat-7/

2、下載Tomcat
3、修改\conf\tomcat-users.xml

<!--
<role rolename="tomcat"/>    
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="rolel" password="tomcat" roles="role1"/>
-->

改為:

<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
-->
  <role rolename="tomcat"/>
  <user username="root" password="root" roles="tomcat,manager"/>

4、配置完成后,啟動tomcat
訪問 http://www.site.com/manager/html 進行登錄。

漏洞影響版本

弱口令登錄爆破:Apache Tomcat5.0.0.M1 to 6.0.45
Getshell:Apache Tomcat All Version

漏洞修復版本

弱口令登錄爆破:Apache Tomcat > 6.0.45

漏洞利用方式

弱口令:使用爆破工具對http://www.site.com/manager/html進行爆破或者手工嘗試。

Getshell:
a.生成war包:"C:\Program Files\Java\jdk1.8.0_161\bin\jar.exe" -cvfindex.war *
b.登錄manager/html,上傳war包

漏洞利用工具:
burpsuite模塊:Intruder模塊(Payload type:Custom iterator)
burpsuite插件:https://github.com/WallbreakerTeam/TomcatBrute
metasploit : auxiliary/scanner/http/tomcat_mgr_login

漏洞防御方法

1、注釋掉 \conf\tomcat-users.xml 用戶部分;
2、刪掉非必要的 webapps
3、限制IP登錄,修改 apache-tomcat-path\conf\Catalina\localhost\manager.xml :

<Context privileged="true" antiResourceLocking="false"  docBase="${catalina.home}/webapps/manager">
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"   allow="127.0.0.1|:1|0:0:0:0:0:0:0:1localhost"/>
</Context>


免責聲明!

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



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