WordPress wp2shell 漏洞你中了嗎?用 Compromise Scanner 一鍵檢查攻擊痕跡

7 月 17 日 WordPress 推送了 wp2shell 漏洞鏈的修補更新。更新核心是把門鎖上,但如果攻擊者在你鎖門之前就已經進來了呢?

建了假帳號、埋了後門、在資料庫留了痕跡。光更新不會清掉那些東西。

Eye Security 做了一個免費外掛 Compromise Scanner for wp2shell,專門檢查這組漏洞鏈留下的攻擊痕跡。


這個外掛做什麼

唯讀的鑑識工具。不會改你網站上的任何東西。

它讀取資料庫和外掛目錄,比對已知的 wp2shell 攻擊痕跡,用加權評分給你一個結論。它不修補漏洞(修補要靠更新核心),也不清除惡意程式(清除需要另外處理,或找專人協助)。


它檢查哪些痕跡

oEmbed 快取異常

wp2shell 利用 oEmbed 渲染做為寫入原語。攻擊過程會產生異常的 oembed_cache 記錄:指向自己網站的 embed、數量剛好三筆、建立時間落在漏洞揭露日期附近。

資料庫物件異常

parent ID 高得不合理的文章、已知 PoC 標題或 slug、漏洞揭露後才出現的 customize_changeset。

帳號異常

公開的攻擊程式碼會建帳號名 wp2_ 開頭、email 用 @wp2shell.invalid。也會檢查漏洞揭露後建立的非原始管理員帳號。

刪除帳號的殘留

有些攻擊者會「建帳號 → 做完事 → 刪帳號」試圖滅跡。但 wp_usermeta 可能殘留孤立 metadata,wp_users 的 ID 序列會出現缺口。

Webshell 檔案

外掛目錄裡有沒有 wp2shell_* 命名的檔案或目錄。


怎麼用

到 WordPress.org 下載 ZIP,然後到後台 → 外掛 → 安裝外掛 → 上傳 → 啟用。啟用後左側選單會出現「Compromise Scanner for wp2shell」,點進去按「Run scan」就可以了。

通常不到一分鐘就掃完。掃描頁面上有「Remove this plugin」,可以一鍵移除。


結果怎麼看

加權評分三個等級

No indicators(低於 25 分)→ 沒找到已知痕跡,初步排除

Some indicators(25–49 分)→ 有部分吻合,可能誤報,需人工確認

Multiple indicators(50+ 分)→ 多項吻合,強烈建議進一步調查

No indicators:確認核心已更新就可以了。但要注意,這只代表「沒找到這種特定攻擊的痕跡」。

Some indicators:建議逐一檢視每個命中項目。最近剛好有新增管理員?那帳號異常可能是誤報。最近用 oEmbed 嵌入過自己的內容?那 oembed_cache 異常可能是正常行為。排除合理原因後仍有解釋不了的項目,就該認真調查。

Multiple indicators:建議用「Export report (.zip)」下載報告,裡面有原始資料庫記錄。接下來需要走完整的清除流程:備份 → 掃描 → 清除 → 核心重裝 → 清帳號改密碼洗 salt → 加固。


幾個提醒

建議先更新核心,再裝掃描外掛。站還沒更新到修補版本就裝掃描器,掃出來的結果還沒看完,攻擊者可能又從同一個漏洞打進來。先封洞口,再檢查有沒有已經被打過。

掃完之後建議移除。這是鑑識工具,不是常駐的安全外掛。留著用不到的外掛只會增加攻擊面。

如果管理多個站,每個都手動裝外掛會比較慢。Eye Security 在 GitHub 上有命令列版本的掃描工具,可以透過 SSH 批次執行。

這個外掛只檢查 wp2shell 這一種攻擊。如果網站是被其他漏洞打進來的(過期外掛、弱密碼),它掃不到。通用的安全掃描還是需要 Wordfence、Sucuri 這類工具。

搞不定?讓專人處理

WP 中毒救援 $5,500 起 | 外掛衝突排查含版面復原 $4,000 起

了解服務方案 →

文章分享