vulhub->driftingblues-1靶机渗透测试
通过arp-scan扫描到靶机的IP地址为172.16.9.101
然后对靶机进行初步扫描查询开启的端口nmap -sS -p- 172.16.9.101
扫描结果发现靶机只开放了两个端口22.80
访问靶机的80端口,并且扫描其目录dirb http://172.16.9.101/ &dirb http://driftingblues.box -X .html,.php,.txt
.
访问靶机网站,发现网站下面有一行小字
请联系eric@dirftingblues.box
.可以推测,driftingblues为网站的域名,eric为网站的一个管理员或者用户.然后将dirftingblues.box加入主机的hosts文件中,进行测试是否推测成功
发现添加了hosts文件之后访问其域名可以成功访问.
然后结合dirb的扫描结果查看发现一个新的URL地址,访问这个地址,地址会先为:dig.. deeper.. maybe you
,然后访问靶机的主页index,ph,然后查看页面源代码,可以发现在主页下面有一小行的base64加密过的密文
经过解密得到字符串/noteforkingfish.txt
,然后访问driftingblues.box/noteforkingfish.txt
这个地址
发现全都是由Ook字符串组成,然后百度了一下,发现是一种加密方式,解密过后的字符串为my man, i know you are new but you should know how to use host file to reach our secret location. -eric(我的人,我知道你是新来的,但你应该知道如何使用主机文件到达我们的秘密位置-埃里克)
字符串有提到host file,配置域名和IP地址的文件,推测可能是需要添加子域名然后得到eric的密码提示.然后进行子域名扫描gobuster vhost -u driftingblues.box -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt | grep "Status: 200"
扫描域名下是否有其他子域名,然后扫描到两条域名Test.driftingblues.box&&test.driftingblues.box
将其添加进hosts文件,然后去访问test.driftingblues.box
,页面回显work in progress -eric(正在进行的工作-埃里克)
然后使用dirb工具对目录进行扫描
访问robots.txt文件,页面回显
发现有一个名为ssh_cred.txt
,应该隐藏了ssh连接的信息
访问URL页面回显
从页面可以得到信息,eric用户的密码为13位,前12为固定字符串1mw4ckyyucky
,最后一位为随机的数字,我们就可以使用crunch命令生成字典进行爆破crunch 13 13 -t 1mw4ckyyucky% > password.txt&&hydra -l eric -P password.txt 172.16.9.101 ssh
然后获得eric用户的密码,进行ssh连接
连接后为低权限用户,需要进行提权.但是查看目录下有一个user.txt文件,获得第一个flag
然后查看版本号和常规suid命令进行提权发现都提权不了,只能在靶机内部找到存在root权限执行的文件或者脚本.
访问/var目录下的文件,发现有一个backups的文件夹,是一个备份系统的文件夹,查看文件夹里面的文件内容,
发现backup.sh文件中执行的命令是root权限的.并且文件中直接提示说有一个backdoor,发现后面用sudo执行了/tmp/emergency文件,查看tmp目录,发现并没有该文件,于是我们创建一个名为emergency的文件,
echo "cp /bin/bash /tmp/backdoor; chmod +s /tmp/backdoor' > /tmp/emergency
chmod +x emergency
然后等待backup.sh文件执行emergency文件之后就会生成backdoor文件,然后执行文件./backdoor -p
就可以获得root权限,然后就可以查看/root目录下的最后一个flag