天天看点

Vulnhub-Empire: LupinOne题解

Vulnhub-Empire: LupinOne题解

本靶机为Vulnhub上Empire系列之LupinOne,地址:EMPIRE: LUPINONE

利用<code>arp-scan</code>命令扫描靶机IP

Vulnhub-Empire: LupinOne题解

利用<code>nmap</code>扫描开放端口

Vulnhub-Empire: LupinOne题解

浏览器打开80端口,发现是一张图片,没有其他内容,检测源代码也没有发现有用信息

Vulnhub-Empire: LupinOne题解

检查<code>robots.txt</code>文件发现<code>/~myfiles</code>目录,打开却发现Error 404

Vulnhub-Empire: LupinOne题解

在旧版本的Apache服务器中,~ 指代用户主目录,我们可以尝试找到与此相似的路径,使用<code>wfuzz</code>工具对其路径进行测试,发现<code>~secret</code>目录

Vulnhub-Empire: LupinOne题解

在浏览器中打开该路径<code>~secret/</code>发现一段文字

Vulnhub-Empire: LupinOne题解

上面称这是一个秘密目录,这里隐藏了他创建的ssh 私钥文件,并且得知用户名为<code>icex64</code>。接下来继续在该路径下搜索文件,得到<code>.mysecret.txt</code>文件

Vulnhub-Empire: LupinOne题解

浏览器打开发现是一串编码后的字符串

Vulnhub-Empire: LupinOne题解

可以使用编码识别工具进行识别,发现其为Base58,使用在线工具进行解码得到私钥文件内容

Vulnhub-Empire: LupinOne题解

在本地创建文件key,将私钥保存到其中,然后使用<code>john</code>工具破解密码

Vulnhub-Empire: LupinOne题解

得到密码为<code>P@55w0rd!</code>。将key 文件权限设为600(否则无法连接),然后利用ssh连接<code>icex64</code>用户

Vulnhub-Empire: LupinOne题解

拿到shell后搜索<code>suid</code>文件,<code>Capability</code>文件,<code>sudo -l</code>发现可以执行一条命令

Vulnhub-Empire: LupinOne题解

来到/home/arsene目录下,查看heist.py文件权限,没有修改权限,查看内容,发现其调用了<code>webbrower.open()</code>

Vulnhub-Empire: LupinOne题解

我们通过<code>find</code>找到该文件的位置,查看其权限,发现可以写入内容

Vulnhub-Empire: LupinOne题解

我们可以直接编辑该文件,写入调用shell脚本(或者反弹shell脚本)

Vulnhub-Empire: LupinOne题解

保存退出,执行,获得arsene用户shell

Vulnhub-Empire: LupinOne题解

拿到arsene用户权限后,查看<code>sudo -l</code>,发现可以免密执行<code>/usr/bin/pip</code>

Vulnhub-Empire: LupinOne题解

我们可以在当前路径下新创建一个目录并打开在里面创建<code>setup.py</code>文件,里面写入我们想运行的python脚本,如反弹shell,然后利用<code>pip install</code>以root权限执行。

Vulnhub-Empire: LupinOne题解

来到root目录下,打开root.txt拿到flag

Vulnhub-Empire: LupinOne题解