| 插件名稱 | 製作連接器 |
|---|---|
| 漏洞類型 | 認證的任意檔案上傳 |
| CVE 編號 | CVE-2025-6085 |
| 緊急程度 | 低 |
| CVE 發布日期 | 2025-09-03 |
| 來源 URL | CVE-2025-6085 |
Make(前身為 Integromat Connector)<= 1.5.10 — 認證的管理員任意檔案上傳(CVE-2025-6085)
日期: 2025-09-03
作者: 香港安全專家
摘要
CVE-2025-6085 影響 Make(之前的 Integromat Connector)外掛版本至 1.5.10 包含該版本。經過認證的管理員可以通過外掛的上傳端點將任意檔案上傳到網站。雖然利用此漏洞需要管理員憑證,但後果可能非常嚴重:網頁殼、遠端代碼執行、持久性和整個網站的妥協。.
本公告提供技術分析、現實攻擊場景、檢測指標、事件響應手冊以及您可以立即應用的實用緩解措施 — 專注於操作、伺服器端加固和適當的虛擬修補。.
為什麼網站擁有者即使在需要管理員權限的情況下也應該關心
- 管理員憑證通常會被重複使用、洩露或釣魚;單一被攻擊的管理員帳戶使得直接利用成為可能。.
- 許多網站有多位管理員(開發者、承包商),這增加了暴露的風險。.
- 攻擊者可以鏈接其他漏洞(XSS、CSRF、會話固定)以獲得管理員會話,然後利用此上傳缺陷。.
- 一旦攻擊者能夠在網頁根目錄下放置可執行檔案,他們就可以執行代碼、持久化並在環境中進行橫向移動。.
即使需要管理員身份驗證,也要將此漏洞視為高優先級。.
技術分析(這裡的“任意檔案上傳”意味著什麼)
任意檔案上傳漏洞發生在檔案上傳未經足夠的伺服器端驗證時:
- 檔案類型和 MIME 類型
- 檔案擴展名
- 目標目錄
- 檔案內容(以防止可執行代碼)
- 檔案名稱(以防止路徑遍歷)
- 1. 上傳端點的授權檢查
2. 在 Make <= 1.5.10 中,上傳端點允許經過身份驗證的管理員將任意文件放置在磁碟上。如果目標是可通過網路訪問的(上傳、插件目錄),攻擊者可能會上傳 PHP 網頁外殼並通過 HTTP 調用它。或者,上傳的文件可能會被其他應用邏輯稍後包含,導致遠程代碼執行。.
3. 此類利用的典型組件:
- 4. 接受通過 POST 的文件數據的上傳端點
- 5. 缺乏嚴格的伺服器端類型/擴展名/內容檢查
- 6. 上傳目標可被網路伺服器訪問
- 7. 寬鬆的文件權限或允許執行的網路伺服器配置
現實攻擊場景
-
8. 惡意管理員或被攻擊的管理員帳戶:
9. 被攻擊的供應商或承包商管理員帳戶被用來通過插件上傳 PHP 網頁外殼,然後攻擊者執行命令以持久化和提升權限。.
-
10. CSRF / 存儲型 XSS 鏈:
11. 攻擊者誘使管理員執行操作或利用存儲型 XSS 獲取特權會話,然後上傳有效載荷。.
-
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 或伺服器配置啟用執行
有用的檢測工具:文件完整性監控、伺服器訪問/錯誤日誌、惡意軟件掃描器和可疑用戶或選項變更的數據庫審計。.
如果您運行受影響的插件,請立即採取措施(事件分流)
- 隔離和控制
- 將網站置於維護模式或下線以限制攻擊者操作。.
- 如果可能,請在調查期間在防火牆或伺服器上阻止公共 HTTP 訪問。.
- 保留證據
- 將日誌(網頁訪問/錯誤、FTP/SFTP、SSH)、數據庫轉儲和文件系統列表複製到安全位置以進行取證。.
- 除非為了控制,否則不要覆蓋日誌或重啟關鍵系統。.
- 識別並刪除可疑文件
搜索最近添加的 PHP 文件並檢查內容。在刪除之前保留取證副本。.
find /var/www/html/wp-content/uploads -type f -mtime -7 -print尋找 webshell 指標,如 base64_decode、eval、preg_replace 與 /e、system/exec 調用。.
- 更改憑證
- 重置所有管理員密碼和服務帳戶(FTP、SSH、DB)。.
- 強制登出所有用戶並使會話過期。.
- 旋轉網站使用的API密鑰和令牌。.
- 檢查持久性
- 檢查 wp-config.php、mu-plugins、.htaccess 和主題/插件 PHP 文件中的注入代碼。.
- 從已知良好的備份中恢復
如果可用,從在遭到入侵之前的乾淨備份中恢復。確認恢復的網站已經修補並且乾淨,然後再重新連接到生產環境。.
- 更新或移除插件
如果有修補程式,立即應用。如果沒有可用的修復,且該插件不是必需的,則卸載並刪除其檔案——僅僅停用可能會留下磁碟上的檔案。.
- 加固和監控
- 應用伺服器端的加固,並在修復後至少設置持續監控幾週。.
如果您對安全執行這些步驟缺乏信心,請聯繫您的託管提供商或專業事件響應團隊——不完全的清理可能會留下持久的後門。.
您可以立即應用的實用緩解措施(不需要代碼級修補)
這些緩解措施減少攻擊面,即使易受攻擊的插件仍然安裝,也能限制影響。.
A. 在 WAF / 網頁伺服器層級阻止上傳端點
創建規則以阻止來自受信 IP 的 POST 請求到插件的上傳端點。如果您的防火牆支持虛擬修補,則阻止匹配利用模式的請求(例如,對 admin-ajax.php 的 POST 請求,並帶有特定的 action 參數)。.
拒絕特定插件上傳 URI 的 nginx 規則示例:
location ~* /wp-admin/admin-ajax.php {
通過檢查插件源代碼確認動作名稱和 URI,並先在測試環境中測試規則。.
B. 禁用上傳目錄中的 PHP 執行
通過配置網頁伺服器防止執行上傳檔案中的 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 進程和文件權限的最小權限
- 確保網頁伺服器以非特權用戶帳戶運行。.
- 設置文件系統權限,使 wp-content 只有在必要時可寫,並且插件文件在更新之前不應可被全世界或網頁伺服器寫入。.
F. 定期備份和不可變副本
- 保持每日的異地備份,並至少有一個網頁伺服器無法更改的不可變快照。.
- 定期測試恢復。.
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 核心、主題和插件更新;訂閱漏洞資訊以快速獲知。.
- 限制管理員帳戶並定期審核角色。.
- 強制對特權用戶啟用雙重身份驗證(2FA)。.
- 使用強大且獨特的密碼,並在懷疑時更換憑證。.
- 在 WP 管理員中禁用檔案編輯:
define('DISALLOW_FILE_EDIT', true); - 定期掃描惡意軟體並執行檔案完整性檢查。.
- 加固 PHP:如果不需要,禁用危險函數(exec、shell_exec、system)。.
- 在網頁伺服器配置中禁用目錄列表。.
- 使用伺服器端保護,例如 mod_security 或等效的規則集以及正確配置的 WAF。.
- 維護經過測試的備份和恢復計劃。.
- 限制 SSH/FTP 存取至已知 IP 並使用基於金鑰的 SSH。.
事件響應手冊(詳細工作流程)
- 分流(前 24 小時)
- 確認網站是否運行受影響的插件/版本。.
- 創建伺服器和數據庫的取證快照。.
- 通過更改管理員密碼並將網站置於維護模式來限制訪問。.
- 控制(24–72 小時)
- 立即應用防火牆/WAF 規則以阻止利用模式。.
- 如果沒有可信的補丁,則禁用或卸載插件。.
- 在取證副本完成後保留並移除可疑文件。.
- 旋轉管理員和系統憑證。.
- 根除與恢復(72 小時 – 數週)
- 清理或恢復受損文件;如果不確定,則從乾淨的備份恢復。.
- 修補和更新所有軟體組件。.
- 如有必要,重建系統並重新發放 API 金鑰和秘密。.
- 事件後
- 執行根本原因分析以了解管理員憑證是如何暴露的。.
- 改善日誌記錄、監控和管理員培訓。.
- 考慮定期進行安全評估和滲透測試。.
受損指標 (IoCs) — 快速檢查清單
- 上傳或插件目錄中具有可疑名稱的新文件
- Webshell 簽名:base64_decode,eval(base64_decode(…)),preg_replace 與 /e,system/exec/passthru
- HTTP 日誌顯示訪問可疑文件或 POST 到插件端點
- PHP 進程的意外外部連接
- 未識別的管理用戶或角色變更
示例加固片段(小心使用)
如果不需要,禁用 XML-RPC:
add_filter('xmlrpc_enabled', '__return_false');
在 wp-config.php 中禁用插件/主題文件編輯:
define('DISALLOW_FILE_EDIT', true);
如果無法立即修補 — 暫時防禦選項
- 如果插件不是必需的,則完全卸載並刪除該插件。.
- 在停用後刪除插件文件以避免殘留代碼。.
- 在網絡伺服器或 WAF 層級阻止插件的管理端點。.
- 將 wp-admin 限制為已知 IP 或在 wp-admin 前放置 HTTP 基本身份驗證。.
- 持續監控利用指標。.
來自香港安全專家的結尾建議
接受文件並在 webroot 下寫入的代碼路徑必須以最高謹慎對待。管理級漏洞通常會迅速導致完全妥協,因為它們允許攻擊者放置持久的可執行代碼。如果您運行受影響的插件並且無法立即更新,請採取保守措施:禁用或刪除該插件,應用伺服器級別的限制,強制執行 2FA 和其他管理加固,並假設已被妥協,直到證明否則。.
如果有疑問,請聯繫您的託管提供商或可信的事件響應團隊,以確保徹底和專業的清理。.
最終檢查清單 — 現在要執行的快速操作
- 驗證插件版本:如果 <= 1.5.10,立即採取行動。.
- 如果有可用的修補版本,請立即更新。.
- 如果不存在修補,請卸載並刪除插件文件。.
- 對所有管理帳戶強制執行 2FA 和強密碼。.
- 在上傳中禁用 PHP 執行,並在伺服器/WAF 層級阻止插件上傳端點。.
- 掃描可疑文件並保留證據以供取證。.
- 清理後旋轉所有憑證和 API 金鑰。.
- 啟用監控:文件完整性、外發流量和訪問日誌。.
參考資料和進一步閱讀
- CVE-2025-6085(公開通告)
- WordPress 安全加固指南(官方文檔)
- PHP 和網頁伺服器加固最佳實踐