昨天晚上 1 點多緊急處理了下薇曉朵的一個在線產品測試站羣,萬幸的是這個站本身已經準備更換服務器打算廢棄了。索性沒有造成大的影響,但是測試站點所有 WordPress 主題都被感染了惡意病毒。
原因來自於下面這封安全掃描郵件,在列出了下面的主題信息清單後,着實把我給嚇到了,幾乎全滅啊,而且全都是主題的 functions.php 功能文件,實在是太狠了。
睡不着了,趕緊爬起來進服務器去看了下,發現這些文件有個共同點就是在去年 2017 年 11 月 25 日被修改過,因為是測試站,所以每款主題的上傳數據時間都是不一樣的,但這麼齊刷刷的時間一定是被執行批量修改導致的。那麼在服務器網站裏面肯定也是有病毒執行的文件存在。
後來經過排查我們也找到了惡意文件和認識了這款惡意病毒,做過清理和排查後,薇曉朵完全刪掉了 3 號主題測試站。這篇文章就以示警戒,另外就是提醒網絡安全和 WordPress 安全的防範問題。
1 、 WordPress 病毒 WP-VCD:
此病毒名為 WP-VCD 一般是先被植入到 WordPress 主題和插件裏面然後被用户安裝後,就通過 wp-config.php 文件獲取到數據庫的賬户信息,再通過將惡意代碼注入到 MySQL 裏面進行尋找主題配置信息,一旦找到就執行批量植入到全部主題的 functions.php 文件內。如下圖:
因為 functions.php( 路徑為 wp-content/themes/你的主題名/functions.php) 是 WordPress 主題最重要的文件之一,所以很少有小白用户會去改動此文件。
2 、 WP-VCD 病毒長什麼樣的:
正常的 WordPress 主題或者子主題都會有幾個必備文件,簡單説是三個,
- screenshot.png 主題預覽截圖
- functions.php 主題功能文件
- style.css 主題信息及樣式表
但被感染的主題可能就會多出下面這些亂七八糟的文件:
另外在 WordPress 的 wp-includes 目錄裏面還會多出幾個未知文件:
- wp-tmp.php —— 疑是 javascript 廣告代碼
- wp-vcd.php —— 有經過加密的代碼
- feed-rss-put.php —— 疑是 javascript 廣告代碼
- wp-feed.php —— 全是 IP 信息
我們打開其中的一個 wp-vcd.php 可以看到以下內容:
這樣就可以很清楚的判斷這些文件是惡意病毒了,而且是專門寄生於 WordPress 的,因為是第一次碰到這種情況,我們對 wp-vcd 病毒也不是很熟悉,最開始還是持懷疑態度的。
以為是安全軟件誤報,但因為 WordPress 是完全開發源代碼的,這些加密的 PHP 是病毒無疑,存在於 wp-includes 目錄裏面就是為了掩飾為系統文件,讓人不敢亂刪掉。
3 、已經中毒要如何解決和處理?
最簡單直接的方式就是刪掉這些文件,如果你有備份的話,可以把主題備份還原下,如果你的網站已經存在這些文件可以對照上面列出的文件名稱找到並刪除掉這些惡意 PHP 文件。
再有就是打開你網站已經安裝的每款主題的 functions.php 手動刪除掉頭部加載的惡意代碼信息,也就是找到並刪掉
//$end_wp_theme_tmp
?>
包含這一段以上的全部代碼,注意 ?><?php 要把前面的 ?> 也刪掉,不然會導致主題出錯。
4 、病毒從何而來什麼情況下會中毒;
這就要説下現在國外和國內的 WordPress 盜版站問題,始終請你記住一點,免費的才是最貴的,天底下更沒有白吃的午餐。雖然很多站點都是提供免費的破解主題下載,同時也還有很多的資源你可以隨便下載,但這裏面有部分肯定是包含了不懷好意的人植入的惡意代碼的。
薇曉朵這次的情況經過早上的排查發現,是由於技術員在測試一款新主題時因為有 API key 限制就通過國外網站找到了 nulled 主題後上傳到測試站用完沒管過導致的,索性沒有造成大問題。
對於 WordPress 的安全問題,薇曉朵會在近期整理一篇較為詳細的文章進行講解和説明,如果您需要好好做網站,需要安全放心的主題和插件的話,可以考慮下我們的數字商城,這些產品上線前都是通過嚴格的測試的,並且國內也只有我們敢做出賠付承諾。
發表回覆