HackerTheBox Stocker
0x000 信息收集
开启靶机,拿到IP
端口扫描
nmap -sC -sV 10.10.11.196
修改hosts文件访问网站
修改并添加hosts文件
访问网站首页
源码泄露
此时,先不急着进行目录扫描,先尝试一下网站首页的后缀名是什么,经过测试,发现是html;接下来该干什么了?没错,一应该也想到了,查看一下页面源代码
发现一个网址:https://onepagelove.com/stride
访问查看,发现此站点的源码在Github上
https://github.com/holger1411/Stride-HTML-Bootstrap-Template
子域名扫描
但是通过源码,访问其他几个页面,均是404报错;这里猜测,这可能不是真正的站点,尝试扫描一下子域名
果然扫描到一个子域名
添加hosts文件并访问
node.js后台登陆绕过
使用插件Wappalyzer,发现当前站点使用node.js语言编写的
搜索一下有没有方法可以绕过node.js登陆后台
https://book.hacktricks.xyz/pentesting-web/nosql-injection#basic-authentication-bypass
使用burpsuite修改如下地方,发送,然后关闭抓包即可绕过登陆
0x001 漏洞利用
SSRF漏洞
进入如下页面,发现这是一个商城网页,点击随便购买一件商品。
发现商品购买成功会生成一个pdf文件
将这个pdf文件下载下来
用exiltool打开
ExifTool由Phil Harvey开发,是一款免费、跨平台的开源软件,用于读写和处理图像(主要)、音视频和PDF等文件的元数据(metadata)。ExifTool可以作为Perl库(Image::ExifTool)使用,也有功能齐全的命令行版本。ExifTool支持很多类型的元数据,包括Exif、IPTC、XMP、JFIF、GeoTIFF、ICC配置文件、Photoshop IRB、FlashPix、AFCP和ID3,以及众多品牌的数码相机的私有格式的元数据。
skia是个2D向量图形处理函数库,包含字型、坐标转换,以及点阵图都有高效能且简洁的表现。不仅用于Google Chrome浏览器,新兴的Android开放手机平台也采用skia作为绘图处理,搭配OpenGL/ES与特定的硬件特征,强化显示的效果
搜索Skia/PDF 相关exp,发现存在SSRF漏洞
尝试读取一下/etc/passwd文件
<iframe src=file:///etc/passwd height=1050px width=800px</iframe>
访问 http://dev.stocker.htb/api/po/63f1cb3571f6937a1049f133 ,获取到/etc/passwd文件信息
前面端口扫描 22 端口是开启的,而且angoose 用户也是允许登陆的,尝试读一下ssh密钥文件;但是没读取到。
当前是存在nginx服务,读取一下nginx的配置文件,/etc/nginx/nginx.conf
发现了当前网站的根目录/var/www/dev
node.js语言中,配置文件一般是以*.js文件命令的,我们尝试读取一下config.js、main.js、index.js,其中前两个文件输出为空
接下来读取一下index.js文件,发现了mongodb用户的登陆凭证,但是查看/etc/passwd文件发现mongodb
不允许登陆。
0x002 提权
ssh登陆angoose用户
遂尝试一下angoose用户的密码是不是也是这个,居然成功登陆了。
node.js反弹shell提权
查看当前用户权限
https://www.revshells.com/ 来到这个网站,使用node.js生成一个反弹shell的代码
使用sudo执行文件即可获取到root权限
sudo /usr/bin/node /usr/local/scripts/../../../home/angoose/demo.js