![]()
有人一次性收購了 30 個 WordPress 插件,并在全部插件中植入了后門。
作者 | Austin Ginder 編譯 | 蘇宓
出品 | CSDN(ID:CSDNnews)
30 余款插件被批量植入后門、斥資六位數、長達 8 個月未被察覺、甚至借助以太坊智能合約繞過傳統安全攔截,一場隱蔽的 SEO 劫持與遠程入侵事件于近日被安全研究員 Austin Ginder 披露出來。
而就在一周前,他才曝光過一起針對一款名為 Widget Logic 的 WordPress 插件的供應鏈攻擊事件:一款原本口碑可靠的插件,在被新收購方接手后,遭植入惡意代碼。
如今同類事件再度上演,且本次波及規模要大得多,最終導致 WordPress.org 緊急下架并封禁 31 款插件。
![]()
![]()
起因:一名客戶發現了一條安全通知
發現這個后門也屬偶然,一切源于 WordPress 后臺的一條安全預警。Austin Ginder 在博客上寫道,他們的一位客戶給他發了一條消息反饋,稱其客戶站點的 WordPress 儀表盤彈出了風險提示。該通知由 WordPress.org 插件官方團隊推送,警告一款名為 Countdown Timer Ultimate 的插件存在高危代碼,可能導致未授權第三方非法入侵網站。
隨后,Austin Ginder 介入并展開了更深入的安全審計,逐步揭開了這起攻擊的完整鏈條。
他指出,事發后,WordPress.org 已強制將這款插件升級至 2.6.9.1 版本,官方更新本應清除惡意程序,但實際損害早已形成。
![]()
惡意程序藏匿核心配置文件
調查發現,惡意代碼被秘密植入站點核心配置文件 wp-config.php 中。
問題源頭來自插件內置的 wpos-analytics 模塊,該模塊會主動向 analytics.essentialplugin.com 發起遠程聯網請求,下載名為wp-comments-posts.php的后門文件。
該文件刻意仿冒 WordPress 系統核心文件wp-comments-post.php,極具迷惑性,隨后利用其后門能力,向 wp-config.php 注入一大段惡意 PHP 代碼。
此次注入的惡意程序設計極為精巧:它會從遠程命令與控制服務器(C2 服務器)拉取垃圾外鏈、跳轉劫持規則以及虛假頁面內容;并且采用定向投放機制,僅向谷歌爬蟲展示垃圾內容,網站管理員日常訪問完全無法察覺異常。
整件事最離譜的細節在于——攻擊者通過以太坊智能合約解析 C2 域名,調用區塊鏈公共 RPC 節點完成域名解析。傳統的域名關停、解析攔截手段對此完全失效,攻擊者只需更新智能合約地址,就能隨時切換新的控制域名,持久化維持入侵通道。
![]()
官方強制更新治標不治本
WordPress.org 推送的 2.6.9.1 版本,僅封禁了插件遠程聯網的外聯機制,徹底切斷惡意模塊的通信通道,卻完全沒有清理已經寫入 wp-config.php 的注入代碼。
這也意味著,網站的 SEO 垃圾注入漏洞依舊存續,隱藏違規內容仍在持續投放給谷歌爬蟲。
![]()
![]()
通過備份溯源取證,精準鎖定了惡意代碼的注入時間窗口
Austin Ginder 表示,其平臺 CaptainCore 會采用 restic 工具每日自動備份站點數據,他從八份不同時間的備份中提取 wp-config.php,以文件大小為參照,用二分比對的方式逐一排查異常。
![]()
經核實,惡意注入行為發生在 2026 年 4 月 6 日 04:22 至 11:06 之間,整個漏洞暴露窗口期為 6 小時 44 分鐘。
![]()
后門潛伏八月,長期靜默蟄伏
追溯插件完整迭代記錄(共計939次快速保存快照)可以發現,這款插件自2019年1月就部署在該網站中。多年以來,wpos-analytics 模塊僅作為合規的數據分析授權功能正常運行,無任何異常。
Austin Ginder 指出,轉折點出現在2025年8月8日發布的 2.6.7 版本。該版本更新日志僅標注“適配 WordPress 6.8.2 版本兼容性”,實則暗中新增191行惡意代碼,其中包含一處 PHP 反序列化后門。對應文件 class-anylc-admin.php 代碼行數,直接從473行擴增至664行。
新增惡意代碼主要包含三項高危功能:
1. 新增 `fetch_ver_info()` 方法,通過遠程讀取攻擊者服務器數據,并將返回內容交由反序列化函數處理;
2. 新增 `version_info_clean()` 方法,可執行任意動態函數調用,調用參數、函數名稱全部由遠程惡意數據控制;
3. 開放無需身份驗證的 REST API 接口,關閉權限校驗。
這套組合漏洞屬于典型的任意代碼執行漏洞,遠程攻擊者可完全控制調用函數、傳入參數等全部執行邏輯。該后門完成植入后,整整靜默潛伏 8 個月,最終在 2026 年 4 月 5 日至 6 日被批量激活利用。
![]()
插件打包出售,收購方蓄意投毒
這起安全事件的核心誘因,是整套插件資產的低價轉手交易。
該系列插件最初由印度開發團隊打造,核心成員包括 Minesh Shah、Anoop Ranawat 與 Pratik Jain。團隊約2015年以 WP Online Support 為品牌開發 WordPress 插件,后續更名為 Essential Plugin,逐步打造出30余款免費插件,并配套推出付費增值版本,形成完整產品矩陣。
2024 年末,該團隊營收下滑 35%~45%,創始人 Minesh 隨即在 Flippa 平臺掛牌,打包出售整套插件業務與品牌資產。
最終,一位化名「Kris」的買家以六位數美元價格完成收購。公開資料顯示,該買家長期涉足 SEO 灰產、加密貨幣以及網絡博彩營銷領域。Flippa 平臺還曾在 2025 年 7 月,將這筆交易作為經典商業收購案例公開報道。
完整時間線梳理
2015 年 2 月
wponlinesupport.com 域名注冊,團隊正式開啟 WordPress 插件開發業務。
2016 年 10 月
核心插件 Countdown Timer Ultimate 由開發者 anoopranawat 正式上架 WordPress.org 插件商城。
2021 年 8 月
essentialplugin.com 域名注冊,團隊品牌從 WP Online Support 全面升級為 Essential Plugin。
2024 年末
業務營收大幅縮水,創始人掛牌打包出售全部插件資產。
2025 年初
灰產背景買家 Kris 通過 Flippa 完成收購,全盤接手 Essential Plugin 所有產品。
2025 年 5 月 12 日
注冊全新的 WordPress.org 開發者賬號,用于后續插件版本提交。
2025 年 5 月 14 日-16 日
原官方開發賬號完成最后一次代碼提交,代碼作者標識被批量篡改。
2025 年 8 月 8 日
新賬號首次提交版本更新,發布暗藏反序列化遠程執行后門的 2.6.7 版本,更新日志刻意造假隱瞞惡意修改。
2025 年 8 月 30 日
essentialplugin.com 域名 WHOIS 信息被篡改,注冊人改為蘇黎世的 Kim Schmidt,綁定 ProtonMail 隱私郵箱,隱匿真實身份。
2026 年 4 月 5 日- 6 日
后門被批量植入,惡意控制端域名開始向所有搭載該系列插件的網站推送惡意載荷。
2026 年 4 月 7 日
WordPress.org 官方一日之內,永久下架封禁 Essential Plugin 旗下全部 31 款插件。
2026 年 4 月 8 日
官方全網強制推送插件自動更新至 2.6.9.1,通過添加終止代碼、注釋屏蔽高危后門函數,臨時封堵漏洞。
值得注意的是,收購方接手后的第一次代碼提交,就直接植入了高危后門,全程蓄謀已久。
![]()
三十余款插件集體下架
2026 年 4 月 7 日,WordPress 官方插件團隊采取硬核處置措施,永久下架 Essential Plugin 開發者名下所有產品,當日封禁插件數量超 30 款。
以下為已確認受影響的插件列表:
Accordion and Accordion Slider — accordion-and-accordion-slider
Album and Image Gallery Plus Lightbox — album-and-image-gallery-plus-lightbox
Audio Player with Playlist Ultimate — audio-player-with-playlist-ultimate
Blog Designer for Post and Widget — blog-designer-for-post-and-widget
Countdown Timer Ultimate — countdown-timer-ultimate
Featured Post Creative — featured-post-creative
Footer Mega Grid Columns — footer-mega-grid-columns
Hero Banner Ultimate — hero-banner-ultimate
HTML5 VideoGallery Plus Player — html5-videogallery-plus-player
Meta Slider and Carousel with Lightbox — meta-slider-and-carousel-with-lightbox
Popup Anything on Click — popup-anything-on-click
Portfolio and Projects — portfolio-and-projects
Post Category Image with Grid and Slider — post-category-image-with-grid-and-slider
Post Grid and Filter Ultimate — post-grid-and-filter-ultimate
Preloader for Website — preloader-for-website
Product Categories Designs for WooCommerce — product-categories-designs-for-woocommerce
Responsive WP FAQ with Category — sp-faq
SlidersPack – All in One Image Sliders — sliderspack-all-in-one-image-sliders
SP News And Widget — sp-news-and-widget
Styles for WP PageNavi – Addon — styles-for-wp-pagenavi-addon
Ticker Ultimate — ticker-ultimate
Timeline and History Slider — timeline-and-history-slider
Woo Product Slider and Carousel with Category — woo-product-slider-and-carousel-with-category
WP Blog and Widgets — wp-blog-and-widgets
WP Featured Content and Slider — wp-featured-content-and-slider
WP Logo Showcase Responsive Slider and Carousel — wp-logo-showcase-responsive-slider-slider
WP Responsive Recent Post Slider — wp-responsive-recent-post-slider
WP Slick Slider and Image Carousel — wp-slick-slider-and-image-carousel
WP Team Showcase and Slider — wp-team-showcase-and-slider
WP Testimonial with Widget — wp-testimonial-with-widget
WP Trending Post Slider and Widget — wp-trending-post-slider-and-widget
所有相關插件已被永久下架。當前在 WordPress.org 上搜索該作者名稱已無任何結果,插件頁面完全消失。與此同時,analytics.essentialplugin.com 接口也已失效,返回內容僅為:{“message”:“closed”}。
![]()
類似的攻擊其實早已發生過
2017 年,一名使用化名 “Daley Tias” 的買家以 1.5 萬美元收購了 Display Widgets 插件(約 20 萬次安裝),隨后在代碼中植入了網貸垃圾廣告。此后,該攻擊者又以相同手法陸續入侵了至少 9 個插件。
本次 Essential Plugin 事件,本質上只是同一套攻擊劇本的放大版:超過 30 個插件、數十萬活躍安裝量,以及一個通過公開市場完成收購、但在數月內被武器化的八年歷史項目。
在實際處置中,相關環境中的插件已經全部完成修復。WordPress.org 的強制更新雖然加入了 return; 語句,用于阻斷插件的“回連”功能,但本質上只是臨時性修補措施,并未移除 wpos-analytics 模塊本體及其全部代碼邏輯。
因此,進一步的處理方式是直接重構插件版本,將整個后門模塊徹底剝離,并重新打包生成干凈版本。
在實際排查中,Austin Ginder 在 22 個客戶站點的 26 個 Essential Plugin 插件中,確認有 12 個被使用,其中 10 個已完成修復。其余部分要么本身不包含后門模塊,要么屬于原作者的“pro”分支版本。對應的加固版本已統一托管至 B2 存儲,可用于持續分發與替換更新。
wp plugin install https://plugins.captaincore.io/post-grid-and-filter-ultimate-1.7.4-patched.zip --force每個修復版本都會徹底移除 wpos-analytics 目錄,從主插件文件中刪除對應的加載函數,并將版本號更新為 -patched 標識。插件本身的功能在此過程中依然可以正常運行。
通過 Claude Code 可以相對快速地完成修復流程。只需提供本文作為上下文,并指定需要處理的插件,它即可按相同方式移除 wpos-analytics 模塊,這一模式在 Essential Plugin 系列中基本完全一致。
具體處理步驟如下:
從插件目錄中刪除 wpos-analytics/ 文件夾;
在主插件 PHP 文件中移除加載函數代碼塊(可通過搜索 “Plugin Wpos Analytics Data Starts” 或 wpos_analytics_anl 定位);
將插件的 Version 頭信息更新,添加 -patched 標識以區分修復版本;
最后重新打包壓縮,并通過命令強制覆蓋安裝(wp plugin install your-plugin-patched.zip –force)。
完成插件層面的處理后,還需要重點檢查 wp-config.php 文件。
惡意代碼通常會追加在 require_once ABSPATH . wp-settings.php; 同一行末尾,因此很容易在快速瀏覽時被忽略。如果該文件體積明顯異常增大(注入內容通常會增加約 6KB),基本可以判斷站點已經遭到實際入侵,此時僅修復插件是不夠的,還需要進行全站級別的徹底清理。
![]()
WordPress 插件生態的信任危機
短短兩周內,連續兩起大規模插件供應鏈攻擊接連爆發,手法如出一轍:收購一款擁有穩定用戶群的知名插件,獲取其在 WordPress.org 的提交權限,然后注入惡意代碼。
Essential Plugin 這筆收購全程完全公開,買家的灰產從業背景清晰可查。然而,這筆收購卻幾乎沒有經過任何來自 WordPress.org 的審查就順利完成。
目前,WordPress.org 并沒有針對插件所有權轉移的標記或審核機制:當控制權發生變更時,用戶不會收到任何“所有權變更”的通知;開發者賬號更換后,也不會觸發額外的代碼審查流程。盡管插件團隊在攻擊被發現后反應迅速,但從后門植入到最終被察覺,中間已經過去了整整 8 個月。
對于正在運營 WordPress 站點的用戶而言,建議盡快對所有站點進行排查,確認是否使用了上述提到的 26 個插件。一旦發現,應立即進行修復或直接移除。同時,務必檢查核心配置文件 wp-config.php,確認是否存在異常代碼。
來源:https://anchor.host/someone-bought-30-wordpress-plugins-and-planted-a-backdoor-in-all-of-them/
【活動分享】"48 小時,與 50+ 位大廠技術決策者,共探 AI 落地真路徑。"由 CSDN&奇點智能研究院聯合舉辦的「全球機器學習技術大會」正式升級為「奇點智能技術大會」。2026 奇點智能技術大會將于 4 月 17-18 日在上海環球港凱悅酒店正式召開,大會聚焦大模型技術演進、智能體系統工程、OpenClaw 生態實踐及 AI 行業落地等十二大專題板塊,特邀來自BAT、京東、微軟、小紅書、美團等頭部企業的 50+ 位技術決策者分享實戰案例。旨在幫助技術管理者與一線 AI 落地人員規避選型風險、降低試錯成本、獲取可復用的工程方法論,真正實現 AI 技術的規模化落地與商業價值轉化。這不僅是一場技術的盛宴,更是決策者把握 2026 AI 拐點的戰略機會。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.