作者:
夸父追日
·
2015/09/10 10:22
tomcat
是一個開源Web
伺服器,基於Tomcat
的Web
執行效率高,可以在一般的硬體平臺上流暢執行,因此,頗受Web
站長的青睞。不過,在預設配置下其存在一定的安全隱患,可被惡意攻擊。
0x00 測試環境
Win2003
Tomcat6.0.18 安裝版
0x01 安全驗證
一.登陸後臺
首先在win2003
上部署Tomcat
,一切保持預設。
Tomcat
的預設後臺地址為:http://域名:埠/manager/html
.進入之後彈出登陸對話方塊,Tomcat
預設的使用者名稱admin
,密碼為空。
Tomcat
的一些弱口令:
tomcat tomcat
admin 空
admin admin
admin 123456
然後來看一下Tomcat
安裝版預設的tomacat-users.xml
配置檔案
注:Linux
平臺及Windows
平臺免安裝版本不受該漏洞影響。
二.獲取Webshell
在Tomcat
的後臺有個WAR file to deploy
模組,透過其可以上傳WAR
檔案。Tomcat
可以解析WAR
檔案,能夠將其解壓並生成web
檔案。
我們將一個jsp
格式的webshell
用WinRar
打包然後將其字尾改名為WAR
(本例為no.war
),這樣;一個WAR
包就生成了。最後將其上傳到伺服器,可以看到在Tomcat
的後臺中多了一個名為/no
的目錄。
點選該目錄開啟該目錄jsp
木馬就執行了,這樣就獲得了一個Webshell
。
三.獲取伺服器許可權
Tomcat
服務預設是以system
許可權執行的,因此該jsp
木馬就繼承了其許可權,幾乎可以對Web
伺服器進行所有的操作。
然後建立使用者: net user Boom shellcode /add
新增到管理員使用者組: net localgroup administrators Boom /add
然後可以幹什麼事我就不說了
0x02 安全配置
一.修改tomacat-users.xml或刪除Tomcat後臺
修改\conf\tomacat-users.xml
刪除Tomcat
後臺 \webapps
全部刪除就好。
二.禁止列目錄
在IIS
中如果設定不當,就會列出Web
當前目錄中的所有檔案,然而在Tomcat
也不例外。如果瀏覽者可以在客戶端瀏覽Web
目錄,那將會存在較大的安全隱患,因此我們要確認Tomcat
的設定中禁止列目錄。\conf\web.xml
下
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
確認是false
而不是true
。
三.服務降權
預設安裝時Tomcat
是以系統服務許可權執行的,因此預設情況下幾乎所有的Web
伺服器的管理員都具有Administrator
許可權,存在極大的安全隱患,所以我們的安全設定首先從Tomcat
服務降權開始。
首先建立一個普通使用者,為其設定密碼,將其密碼策略設定為“密碼永不過期”,比如我們建立的使用者為tomcat
。然後修改tomcat
安裝資料夾的訪問許可權,為tomcat
賦予Tomcat
資料夾的讀、寫、執行的訪問許可權,賦予Tomcat
對WebApps
資料夾的只讀訪問許可權,如果某些Web
應用程式需要寫訪問許可權,單獨為其授予對那個資料夾的寫訪問許可權。
“開始→執行”,輸入services.msc
開啟服務管理器,找到Apache Tomcat
服務,雙擊開啟該服務的屬性,在其實屬性視窗中點選“登入”選項卡,在登入身份下選中“以此帳戶”,然後在文字框中輸入tomcat
和密碼,最後“確定”並重啟伺服器。這樣tomcat
就以tomcat
這個普通使用者的許可權執行。
然後重啟服務,就生效了。這樣普通使用者tomcat
執行的Tomcat
其許可權就大大地降低了,就算是攻擊者獲得了Webshell
也不能進一步深入,從而威脅web伺服器的安全。
四.關閉war自動部署
關閉war
自動部署 unpackWARs="false" autoDeploy="false"
。防止被植入木馬等惡意程式
應用程式部署與tomcat
啟動,不能使用同一個使用者。
本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!