HTB Season7 Nocturnal wp
一、收集信息
测试连通性正常,使用nmap扫描一下ip nmap -sV -sC -A 10.10.11.64 -Pn
若无法访问网页则需要手动在hosts中添加页面。
同时使用dirsearch收集子域名,但是并没有什么收获
查看网页,发现是一个文件上传页面,并且仅支持几种格式
存在登录框,尝试一下常见的sql注入,无果,只能先注册一个账号试试
二、立足点
注册后进入到一个文件上传的页面
先尝试了一下常见的pdfXSS,但是发现无法生效,但是发现可以下载已上传的文件
打开bp,观察一下包响应,发现存在用户名字段
并且下载链接的格式为http://nocturnal.htb/view.php?username=test&file=xss.pdf
可以通过爆破枚举用户名,寻找存在可下载资源的用户。
这里我使用的是ffuf,输入ffuf -u 'http://nocturnal.htb/view.php?username=FUZZ&file=xss.pdf' -w userfuzz.txt -H 'Cookie: PHPSESSID=6e902abfkm2mvgsja6acqj5khe' -fs 2985
若要使用的话记得替换掉Cookie值
扫描得到结果,除去自己注册的test,得到admin、amanda、tobias用户,分别使用这三个用户名替换掉test用户名
只有amanda用户存在可下载文件,下载privacy.odt,解压后得到一堆文件,输入grep -R "pass"
过滤查询密码
得到密码后回到网页进行登录,可以发现一个Go to Admin Panel按钮,点击后进入到管理页面
可以看到一排网页代码,只能进行源码审计。查看admin.php,发现password未经过转义就会直接拼接到command命令中,可以试着进行命令注入
在bp的password=字段中使用url编码进行语句截断,详情可以看https://blog.csdn.net/qq_61778128/article/details/123205490
成功得到了回显
于是可以上传反弹shell,在kali上输入python3 -m http.server 8000
,然后使用wget进行上传
上传成功后在kali进行监听,然后执行shell.php即可成功上线靶机
三、userFlag
获取立足点后,发现数据库目录,并且目录下存在数据库文件
在靶机数据库目录下输入python3 -m http.server 8000
,然后在kali上使用wget进行下载
得到数据库文件,使用sqlite3进行查看
讲获取到的密码hash进行破解,可以得到tobias的密码
登录到tobias用户即可获取到userFlag
四、rootFlag
输入sudo -l
,但是发现此用户没有权限执行命令
输入ps -aux
和netstat -tuln
收集信息,发现靶机8080端口存在
在kali输入ssh -L 9000:127.0.0.1:8080 tobias@10.10.11.64
讲8080端口页面转发到本地,查看页面
发现是一个ispconfig页面
并且查看源代码,可以得知版本号应该为v3.2
搜索一下ispconfig 3.2 exploit,发现存在CVE-2023-46818可以利用,但是该漏洞利用需要能登录的用户名和密码,只能尝试密码复用
将exploit下载到本地并执行,发现成功执行并获取到root权限,到此便已经通关该靶场