網站被入侵后的修復和防范
很久以前,我用CMS搭建了一個站點,采集了一些內容,之后就沒有打理了,成為了一個沒人維護的垃圾站。昨天偶爾發現網站不知何時被掛了黑鏈,網站之前就被黑過一次,造成了整站數據被下載,模板被販賣…
以前總是在分享如何對別人的網站進行入侵檢測,這次自己的網站也被入侵了。呵呵,正好借此機會分享一下網站被入侵后的修復和防范措施,在攻與防的對立統一中尋求突破。
1、發現問題
雖然是一個不再打理的小站,但偶爾也會打開看一下。看看互鏈接網站,清理下友情鏈接什么的。這次就是在清理友情鏈接的時候,發現了代碼中多了一段:

由此可以判定,網站已經被入侵,并控制。
2、查找被篡改文件,確定入侵時間
找到篡改文件,可以根據文件修改時間確定被入侵時間,并根據時間反推,查找該時間斷內的訪問日志。以便定位到黑客入侵源。

定位到被篡改文件
被入侵站點采用的是我自己寫的模板,所以直接找到了被篡改的首頁模板位置。并發現文件的最后修改時間是 2012/10/31 18:49,可以確定最后被掛黑鏈的時間。
3、根據入侵時間,查找日志
由于當前CMS是全站生成HTML進行訪問的,所以日志排查比較簡單一點。網站的入侵過程中取得WebShell往往是第一步,直接查找頁面篡改時間前后的動態文件訪問日志即可。

定位到WebShell
這一些需要有一定的判斷能力,因為入侵者必定會對WebShell的位置和名字進行偽裝。本著幾個原則進行篩查:不該出現的文件出現到了不該出現的位置、不該訪問的文件被訪問了。定位到common.php后,發現是一個PHP小馬。
4、修復網站漏洞和被篡改內容
由于是采用的發布版CMS系統,存在何種漏洞在網上搜索便知。根據提示進行修復即可。控制目錄寫入訪問權限及動態文件執行權限;修改網站數據庫及后臺密碼;修復被篡改頁面,替換原頁面。
5、排查PHP木馬
在網上下載一份PHP木馬查找的代碼,進行掃描。或使用如下命令搜索文件:
find /site/* -type f -name “*.php” |xargs grep “eval(”
find /site/* -type f -name “*.php” |xargs grep “base64_decode”
find /site -name “*.php” |xargs egrep “phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decoolcode|spider_bc”
通過分析搜索結果,進行排查和刪除后門。
6、根據IP反查入侵者
自行反查,涉及到的因素太多很難查找到真實的攻擊者。例如是偽裝過的IP、ADSL的動態IP、寬帶共用的公網IP,都將不易進行追蹤。如果情節嚴重的攻擊,請直接聯系公安機關,保留信息證據,要知道郭嘉的系統是有上網行為記錄的。
咱們小P民就試試在搜索引擎里搜索日志中獲取的IP地址吧,或許會有收獲的。意外的是,在搜索結果里居然有與入侵IP完全一致的搜索結果。

在搜索引擎中搜索IP
打開頁面后發現IP來源于某用戶,不過實際上這還說明不了什么。如果是與入侵在同一時間斷內的話就有說服力了。如果有興趣的話,其實還可以對這個用戶利用社工展開分析,以確認是否為入侵者。
7、簡單總結下
網絡安全是木桶效應的完美體現,一個漏洞、一個權限的安全配置問題,都將是造成被入侵的重要因素。在日常的運維過程中,一定細心細致的做好每一步的安全防范,防患于未然。
關于入侵:在入侵結束后,最重要的一步就是咱們常說和擦PP,清除各類日志信息,以免給自己留下后患。另外一點是,如果需要留后門的情況下就將后門隱藏的深一些,以備后需;如果不需要留后門,一定要將相關文件清理干凈,以免后患。
順便說一下,入侵者的篡改文件操作已經是觸犯了法律,也請各位網絡安全愛好者,不要隨意模仿。