hackmyvm--Decode
环境
靶机:ip未知
攻击机kali:192.168.233.128 192.168.56.101
主机探测
锁定靶机ip为108
端口扫描
nmap -p- -T4 -A 192.168.56.108
常规套路80和22
web打点
dirsearch -u http://192.168.56.108/
访问robots,txt文件
访问/decode
发现其自动添加了/,怀疑是本地文件包含漏洞,即可以实现目录穿越
我们对其进行目录扫描,来确定/decode在目录的第几层
返回结果显示/decode的上面一层就是/
我们读取/etc/passwd文件
发现root、steve、ajneya、decoder这四个用户的可执行文件是/bin/bash
因为服务器开放了22端口,所以思路是获取用户密码使用ssh登录
爆破steve用户的密码,无果
发现steve的用户目录在/usr/share
读取用户目录下的bash历史命令文件
decode.csr是一个证书文件,下载下来使用openssl命令查看
发现用户密码
成功登录steve用户
查看网络信息验证
提权
我们要拿到user.txt的文件,但是放在了ajneya用户的目录下,需要从steve转到ajneya用户
suid提权
find / -user root -perm -4000 -print 2>/dev/null
发现doas,这是一个类似于sudo的二进制程序
查看其配置信息
配置信息非常简单,当使用cp命令时steve用户可以获取ajneya用户的权限
cp是复制命令,结合ssh,靶机作者是引导我们通过ssh的公私钥验证去或得ajneya用户的权限
思路是通过doas程序短暂使steve用户拥有ajneya用户的权限执行cp命令将ssh公钥放入/home/ajneya目录下的authorized_keys文件中,再使用私钥去登录用户
sudo -l查看sudoers中ajneya用户的权限,发现ajneya用户可以使用root的权限执行ssh-keygen命令,以此为提权的突破口
首先通过kali的msfvemon制作一个shellcode木马
ip是本机
端口为9001,并开启监听
将制作好的木马文件通过ssh后门传入主机
这里的id是ajneya用户的私钥文件
通过scp命令成功传输
再次观察ajneya用户的sudo权限
需要将文件存入/opt/目录下,ajneya方可有权限执行
联想到steve用户的权限,可以通过steve用户将lib.so文件传入/opt目录
成功写入,此时只需要执行ssh-keygen -D 命令即可反弹shell
成功拿到root权限!
知识点
目录扫描、端口探测、主机发现、目录穿越、ssh后门、suid提权、sudo提权、msf木马
参考
https://nepcodex.com/2022/05/decode-from-hackmyvm-full-walkthrough/
https://pwn.ar/n/decode