一個安裝量超過20萬的WordPress插件被曝存在後門

一個安裝量超過20萬的WordPress插件中被曝存在後門

在過去的一段時間裡,一個名為Display Widgets的WordPress插件被曝存在惡意後門。

後門代碼在Display Widgets 2.6.1版本(6月30日發布)和2.6.3版本(9月2日發布)中存在。

WordPress.org官方團隊已經關注該問題並且從官方的WordPress插件倉庫中移除了這一存在後門的插件。當它被刪除時,該惡意插件的安裝量已經超過了20萬,我們雖然無法確定有多少用戶已經更新到存在後門的版本,但可想而知,影響範圍還是很大的。

令人震驚的是,在正式移除該插件前,已經多次發生過類似的問題。

安全客小百科

Display Widgets是一個小工具任意顯示插件,這個小工具安全增強插件,可以讓網站的小工具在任意位置顯示,操作便捷。

Display Widgets插件在今年5月份賣給新的開發商

Strategy11的Stephanie Wells開發了該插件,但在其將重點轉移到插件的高級版本開發之後,她決定將開源版本賣給一位新的開發人員,這名開發者有更多的精力去維護插件,服務於用戶群體。

新的開發者在購買該插件一個月後,於6月21日發布了v2.6.0版本。

第一次下架

一天之後,SEO顧問David Law和一個名為Display Widget SEO Plus的競爭插件的作者向WordPress.org小組發送了一封電子郵件,告知Display Widgets2.6.0版本沒有遵守WordPress插件規則,該插件會從第三方伺服器下載超過38M的代碼。據調查顯示,這38MB代碼包含Display Widgets 2.6.0在網站上記錄流量的跟蹤功能。代碼功能包含收集用戶IP地址,user-agent信息,收集domain,以及用戶正在查看的頁面等數據。該插件會將此信息發送到第三方伺服器。

其他用戶也發現了這種行為,並通過插件的WordPress.org支持論壇報告了這個問題。

遵循WordPress的插件發布規則,WordPress.org小組第二天從WordPress插件倉庫中將該插件下線。

第二次下架

一周之後,在7月1日,插件的新作者設法將該插件上線並發布新版本v2.6.1。該版本在插件中集成了一個38MB大小的文件(geolocation.php),以繞過WordPress.org的插件審核規則,插件不再從第三方伺服器下載代碼。

持續關注該插件的人,就該插件的問題又一次聯繫到了WordPress.org的工作人員。這一次,他報告說,該插件現在具有惡意後門,允許插件的作者訪問到遠端的站點添加新的頁面或文章。並且仍然存在記錄用戶流量的惡意功能。

一天後,該插件再一次在WordPress插件倉庫中移除。

第三次下架

插件連續兩次下架後,作者仍然不氣餒,存在僥倖心理再一次將該插件上傳至官方倉庫。根據插件更新日誌,新作者在7月6日WordPress插件倉庫中發布了2.6.2版本。幾天後,插件似乎已經停止了所有的惡意行為。不幸的是,惡意行為並沒有結束。

7月23日,一個名為Calvin Ngan的用戶向WordPress官方工作人員提出了投訴,指責該插件創建了很多不可檢測的垃圾鏈接。

就像是前兩次下架的原因一樣,Ngan表示他最終發現在geolocation.php文件中存在惡意行為,該文件由插件的新開發者在2.6.1版本中添加。分析人員發現,該版本插件會在網站中創建新的頁面或文章

這些頁面和博客文章並沒有出現在後端管理面板中。

此外,該插件還會從登錄用戶(通常是站點管理員)中隱藏這些垃圾頁面。只有已登出的用戶(普通網站訪問者)才顯示這些新頁面。要創建這些秘密帖子,該插件聯繫了一個遠程域名,從其中檢索應該在頁面中插入的內容。

Wordfence已經跟蹤到該插件會鏈接至一下域名,這些域名全都指向至52.173.202.113:

stopspam.io registered July 2, 2017nw-p.io registered July 11, 2017ngeoip2.io registered July 24, 2017nmaxmind.io registered July 24, 2017n

在Ngan報告一天之後,WordPress官方團隊第三次從官方網站上移除了Display Widgets插件。

第四次下架

第三次下架之後,作者仍然沒有放棄,在9月2日之後作者將2.6.3版本的插件上傳至WordPress的官方插件倉庫。而且這個版本也是惡意的,因為在9月7日,另一個用戶再次抱怨該插件插會在他的網站中插入垃圾鏈接。

在插件的支持主題中發表的兩個回復中,兩個插件官方賬號試圖淡化該事件,聲稱他們的網站被黑客入侵,因為當用戶將geolocation.php代碼與其他插件相結合時,他們的網站將會被利用。

在插件的支持主題中發表的兩個回復中,兩個插件官方賬號試圖淡化該事件,聲稱他們的網站被黑客入侵,因為當用戶將geolocation.php代碼與其他插件相結合時,他們的網站將會被惡意利用。

Hi,nThe other admin here. Unfortunately the addition of the GEO Location made the software vulnerable to a exploit if used in conjunction with other popular plugins.nThe latest update fixed and sanitised the vulnerability. A simple empty of the cache & clearing of the wp_options table (if affected) should remove that post.nAgain i apologise. But this should fix it. We estimate only around 100 or so sites to be comprimised.nThanksnDWn

將該插件從官方倉庫中刪除是極好的

該插件在9月8日再次從WordPress.org插件倉庫中第四次被刪除。這一次,下架似乎是永久的。WordPress.org的工作人員似乎已經接管了該插件,並且發布了2.7.0版本,該版本包含與版本2.0.5(插件最後一個乾淨的版本)完全相同的代碼,然後再發售給新用戶。該插件不再從WordPress.org官方網站上提供,這意味著它不能新安裝,但舊版本可以在網站後台升級為不存在後門的版本。

購買該插件的公司的主營業務就是收購各種舊插件

由CEO Mark Maunder領導的Wordfence團隊也投入了一些時間來追蹤該後門攻擊背後的詳情。Maunder表示,他把插件的新買家追蹤到一個名為WP Devs的服務商。由於該公司的網站在其主頁上表示,他們提供一種服務,收購舊的和被遺棄的插件,目前他們已經擁有34個插件。

據Maunder的調查顯示,WP Devs團隊似乎由兩人組成,一個來自美國,一個有可能來自於俄羅斯。Maunder與WP Devs的以為成員聯繫,其表示他們之前花了15000刀購買了該插件。之後將其以兩萬刀的價格轉售給了加利福尼亞州的一家公司,並簽署了保密協議。

在撰寫本文時,WP Devs的發言人所述的真實性尚不得而知。Maunder還指出,無論誰在四個Display Widget惡意版本中有意插入了後門代碼,並不是偶然的情況下有人從另一個項目中複製了惡意代碼。

他分析2.6.3版本(最後一個惡意版本)的代碼,版本更新還包括一個後門代碼中的bug修復,這以為著插件的作者知道他們在做什麼。

後記

Wordfence CEO要求WordPress社區與WordPress的工作人員就這一最近的事件進行和解,雖然在一個插件中四次發現了惡意行為。Maunder表示,許多論壇版主和插件庫維護者都是志願者。請不要粗暴地對他們進行判斷,通常來說,他們做的還是不錯的,保持著世界上最受歡迎的CMS的存儲庫和論壇系統正常運行。

另一方面,White Fir Design和David Law並不這樣認為。David Law強調,由於他被WordPress官方人員勸告,他撤回了他的一份分析報告,理由是「不要對支持論壇的開發者做沒有根據的惡意推測」。

White Fir Design的團隊表示:「這種情況的發生充分說明WordPress在插件審核方面存在問題,就拿這次的情況來說還是要加大針對插件內容的審核力度,避免日後再次發生同類情況。」

參考鏈接

loome.net/wpplugins/cnp


推薦閱讀:

輕鬆擁有自己的網站,四個知名的開源建站 CMS推薦,總有一款適合你
如何正確學習wordpress?
WordPress的固定鏈接如何設置?

TAG:WordPress | WordPress插件 | 软件后门 |