Tomcat Manager 使用者名稱和密碼配置
阿新 • • 發佈:2019-01-30
在Tomcat中,應用程式的部署很簡單,只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個檔案,並將其解壓。在瀏覽器中訪問這個應用的Jsp時,通常第一次會很慢,因為Tomcat要將Jsp轉化為Servlet檔案,然後編譯。編譯以後,訪問將會很快。另外Tomcat也提供了一個應用:manager,訪問這個應用需要使用者名稱和密碼,使用者名稱和密碼儲存在一個xml檔案中。通過這個應用,輔助於Ftp,可以在遠端通過Web部署和撤銷應用,當然本地也可以,本案例就是利用這個特性來構建後門程式的。
Tomcat不僅僅是一個Servlet容器,它也具有傳統的Web伺服器的功能:處理Html頁面。但是與Apache相比,它的處理靜態Html的能力就不如Apache。可以將Tomcat和Apache整合到一塊,讓Apache處理靜態Html,而Tomcat處理Jsp和Servlet.這種整合只需要修改一下Apache和Tomcat的配置檔案即可。
(一)檢查Tomcat設定。伺服器安裝了Apache Tomcat後會預設開放8080埠供外部連線,一般在瀏覽器中輸入“IP:8080”或者域名來訪問Apache Tomcat頁面,如圖1所示。
圖1 連線到Tomcat的頁面
(二)檢視Tomcat使用者配置檔案。Tomcat安裝完成後有一個配置檔案“tomcat-users.xml”,它位於Tomcat程式安裝目錄下的conf目錄下,直接開啟該檔案可以看到其中關於使用者名稱和密碼的明文值,如圖2所示,找到並記住包含“admin,manager”那一行的使用者名稱和密碼。(這裡的tomcat-user.xml指的是Catalina_base下的那個tomcat-users.xml檔案,而不是Catalina_home下的)
圖2 獲取使用者配置的使用者名稱和密碼
說明:
(1)有很多對tomcat不是很瞭解的管理員在安裝完Tomcat後並沒有修改預設密碼,使用者名稱是admin,密碼為空,如果是這種情況可以直接登入。
(2)如果使用者修改了該密碼,那麼其密碼一定儲存在“tomcat-users.xml”中,因此可以通過Webshell來獲取這個檔案的內容。
(三)進入Tomcat管理。Tomcat提供了線上管理,本案例也正式利用線上管理來構建後門的。在圖1中單擊左上角下面的“Tomcat Manager”連結後,會彈出一個要求輸入使用者名稱和密碼的視窗,該視窗跟Windows登入視窗有點類似,如圖3所示。
圖3 登入Tomcat管理應用
(四)檢視部署情況。在圖3中輸入從“tomcat-users.xml”檔案中獲取的具有管理員許可權的使用者名稱和密碼,驗證通過後進入部署管理頁面,如圖4所示。
圖4 部署管理頁面
說明:
(1)在部署管理頁面中可以“Start”(啟動)、“Stop”(停止)、“Reload”(過載)、“Undeploy”(刪除部署)已經部署的專案,單擊“Undeploy”會對檔案進行物理刪除。
(2)部署的資料夾是以*.war檔案的名稱,例如上傳的檔案是job.war,則在Tomcat目錄中會對應生成一個“job”資料夾 。
(五)部署JSP WebShell後門程式。在部署管理頁面的下方有一個“WAR file to deploy”,單擊瀏覽選擇一個已經設定好的後門war檔案,在本例中的後門程式為job.war,單擊“deploy”將該檔案部署到伺服器上,如圖5所示。
圖5 上傳後門war檔案到伺服器
說明
(1)部署是其檔案必須是war檔案。
(2)將winzip軟體安裝在系統中,然後將單一或者多個jsp後門檔案壓縮成一個壓縮檔案,壓縮成功後,將“*.zip”檔案更名為“*.war”即可。
(3)上傳檔案後,tomcat會自動進行部署並執行。
(六)測試後門程式。在位址列中輸入“部署檔名稱/jsp檔案”,例如在本例中其正確的訪問是“[url]http://127.0.0.1:8080/job/job.jsp[/url]”,如果設定正確會顯示如圖6所示的Webshell登入視窗。
圖6 登入webshell
(七)在Webshell中執行命令。在Webshell中輸入密碼後,進入到Webshell管理介面,預設顯示伺服器的一些資訊,在功能選單中選擇“執行命令”,並在執行命令輸入框中輸入“netstat -an”命令可以檢視網路連線等,如圖7所示。
圖7 執行命令
說明
(1)通過這種方式部署的Jsp後門程式具有較大許可權,可以執行新增使用者等危險命令。
(2)jsp後門中可以通過“檔案系統”模組來對檔案進行操作;通過“資料庫”模組來連線資料庫等操作;
(3)本案例構建後門也正是這裡,平時可以在系統中保留一個小的後門程式,如果後門程式被防毒軟體查殺或者被管理員發現並刪除掉了,則可以通過以上步驟重新進行部署,從而迴圈永久保留後門。
小結
本案例介紹的情況適合於管理員(admin)密碼為空的情況,同時也適合於獲取了tomcat中的tomcat-users.xml檔案中的使用者名稱和密碼的情況。一般來講內網相對防護要弱一些,因此該案例對於內網滲透時有一定的幫助。由於本人對jsp不是特別熟悉,尤其是部署設定,不知道在jsp中是否也可以進行諸如IIS中的嚴格許可權限制,能否禁止jspwebshell的執行,本案例是對伺服器攻防的一種探討,功能強大的應用程式往往一個弱小的漏洞就可以攻破整個系統。
後記
通過google對tomcat的一些關鍵字進行了搜尋,沒有遇到管理員為空的,我使用inurl:8080 關鍵字進行搜尋的(常用方法,其實修改下埠就能避免大部分這種攻擊),不知道還有什麼好的方法來進行搜尋