Vulnhub 靶场 EMPIRE: LUPINONE
前期准备:
靶机地址:https://www.vulnhub.com/entry/empire-lupinone,750/
kali攻击机ip:192.168.11.129
靶机ip:192.168.11.190
一、信息收集
1.使用nmap对目标靶机进行扫描
发现开了22和80端口,80端口还扫出了 robots.txt 文件。
2. 80端口
看一下 robots.txt 文件有个 /~myfiles 路径:
与 /~myfiles ,类似的目录应该还有,用 wfuzz 扫一下:
发现了 /~secret 路径:
提到了有个隐藏文件 SSh 私钥,密码破解和一个用户名 icex64,找一下隐藏文件,应该是 “ .**** ” 文件:
没扫出来,那大概就是带有后缀的文件,换成 ffuf 扫,这个工具可以选择文件后缀:
ffuf -u "http://192.168.11.190/~secret/.FUZZ" -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -e .pub,.txt,.html -mc 200
发现了 .mysecret.txt 文件,查看一下:
一串字符,看着像 base 系列的,挨个试一下;
最后 base58 解出来了,有了私钥,使用 ssh2john.py 生成密码本就可以爆破了。
二、ssh私钥爆破
注:
赋权 600 就可以,权限太大的话会 ssh 也登录不了。
解得密码: P@55w0rd!,用之前发现的用户名 icex64 ssh 登录。
三、提权
查看权限:
发现可以作为用户 arsene 执行/home/aresene 下的文件,看一下这个 heist.py 文件:
用的 webbrowser 库,看看这个库能不能写入,能的话就写如个shell,从而获得 aresene 用户:
这个目录是python的默认目录,不记得的话就 find 找一下,发现权限是满的,那就可以再其中写入shell:
然后再用 arsene 调用 /home/arsene/heist.py:
sudo -u arsene python3.9 /home/arsene/heist.py
成功获取了 arsene 用户,查看一下权限:
发现以 root 身份执行 pip,那就可以以 pip 进行提权 :
成功获取到 root 权限,查看 flag: