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

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

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

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

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