[WordPress] 網站被駭後的處理流程

這圖會不會讓人覺得我是被害者啊XD

首先要知道是從哪裡被駭客入侵的,常見檢查得點有三個,也代表其對應嚴重程度,越後面越嚴重。

  1. 主題目錄下 404.php 是否有異常程式注入。這通常是主題本身年久失修(或使用者沒更新)。安插在這邊純粹就是要先藏好,不讓使用者觀察到!

  2. WordPress 根目錄下的 index.php 。一樣觀看是否有異常程式碼,會直接在這邊搞鬼的有兩種:全站駭掉的破壞與拿你網站當廣告跳板。

  3. 根目錄下的 wp-config.php

基本上檢查到 3 也已經被注入惡意程式碼的時候,可以說很嚴重了!

但,其實沒有人會沒事檢查這些地方的拉! 網站建置好的時候,記得使用 Google 網站管理員,如果網站真有異常會通知,只是沒這麼即時就是。平時還是以備份加保持更新為積極防範!

回到處理流程,既然已被感染,就不能保證其他正常,所以還原流程是先把 wp-content 整個資料夾與 wp-config.php 中資料庫連線資訊備份好,然後把全站給砍了,「重新安裝」過最新版的 WordPress(放心,不會洗掉你資料庫) ,隨後將 wp-content 目錄覆蓋還原。

這階段是系統端手動更新到最新(注意:不是使用自動更新的方式,而是手動),以及將受害範圍縮小到 wp-content 中。

隨後,使用終端機進去去掃一下 wp-content 目錄是否也有中獎。


grep -Ril "eval" ./


grep -Ril "base64_decode" ./

上面的語法會針對這惡意程式常用寫法來搜尋,參考網址提供的資訊可以自行替代。比對出來的檔案再一一去看是否有夾帶惡意程式碼,除了主題與外掛資料夾內的問題檔案,其他都是直接刪除即可(主題與外掛檔案如果隨意刪除可能會造成網站開啟不能哦!)。至於主題與外掛也被影響到的話,可以照著全站系統核心的手動更新做法(先刪除再重裝)試試!

再次強調,不要純用自動更新方式修正。你想到的駭客也想的到,有很多惡意注入都是藏在正常也關鍵的檔案開頭,不會影響到正常執行過程,這就是木馬後門。

經過「人工」確定掃除「檔案」後,還有「資料庫」部分。匯出資料後找找「<script>」或是有沒有大篇幅的 base64 加密過資料,追蹤其輸出目的正確。這邊這樣翻找還不是很精準,只能說大部分的網站綁架(轉址)都是以 SQL Injection 攻擊為主,雖難保不會有從 JavaScript 檔案下手的,但純 JS 檔案的攻擊在剛剛人工更新後其實就可能跟內容搭不上而斷線,導致攻擊行為被破解淪為沒被發現的垃圾檔。

由於已成為標靶,所以儘管修正好了還是可能被當「練習站」,安全性的提升不能少,把 WordPress 的防火牆外掛給裝上,設定一下阻擋並記錄,再從請求紀錄上反推是否有哪裡漏掉沒處理好。整個攻防戰至少會需要耗費個一兩週來追蹤!

整體來說不容易的點在於範圍太廣與經驗要足,敵在暗處的時候,多多學習才能夠快速反應~

WordPress 防火牆外掛「All In One WP Security & Firewall」、「NinjaFirewall」這兩款我都用過,有興趣可以試試!(或有更好的也歡迎推薦)

另外我把這次協助被駭的網站中幾個有趣的檔案解密後放在 github 上,有興趣也還可以到Hacking Scripts研究研究,知己知彼囉!

- Powered by Mxp.TW -FB2WP-

Facebook 外掛整合


Share: