vulnhub靶场之DRIFTINGBLUES: 5
准备:
攻击机:虚拟机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值。