收集
curl 10.10.11.111 火狐进不去,curl看一下,发现了一个域名,把他添加到hosts文件里
echo "10.10.11.111 forge.htb" >> /etc/hosts
打开网页长这样
有一个上传的地方,抓包,尝试抓包上传一下。
上传的一张图片显示是上传成功,传一个php文件,就不能访问了,也不知道这个能解析什么, 尝试目录扫描和子域名扫描,因为这个网站不是还有一个upload from url吗
wfuzz -c -u "http://forge.htb/" -H "Host:FUZZ.forge.htb" -w /usr/share/amass/wordlists/subdomains-top1mil-5000.txt
gobuster vhost -u forge.htb -w /usr/share/amass/wordlists/subdomains-top1mil-5000.txt
扫到一个admin.forge.htbecho "10.10.11.111 admin.forge.htb" >> /etc/hosts
访问一下,只允许本地访问,尝试迪哥教的加一个X-Forwarded-For:127.0.0.1 看看能不能绕过
然鹅。。
尝试把他子域上传上去,黑名单,还好不是白名单,尝试大小写绕过
改了一个大写,成功了,访问不了,curl 还是原来页面,wp的绕过成功了 http://aDmin.forGe.hTb/
访问图像损坏,curl看报文/announcement
http://aDmin.forGe.hTb/announcement好东西来了,给了一个ftp帐密,这里是一个ssrf,利用一下 user:heightofsecurity123!
翻译: 一个我nternal FTP服务器已经创建了凭据用户:heightofsecuirty123! /upload 端点现在支持用于上传表单 url 的 ftp、ftps、http 和 https 协议 /upload 端点已经被配置为简单的上传脚本,并且为了上传图像,可以简单地传递一个带有 ?u= 的 url。 以免尝试通过将 get param 中的 ftp url 传递给 admin vhost 来访问 ftp
利用 http://ADMIN.FORGE.HTB/upload?u=ftp://user:heightofsecurity123!@FORGE.HTB
读/.ssh/id_rsa
成功读到,
chmod 600
user_id_rsa ssh -i user_id_rsa user@10.10.11.111
用户用的ftp的用户名 连接成功
提权
sudo -l 发现一个python文件
代码是硬伤,wp是这么写的
我们可以清楚地看到,如果我们设法创建了一些错误,那么我们转到 Python 调试器中的 except 处理程序, 因为我们以 root 身份运行它,所以我们可以轻松地使用系统中的 os 模块执行命令。 为此,我们需要两个 ssh 连接一个用于启动服务器,第二个用于连接到服务器。