
前期准备:
靶机地址:
https://www.vulnhub.com/entry/empire-lupinone,750/
kali机IP:192.168.132.129
靶机IP:192.168.132.128
运行环境:VMware
一、信息收集:
使用nmap进行对靶机进行扫描
nmap -sC -sV 192.168.132.128 -p- -n -vv -min-rate=2000
发现了22与80端口,在80端口下发现robots.txt和~myfiles
利用80端口寻找有用信息
发现/~myfiles目录,打开显示404
二、开始渗透
由于不能访问~myfiles于是使用ffuf工具进行模糊测试,fuzz类似文件名,发现了~secret文件夹
ffuf -c -r -u 'http://192.168.132.128/~FUZZ' -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -fs 0 -o 1.html -of html
访问文件夹,发现一段文字,翻译过来获取有效信息为在该目录下有一个ssh私钥文件,并且知道一个用户名为icex64
由于私钥文件一般放在.ssh文件夹下,所以按照“.FUZZ”的思路枚举,又因为是文件,故添加后缀
ffuf -c -r -u 'http://192.168.132.128/~secret/.FUZZ' -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -e .php,.txt,.html -fs 0
通过测试,发现是base58编码,于是进行解码
将解码后的文件复制,并命名为id_rsa,使用ssh2john生成一下密码本,再使用john爆破一下,得到密码:P@55w0rd!
(这里需要注意的是在之前的~secret文件中,需要使用fasttrack字典去爆破) 在登陆前需要给文件修改权限为600,否则权限太大导致登陆失败 在当前目录下查看发现user.txt,拿到第一个flag三、提权
sudo -l发现一个arsene用户并且可以免密执行heist.py,查看文件使用了webbrowser库
使用find指令查找此库,查看库的权限是否是可读可写,发现权限是满的
我们直接编辑此文件,写入调用shell脚本(由于我这里之前报了一个bash错误,故添加,转义括号和引号为可读),使用arsene调用/home/arsene/heist.py sudo -l发现可以免密执行pip命令 新建一个目录创建setup.py文件,写入反弹shell,利用pip install以root权限执行 使用以下命令将shell转变为交互式shell看起来舒服一些
SHELL=/bin/bash script -q /dev/null 来到root目录下,打开root.txt成功拿到flag 至此,实验结束