網(wǎng)站被黑,安全事故排查和處置的方法

0x01 前言

有朋友問我,網(wǎng)站莫名其妙被黑、頁面被篡改、數(shù)據(jù)被刪,怎么處理比較好,問我這樣的問題也是比較多的了,怎么辦?如果處理不好,掛馬文件仍然存在,即再次被黑的概率很高,不同的攻擊手法也會隨著時代技術(shù)的進(jìn)步而隨之出現(xiàn),處理的方案會變得多樣而復(fù)雜。工作之余,聊一聊這個話題,我對應(yīng)急響應(yīng)的一些實戰(zhàn)經(jīng)驗,把這塊知識做了一個梳理,希望對各位同學(xué)會有所幫助,歡迎糾正,大佬勿噴。

image.png

0x02 網(wǎng)站為什么會被莫名其妙被黑?

我們可以參考以下圖,一般黑客攻擊網(wǎng)站會從以下幾個步驟進(jìn)行。

image.png

多數(shù)情況下黑客拿到網(wǎng)站的控制權(quán)后,都會放置一個webshell(也就是后門程序),來達(dá)到長期控制網(wǎng)站服務(wù)器的目的,為了出現(xiàn)不可預(yù)知的事件,一定要定期對服務(wù)器內(nèi)所有數(shù)據(jù)備份。
webshell就是一個web后門,但是它的功能非常強(qiáng)大,可以獲得一些管理員不希望你獲得的權(quán)限,比如執(zhí)行系統(tǒng)命令、刪除web頁面、修改主頁等,下圖就是部分webshell樣本代碼。

image.png

下圖這些網(wǎng)站頁面就已經(jīng)被webshell篡改了,流量被劫持,已經(jīng)淪陷了。

image.png

0x03 網(wǎng)站入侵后排查思路

3.1、清除網(wǎng)站的webshell、后門
網(wǎng)站頁面被篡改、數(shù)據(jù)庫被脫庫、文件被刪、等等安全事件一但被觸發(fā),黑客就可能在站點的各個目錄上傳多種大大小小的webshell木馬文件,為防止事態(tài)擴(kuò)大,我們第一步是關(guān)閉網(wǎng)站對外的各種訪問(如不影響重要業(yè)務(wù)),再找到webshell、后門,在第一時間把后門清除掉。
可以對網(wǎng)站內(nèi)所有文件、日志、可疑文件全部打包起來,用工具結(jié)合人工全面分析、查殺。

3.1.1 使用工具查殺
這里推薦以下四款工具,同學(xué)行可以把工具綜合起來,一起對文件進(jìn)行掃描查殺。

image.png
image.png
image.png
image.png

3.1.2 人為分析
就目前而言,工具不可能實現(xiàn)100%無遺漏查殺,所有的查殺工具都可能存在漏報或者誤報,所以就一定需要人為對網(wǎng)站內(nèi)的可疑文件進(jìn)行上機(jī)動態(tài)調(diào)試分析。
webshell常見的特征:

  • 存在系統(tǒng)調(diào)用的命令執(zhí)行函數(shù),如eval、system、cmd_shell、assert等
  • 存在系統(tǒng)調(diào)用的文件操作函數(shù),如fopen、fwrite、readdir等
  • 存在數(shù)據(jù)庫操作函數(shù),調(diào)用系統(tǒng)自身的存儲過程來連接數(shù)據(jù)庫操作
  • 具備很深的自身隱藏性、可偽裝性,可長期潛伏到web源碼中
  • webshell可能衍生變種多,可能會自定義加解密函數(shù)、利用xor、字符串反轉(zhuǎn)、壓縮、截斷重組等方法來繞過檢測

我們也就可以對著這些特征做檢查,人為定位webshell,技術(shù)一直在創(chuàng)新,也可以針對性的去寫規(guī)則、正則、打標(biāo)簽、建模、語義分析法、利用前沿技術(shù)機(jī)器學(xué)習(xí)來識別webshell。
在這里推薦幾篇文章同學(xué)們可以參考一下:

0x04 分析此次被入侵的原因

在確認(rèn)webshell、木馬被清除完了之后,我們要做的就是分析此次被入侵的原因,只有把入侵的原因找到,才可能保證下一次不會被同樣的方式入侵。

4.1 分析網(wǎng)站日志(nginx、apche、數(shù)據(jù)庫、容器、中間件 、等產(chǎn)生的日志),如圖:

image.png

分析webshell第一次產(chǎn)生的原因,是哪個請求,對應(yīng)又是哪個模塊下面的頁面,步步跟進(jìn),直到找到源頭為此。
但是有時候日志動不動就有幾個G以上,小編推薦使用Splunk日志分析系統(tǒng)對日志進(jìn)行分析,splunk可以用來分析web日志、數(shù)據(jù)庫日志、系統(tǒng)日志、程序日志、錯誤日志、中間件日志,可以快速幫助我們定位到源頭。


image.png

4.2 分析網(wǎng)站使用的套件、框架、CMS、組件版本 是否有公開漏洞但未修復(fù)的。

比如最近流行的Thinkphp注入漏洞、織夢cms注入漏洞、phpmyadmin包含漏洞、編輯器上傳漏洞、Struts2命令執(zhí)行、等等漏洞,結(jié)合自己的網(wǎng)站進(jìn)行綜合分析可能存在的問題。

比如:網(wǎng)站是一個商城系統(tǒng),就查看一下自己的網(wǎng)站是不是基于開源的Thinkphp框架寫的,或者是不是基于Ecshop二次開發(fā)的,針對性去尋找最新安全漏洞,這里推薦幾個漏洞查詢平臺,可以快速查詢最新漏洞情況:

image.png

4.3 查看WAF、入侵檢測日志
如果網(wǎng)站部署了第三方的Waf、Agent、入侵檢測、安全狗、云鎖、等等相關(guān)安全防護(hù)設(shè)備,被入侵時會可能會引起報警、可以查看相關(guān)記錄來結(jié)合分析,如圖:

image.png

0x05 查看黑客在我機(jī)器上都干了些什么

黑客在我們服務(wù)器上做過什么東西、執(zhí)行過什么命令、創(chuàng)建過什么文件、添加過什么賬號,如果系統(tǒng)安裝了堡壘機(jī),設(shè)置了相關(guān)規(guī)則,一般會自動監(jiān)控起來,當(dāng)執(zhí)行一些危險操作,如添加賬戶、寫文件、添加注冊表、添加服務(wù)器等操作,都會引起異常報警。

如果沒有安裝相關(guān)安全軟件,操作系統(tǒng)本身也都會勤勤懇懇的幫我們記錄這些操作進(jìn)行存檔,那我們需要查看系統(tǒng)中哪些記錄呢,在下面我做了一些梳理,Linux和windows的操作系統(tǒng)是完全不一樣的,所以小編在這里做一下區(qū)分。

5.1 Linux系統(tǒng)

image.png

image.png

推薦以下兩篇Linux應(yīng)急響應(yīng)文章給同學(xué)們哈,我覺得還不錯:

5.2 Windows系統(tǒng)

查看Windows安全事件日志,其中詳細(xì)記錄了是誰在什么時候通過什么手段登錄到系統(tǒng)或者注銷了登錄,通過分析該日志可以詳細(xì)了解服務(wù)器的安全情況以及黑客都做過什么。

在“事件查看器”窗口,展開Windows日志,選擇“安全”,登錄日志就顯示出來了,如圖:

image.png

但日志一條一條的看完,非常不方便,不利于我們進(jìn)行我們進(jìn)行分析。推薦使用:LogonTracer工具配合分析,可以詳細(xì)的查看黑客在我們計算機(jī)中操作過什么。
LogonTracer:是一款用于可視化分析Windows安全事件日志尋找惡意登錄的工具。它會將登錄相關(guān)事件中找到的主機(jī)名(或IP地址)和帳戶名稱關(guān)聯(lián)起來,并將其以圖形化的方式展現(xiàn)出來。

image.png

推薦一篇關(guān)于LogonTracer工具的介紹:https://anquan.baidu.com/article/409

0x06 網(wǎng)站漏洞修復(fù)

針對性修復(fù)漏洞
問題原因找到了,后門查殺了,那我們就要針對性的漏洞修復(fù),每個平臺的系統(tǒng)可能不一樣,那修復(fù)方式也是不一樣的,請根據(jù)實際情況修復(fù)漏洞,可以參考官方網(wǎng)站。
舉個例子,比如:
基于Thinkphp框架任意代碼執(zhí)行漏洞的修復(fù)演示 :
使用編輯器打開\thinkphp\library\think\Request.php,找到第525、526行代碼:

$this->method = strtoupper($_POST[Config::get('var_method')]);
$this->{$this->method}($_POST);

將其修改為如下代碼:

$method = strtoupper($_POST[Config::get('var_method')]);
if (in_array($method, ['GET', 'POST', 'DELETE', 'PUT', 'PATCH']))   {
$this->method =   $method;
$this->{$this->method}($_POST);
 }

0x07 服務(wù)器加固

除了必備常用的安全軟件、waf、idc、之外,還要對各端口、賬號權(quán)限、文件、流量傳輸、后臺、密碼校驗、做好完整的安全體系。

同學(xué)們可以參考如下文章:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容