Vulnhub-Empire: LupinOne题解
本靶机为Vulnhub上Empire系列之LupinOne,地址:EMPIRE: LUPINONE
利用<code>arp-scan</code>命令扫描靶机IP

利用<code>nmap</code>扫描开放端口
浏览器打开80端口,发现是一张图片,没有其他内容,检测源代码也没有发现有用信息
检查<code>robots.txt</code>文件发现<code>/~myfiles</code>目录,打开却发现Error 404
在旧版本的Apache服务器中,~ 指代用户主目录,我们可以尝试找到与此相似的路径,使用<code>wfuzz</code>工具对其路径进行测试,发现<code>~secret</code>目录
在浏览器中打开该路径<code>~secret/</code>发现一段文字
上面称这是一个秘密目录,这里隐藏了他创建的ssh 私钥文件,并且得知用户名为<code>icex64</code>。接下来继续在该路径下搜索文件,得到<code>.mysecret.txt</code>文件
浏览器打开发现是一串编码后的字符串
可以使用编码识别工具进行识别,发现其为Base58,使用在线工具进行解码得到私钥文件内容
在本地创建文件key,将私钥保存到其中,然后使用<code>john</code>工具破解密码
得到密码为<code>P@55w0rd!</code>。将key 文件权限设为600(否则无法连接),然后利用ssh连接<code>icex64</code>用户
拿到shell后搜索<code>suid</code>文件,<code>Capability</code>文件,<code>sudo -l</code>发现可以执行一条命令
来到/home/arsene目录下,查看heist.py文件权限,没有修改权限,查看内容,发现其调用了<code>webbrower.open()</code>
我们通过<code>find</code>找到该文件的位置,查看其权限,发现可以写入内容
我们可以直接编辑该文件,写入调用shell脚本(或者反弹shell脚本)
保存退出,执行,获得arsene用户shell
拿到arsene用户权限后,查看<code>sudo -l</code>,发现可以免密执行<code>/usr/bin/pip</code>
我们可以在当前路径下新创建一个目录并打开在里面创建<code>setup.py</code>文件,里面写入我们想运行的python脚本,如反弹shell,然后利用<code>pip install</code>以root权限执行。
来到root目录下,打开root.txt拿到flag