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

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

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

定位到WebShell
這一些需要有一定的判斷能力,因為入侵者必定會對WebShell的位置和名字進行偽裝。本著幾個原則進行篩查:不該出現(xiàn)的文件出現(xiàn)到了不該出現(xiàn)的位置、不該訪問的文件被訪問了。定位到common.php后,發(fā)現(xiàn)是一個PHP小馬。
4、修復網(wǎng)站漏洞和被篡改內(nèi)容
由于是采用的發(fā)布版CMS系統(tǒng),存在何種漏洞在網(wǎng)上搜索便知。根據(jù)提示進行修復即可??刂颇夸泴懭朐L問權(quán)限及動態(tài)文件執(zhí)行權(quán)限;修改網(wǎng)站數(shù)據(jù)庫及后臺密碼;修復被篡改頁面,替換原頁面。
5、排查PHP木馬
在網(wǎng)上下載一份PHP木馬查找的代碼,進行掃描?;蚴褂萌缦旅钏阉魑募?/p>
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”
通過分析搜索結(jié)果,進行排查和刪除后門。
6、根據(jù)IP反查入侵者
自行反查,涉及到的因素太多很難查找到真實的攻擊者。例如是偽裝過的IP、ADSL的動態(tài)IP、寬帶共用的公網(wǎng)IP,都將不易進行追蹤。如果情節(jié)嚴重的攻擊,請直接聯(lián)系公安機關(guān),保留信息證據(jù),要知道郭嘉的系統(tǒng)是有上網(wǎng)行為記錄的。
咱們小P民就試試在搜索引擎里搜索日志中獲取的IP地址吧,或許會有收獲的。意外的是,在搜索結(jié)果里居然有與入侵IP完全一致的搜索結(jié)果。

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