我們前面分享了TOMCAT***的一點小小經驗。下面我們分享一下最多見和簡單的Jboss***。Jboss一個基於J2EE的開放源代碼的應用服務器,JBoss核心服務不包括支持servlet/JSP的WEB容器,通常與Tomcat或Jetty綁定使用。JBoss的默認端口是8080 ,也有人常常配置爲80,許多管理員部署完Jboss後不進行安全加固,對外開放了管理界面,且爲默認口令,同時有些版本的Jboss也有關的一些漏洞能夠利用。***者們常利用這個配置不當或是漏洞,進行***的上傳,而後,嘿。。JSP馬不少,功能就不討論了。web
前幾日,大俠處理了一個安全應急事件,***者就是利用這個來進行***的。我把過程回放一下,但願對你們有所幫助。shell
一、漏洞或管理界面的查找,用谷歌。直接輸入jmx-console,查找開了jmx-console管理界面的網站,定然會有許多收穫。或是查找常見JSP***的文件名,也會有收穫,都是別人已經***的站點。好比有一個***,它有多個目錄,你只須要搜索任意或多個目錄名或文件名:console-mgr、idssvc、iesvc、wstats、zecmd、zmeu。一不當心 就發現有N個被***的網站,甚至多個爲政府網站。安全
以上三個圖片,就是被上傳的***。服務器
二、***的上傳。經過管理界面,進行***上傳,某網站有弱口令,dom
1. Jboss管理界面未限制,公網可任意訪問,且使用默認口令,可上傳***,進行***ide
http://xxx.xxx.xxx.xxx/web-console/網站
用戶名:adminurl
密碼:admin開放源代碼
惡意***者就有可能在服務器上執行添加管理員帳號的命令或下載***程序並運行的命令,最終達到其控制服務器的目的。3d
惡意***者能夠經過該方法向服務器上傳後門程序,從而獲取對服務器的徹底控制權;同時能夠經過該方法覆蓋服務器上的任意文件,從而形成數據丟失或系統損壞等。
許多站點,不用登錄,直接就能進行管理界面。http://xxx.xxx.xxx.xxx:8080/jmx-console/HtmlAdaptor?action=displayMBeans
如何上傳***呢,在管理界面中查找:jboss.deployment 或是查找:flavor=URL,type=DeploymentScanner
進入找到:URLList,便可在後面看到WAR程序安裝包路徑,甚至其餘***者行爲時的***地址,這也算是個收穫:
我們繼續說上傳的事吧,在下面找到的void addURL(),便可上傳***,輸入***的地址(war壓縮文件webshell的url地址),點擊Invoke.
這樣***就上傳成功了,而後運行,
三、安全建議:給jmx-console加上訪問密碼,並限制在公網的訪問。同時檢查版本是否有漏洞,是否須要升級。
1.在 ${jboss.server.home.dir}/deploy下面找到jmx-console.war目錄編輯WEB-INF/web.xml文件 去掉 security-constraint 塊的註釋,使其起做用
2.編輯WEB-INF/classes/jmx-console-users.properties或server/default/conf/props/jmx-console-users.properties (version >=4.0.2)和 WEB-INF/classes/jmx-console-roles.properties
或server/default/conf/props/jmx-console-roles.properties(version >=4.0.2) 添加用戶名密碼
3.編輯WEB-INF/jboss-web.xml去掉 security-domain 塊的註釋 ,security-domain值的映射文件爲 login-config.xml (該文件定義了登陸受權方式)
參考地址:https://community.jboss.org/wiki/SecureTheJmxConsole
四、總結:
系統部署完成後,修改口令、限制訪問、刪除中間過程或臨時文件;
對系統進行自評估,好比Acunetix Web Vulnerability Scanner ;
不要對外開放管理界面、或不要使用默認的管理界面;
如無必要,能夠限制服務器訪問外網的權限,防止反彈。
按期檢查本身全部應用或程序的安全,是否有暴出漏洞或0day,及時修補。