香港安全咨询 Make Connector 漏洞 (CVE20256085)

WordPress Make Connector 插件
插件名称 制作连接器
漏洞类型 认证的任意文件上传
CVE 编号 CVE-2025-6085
紧急程度
CVE 发布日期 2025-09-03
来源网址 CVE-2025-6085

Make(前身为 Integromat Connector)<= 1.5.10 — 认证管理员任意文件上传(CVE-2025-6085)

日期: 2025-09-03

作者: 香港安全专家

摘要

CVE-2025-6085 影响 Make(之前的 Integromat Connector)插件版本最高至 1.5.10。经过认证的管理员可以通过插件的上传端点将任意文件上传到网站。尽管利用此漏洞需要管理员凭据,但后果可能非常严重:WebShell、远程代码执行、持久性和完全网站妥协。.

本公告提供了技术分析、现实攻击场景、检测指标、事件响应手册和您可以立即应用的实用缓解措施 — 重点关注操作、服务器端加固和适当的虚拟补丁。.

为什么网站所有者即使在需要管理员权限时也应该关注

  • 管理员凭据通常被重复使用、泄露或钓鱼;一个被攻破的管理员账户可以直接被利用。.
  • 许多网站有多个管理员(开发人员、承包商),这增加了暴露风险。.
  • 攻击者可以链式利用其他漏洞(XSS、CSRF、会话固定)以获取管理员会话,然后利用此上传缺陷。.
  • 一旦攻击者能够在 Web 根目录下放置可执行文件,他们就可以执行代码、持久化并在环境中横向移动。.

即使需要管理员认证,也要将此漏洞视为高优先级。.

技术分析(这里“任意文件上传”的含义)

任意文件上传漏洞发生在文件上传未经过充分的服务器端验证时:

  • 文件类型和 MIME 类型
  • 文件扩展名
  • 目标目录
  • 文件内容(以防止可执行代码)
  • 文件名(以防止路径遍历)
  • 1. 上传端点的授权检查

2. 在 Make <= 1.5.10 中,上传端点允许经过身份验证的管理员将任意文件放置在磁盘上。如果目标是可通过网络访问的(上传、插件目录),攻击者可能会上传一个 PHP webshell 并通过 HTTP 调用它。或者,上传的文件可能会被其他应用逻辑后续包含,从而导致远程代码执行。.

3. 此类攻击的典型组件:

  • 4. 一个通过 POST 接受文件数据的上传端点
  • 5. 缺乏严格的服务器端类型/扩展名/内容检查
  • 6. 上传目标可被 web 服务器访问
  • 7. 允许执行的宽松文件权限或 web 服务器配置

现实攻击场景

  1. 8. 恶意管理员或被攻陷的管理员账户:

    9. 一个被攻陷的供应商或承包商管理员账户被用来通过插件上传 PHP webshell,然后攻击者执行命令以持久化和升级权限。.

  2. 10. CSRF / 存储型 XSS 链:

    11. 攻击者诱使管理员执行操作或利用存储型 XSS 获取特权会话,然后上传有效载荷。.

  3. 12. 持久后门 / 供应链滥用:

    13. 上传的后门在更新后仍然存在或被用来篡改其他插件/主题/核心文件。.

14. CVSS 和风险背景

15. 发布的 CVSS 分数为 7.2。该分数反映了高影响(可能的远程代码执行/网站妥协),而攻击复杂性因需要管理员权限而有所缓和。在实践中,小型网站由于凭据管理不善和监控有限,往往面临更高的风险。.

16. 检测:您可能已被利用的迹象

  • 17. /wp-content/plugins/make-connector/ 中的新或修改的 PHP 文件(或插件文件夹名称)
    • /wp-content/uploads/
    • 18. 其他插件或主题目录
    • 19. 名称奇怪或有双重扩展名的文件(例如,.php.jpg,.phtml)
  • 文件名奇怪或有双重扩展名的文件(例如,.php.jpg,.phtml)
  • 与可疑管理员登录匹配的时间戳文件
  • 未识别的管理员用户或最近的角色变更
  • 可疑的 cron 作业或计划任务
  • 从网络服务器到不寻常 IP 或域的出站连接
  • HTTP 日志显示对新上传文件的访问或对插件端点的异常 POST
  • 修改过的 .htaccess 或服务器配置,允许执行

有用的检测工具:文件完整性监控、服务器访问/错误日志、恶意软件扫描器,以及针对可疑用户或选项变更的数据库审计。.

如果您运行受影响的插件,立即采取措施(事件分类)

  1. 隔离和控制
    • 将网站置于维护模式或下线,以限制攻击者的操作。.
    • 如果可能,在调查期间在防火墙或服务器上阻止公共 HTTP 访问。.
  2. 保留证据
    • 将日志(网络访问/错误、FTP/SFTP、SSH)、数据库转储和文件系统列表复制到安全位置以进行取证。.
    • 除非出于控制需要,否则不要覆盖日志或重启关键系统。.
  3. 识别并删除可疑文件

    搜索最近添加的 PHP 文件并检查内容。在删除之前保留取证副本。.

    find /var/www/html/wp-content/uploads -type f -mtime -7 -print

    寻找 webshell 指标,如 base64_decode、eval、preg_replace 与 /e、system/exec 调用。.

  4. 更改凭据
    • 重置所有管理员密码和服务账户(FTP、SSH、数据库)。.
    • 强制注销所有用户并使会话过期。.
    • 旋转站点使用的API密钥和令牌。.
  5. 检查持久性
    • 检查wp-config.php、mu-plugins、.htaccess和主题/插件PHP文件中的注入代码。.
  6. 从已知良好的备份中恢复。

    如果可用,从在被攻破之前进行的干净备份中恢复。 在重新连接到生产环境之前,验证恢复的网站已打补丁且干净。.

  7. 更新或删除插件

    如果存在补丁,请立即应用。如果没有可用的修复且插件不是必需的,请卸载并删除其文件——仅停用可能会在磁盘上留下文件。.

  8. 加固和监控
    • 应用服务器端加固,并在修复后至少设置几周的持续监控。.

如果您对安全地执行这些步骤缺乏信心,请联系您的托管服务提供商或专业事件响应团队——不完全的清理可能会留下持久的后门。.

您可以立即应用的实际缓解措施(无需代码级补丁)

这些缓解措施减少了攻击面,并限制了即使在易受攻击的插件仍然安装时的影响。.

A. 在WAF / Web服务器级别阻止上传端点

创建规则以阻止来自受信任IP的POST请求到插件的上传端点。如果您的防火墙支持虚拟补丁,请阻止匹配漏洞模式的请求(例如,POST到admin-ajax.php并带有特定的action参数)。.

拒绝特定插件上传URI的nginx示例规则:

location ~* /wp-admin/admin-ajax.php {

通过检查插件源确认操作名称和URI,并首先在暂存环境中测试规则。.

B. 禁用上传目录中的PHP执行

通过配置Web服务器防止执行上传文件中的PHP:

Apache (.htaccess) 对于 /wp-content/uploads/:

<IfModule mod_php7.c>
    php_flag engine off
</IfModule>
<FilesMatch "\.(php|php5|phtml|phar)$">
    Require all denied
</FilesMatch>

Nginx(服务器块):

location ~* ^/wp-content/uploads/.*\.(php|php5|phtml|phar)$ {

这会阻止直接执行,即使上传了 PHP 文件。.

C. 在上传处理程序中强制执行严格的文件类型检查

在可行的情况下,将接受的 MIME 类型和扩展名限制为已知安全类型(图像,PDF)。对于不受信任的插件,依赖于服务器级控制,直到插件被修补。.

D. 加固管理员访问

  • 要求所有管理员账户启用双因素身份验证。.
  • 删除未使用的管理员账户,并将管理员数量限制到最低。.
  • 使用强大且独特的密码和密码管理器。.
  • 如果操作上可行,通过 IP 限制 wp-admin 访问或使用 HTTP 基本身份验证。.

E. PHP 进程和文件权限的最小权限

  • 确保 Web 服务器以非特权用户账户运行。.
  • 设置文件系统权限,使 wp-content 仅在必要时可写,并且插件文件在更新之前不可被全局或 Web 服务器写入。.

F. 定期备份和不可变副本

  • 保持每日的异地备份,并至少有一个不可变快照,Web 服务器无法更改。.
  • 定期测试恢复。.

G. 监控和警报

  • 使用文件完整性监控来警报新或修改的 PHP 文件。.
  • 监控出站连接和异常流量模式。.

WAF 和虚拟补丁:它们的作用及其重要性

虚拟补丁在防火墙层应用规则,以拦截和阻止利用尝试,而无需修改应用程序代码。当官方补丁尚未应用(或无法立即应用)时,虚拟补丁提供即时保护。.

针对此漏洞的常见虚拟补丁策略:

  • 除受信任的管理员IP外,阻止对特定插件上传操作的POST请求。.
  • 阻止包含PHP开头标签或以.php结尾的文件名的多部分上传。.
  • 阻止具有可疑多部分有效负载或意外参数的请求。.

虚拟补丁在您修补、移除插件或执行受控修复时对短期保护非常有价值。.

示例WAF签名(概念模式)

这些是说明性模式;在暂存环境中仔细测试以避免误报。.

  • 检测多部分上传中以.php结尾的文件名:

    条件:multipart/form-data && filename =~ /\.php(\d+)?$/i

  • 阻止包含PHP标签的上传:

    条件:request_body包含“<?php”

  • 阻止对插件上传操作的POST请求:

    条件:POST && request_uri包含“/wp-admin/admin-ajax.php” && args包含“action=make_upload”

长期安全:开发者和网站所有者检查清单

  • 保持WordPress核心、主题和插件更新;订阅漏洞信息以快速了解。.
  • 限制管理员账户并定期审核角色。.
  • 对特权用户强制实施双因素认证。.
  • 使用强大且独特的密码,并在怀疑时更换凭据。.
  • 在WP管理中禁用文件编辑:
    define('DISALLOW_FILE_EDIT', true);
  • 定期扫描恶意软件并执行文件完整性检查。.
  • 加固 PHP:如果不需要,禁用危险函数(exec、shell_exec、system)。.
  • 在 web 服务器配置中禁用目录列表。.
  • 使用服务器端保护,如 mod_security 或等效规则集以及正确配置的 WAF。.
  • 保持经过测试的备份和恢复计划。.
  • 限制 SSH/FTP 访问到已知 IP,并使用基于密钥的 SSH。.

事件响应手册(详细工作流程)

  1. 分类(前 24 小时)
    • 确认网站是否运行受影响的插件/版本。.
    • 创建服务器和数据库的取证快照。.
    • 通过更改管理员密码和将网站置于维护模式来限制访问。.
  2. 控制(24–72 小时)
    • 立即应用防火墙/WAF 规则以阻止利用模式。.
    • 如果没有可信的补丁,请禁用或卸载插件。.
    • 在进行取证副本后保留并删除可疑文件。.
    • 轮换管理员和系统凭据。.
  3. 根除与恢复(72 小时 – 数周)
    • 清理或恢复受损文件;如果不确定,从干净的备份中恢复。.
    • 修补和更新所有软件组件。.
    • 如有必要,重建系统并重新发放 API 密钥和秘密。.
  4. 事件后
    • 执行根本原因分析,以了解管理员凭据是如何暴露的。.
    • 改进日志记录、监控和管理员培训。.
    • 考虑定期进行安全评估和渗透测试。.

受损指标(IoCs)— 快速检查清单

  • 上传或插件目录中具有可疑名称的新文件
  • Webshell 签名:base64_decode,eval(base64_decode(…)),preg_replace with /e,system/exec/passthru
  • HTTP 日志显示对可疑文件的访问或对插件端点的 POST 请求
  • PHP 进程中意外的外部连接
  • 未识别的管理员用户或角色更改

示例加固代码片段(谨慎使用)

如果不需要,请禁用 XML-RPC:

add_filter('xmlrpc_enabled', '__return_false');

在 wp-config.php 中禁用插件/主题文件编辑:

define('DISALLOW_FILE_EDIT', true);

如果无法立即修补 — 临时防御选项

  • 如果插件不是必需的,请完全卸载并移除该插件。.
  • 在停用后删除插件文件以避免残留代码。.
  • 在 Web 服务器或 WAF 级别阻止插件的管理员端点。.
  • 将 wp-admin 限制为已知 IP 或在 wp-admin 前放置 HTTP 基本身份验证。.
  • 持续监控利用指标。.

来自香港安全专家的结束建议

接受文件并在 webroot 下写入的代码路径必须以最高谨慎对待。管理员级别的漏洞通常会迅速导致完全妥协,因为它们允许攻击者放置持久的可执行代码。如果您运行受影响的插件并且无法立即更新,请采取保守措施:禁用或移除该插件,施加服务器级别的限制,强制实施 2FA 和其他管理员加固,并假设已被妥协,直到证明不是。.

如果有疑问,请联系您的托管服务提供商或可信的事件响应团队,以确保彻底和专业的清理。.

最终检查清单 — 现在需要执行的快速操作

  1. 验证插件版本:如果 <= 1.5.10,请立即采取行动。.
  2. 如果有可用的修补版本,请立即更新。.
  3. 如果没有补丁,请卸载并删除插件文件。.
  4. 对所有管理员账户强制实施双因素认证和强密码。.
  5. 禁用上传中的PHP执行,并在服务器/WAF级别阻止插件上传端点。.
  6. 扫描可疑文件并保留取证证据。.
  7. 清理后轮换所有凭据和API密钥。.
  8. 启用监控:文件完整性、出站流量和访问日志。.

参考资料和进一步阅读

0 分享:
你可能也喜欢