vulnhub靶场之DRIFTINGBLUES: 5

发布时间 2023-04-10 12:47:29作者: upfine

准备:

攻击机:虚拟机kali、本机win10。

靶机:DriftingBlues: 5,下载地址:https://download.vulnhub.com/driftingblues/driftingblues5_vh.ova,下载后直接vbox打开即可。

知识点:wpscan扫描、敏感信息发现、john爆破、kdbx文件、keepass2john、定时任务。

信息收集:

1.nmap扫描

使用nmap扫描下靶机地址,命令:nmap -sn 192.168.5.0/24,发现靶机地址:192.168.5.149。

使用nmap扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.5.149,显示开放了22端口、80端口,开启了ssh服务、http服务。

2.目录扫描

使用gobuster进行目录扫描,命令:gobuster dir -x php,jpg,txt,html -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u http://192.168.5.149,发现框架是wordpress框架,或者wappalyzer工具中查看也可。

3.wpscan扫描

使用wpscan扫描下账户信息,命令:wpscan --url "http://192.168.5.149/" --enumerate u,发现gadd、gill、collins、satanic、abuzerkomurcu账户。

访问web页面时显示的的一些介绍信息,尝试将该页面生成字典进行密码破解,命令:cewl -w passwd http://192.168.5.149,生成密码字典passwd,然后利用wpscan对刚才发现的几个账户进行密码爆破,成功发现一组账户和密码信息:gill / interchangeable。

二:shell获取

1.敏感信息发现

使用获得账户和密码信息:gill / interchangeable登录web系统,找了下版本的信息漏洞、功能漏洞均未发现,后来在media功能中发现多出来一张图片信息。

复制该文件的下载地址,下载到本地进行分析,命令:wget http://192.168.5.149/wp-content/uploads/2021/02/dblogo.png。查看下该文件的属性信息:exiftool dblogo.png,发现ssh登录的密码信息:59583hello。

2.获取shell

利用获得账户信息:gadd、gill、collins、satanic、abuzerkomurcu和密码信息:59583hello进行ssh登录,命令:hydra ssh://192.168.5.149 -L name -p 59583hello,成功获得一组账户和密码信息:gill/59583hello。

使用获得的账户和密码信息:gill/59583hello进行ssh登录,成功获得shell权限并在当前目录下读取user.txt文件,成功获得flag值。

三提权:

1.keyfile.kdbx文件利用

在获得shell中查看目录信息时,发现存在一个keyfile.kdbx文件,查询下kdbx后缀的文件介绍,发现该文件是:通过KeePass密码管理器安全创建的数据文件称为KDBX文件,这些文件包含密码的加密数据库,其中如果用户设置一个主密码,并通过主密码访问他们,他们只能查看。先将该文件下载到本地,命令:scp -rp gill@192.168.5.149:/home/gill/keyfile.kdbx /tmp。

将keyfile.kdbx文件复制到本地,使用下载的keepass工具尝试打开该文件,但是显示需要密码信息。

利用keepass2john工具获取其hash值方便我们进行爆破,命令:keepass2john keyfile.kdbx > hash,爆破的命令:john --wordlist=/usr/share/wordlists/rockyou.txt hash,成功获得密码信息:porsiempre。

利用获得密码信息使用keepass读取keyfile.kdbx文件,但是里面密码是*号显示并且只显示了标题,用户名显示为空。

2.定时任务发现

使用命令:find / -perm -4000 -type f 2>/dev/null查找下具有特殊权限的文件,但是没发现什么可以利用的点。

直接上脚本:linpeas.sh,在本机开启web服务,然后使用wget下载该文件至/tmp目录并执行该文件,发现一个比较特殊的文件:/keyfolder,但是查看该文件内信息,显示是一个空的目录。

原想着查看下定时任务,但是发现定时任务不允许当前用户查看,那这里想着就是隐藏了一些信息,那就上传pspy64。

赋予pspy64执行权限,然后执行该文件,发现会定时执行/root/key.sh文件,根据名字猜测是和密码有关。

3.提权

后来想着是不是这个脚本将密码写入到了刚才keepass发现的几个标题中去了,然后就尝试在/keyfolder目录下创建刚才的几个标题,但是没什么变化,后来就一个一个单独创建,在创建fracturedocean文件时,多出来一个rootcreds.txt文件,读取该文件获得root密码信息:imjustdrifting31。

使用获得密码信息切换到root账户,然后在/root目录下发现root.txt文件,读取该文件成功获得flag值。