了解最新公司動態(tài)及行業(yè)資訊
ID:-
本文通過一個案例來介紹一個戒煙后處理的思路和過程。 是體制下最常用的手段和方法。
1、被電擊現(xiàn)象
這是托管在中國聯(lián)通機(jī)房的客戶門戶網(wǎng)站。 客戶收到聯(lián)通通知:因公司不斷對外發(fā)送數(shù)據(jù)包,100MB帶寬用完,聯(lián)通斷網(wǎng)。 本次安裝的是5.5版本的系統(tǒng),對外開放了80和22端口。
我從客戶那里了解到,網(wǎng)站訪問量不多,所以帶寬占用不會太高,絕對不可能用完100MB帶寬,所以很有可能是被流量了,所以我登錄做了一個詳細(xì)的檢查。
二、初步分析
在聯(lián)通人員的配合下,我們測量了網(wǎng)絡(luò)流量,發(fā)現(xiàn)80端口確實有外部掃描流量,于是我們登錄系統(tǒng),通過-an命令查看系統(tǒng)開放的端口。 奇怪的是,沒有檢測到與端口 80 相關(guān)的網(wǎng)絡(luò)連接。 然后用ps-ef、top等命令也沒有發(fā)現(xiàn)什么可疑的地方。 因此懷疑系統(tǒng)可能已被植入。
為了驗證系統(tǒng)是否被植入,我們用之前備份的同版本可信操作系統(tǒng)命令對網(wǎng)站下的ps、top等命令進(jìn)行了校準(zhǔn),發(fā)現(xiàn)網(wǎng)站下的這兩條命令確實被改動了, 所以我們可以推斷 , 已經(jīng)安裝, 和程序的安裝級別。
3、斷網(wǎng)分析系統(tǒng)
因為它一直在往外發(fā)包,所以首先要做的就是斷網(wǎng),然后分析系統(tǒng)日志尋找源頭。 并且系統(tǒng)命令已經(jīng)被替換,如果繼續(xù)對這個系統(tǒng)進(jìn)行操作,就會顯得不可信。 有兩種方法可以防止這些情況。 第一種方法是把硬盤取出來,掛載到另一個安全的硬盤上進(jìn)行分析。 另一種方法是從相同版本的受信任操作系統(tǒng)復(fù)制它。 所有的命令都到這個平臺下的某個路徑下,然后在執(zhí)行命令的時候指定這個命令的完整路徑。 這是第二種方法。
首先查看系統(tǒng)的登錄日志,看是否有可疑的登錄信息,執(zhí)行如下命令:
更多/var/log/|grep
通過查看命令輸出,有一條日志引起了我們的懷疑:
:10:[20701]:.17.163.
該日志顯示,10月3日下午3點10分,一個IP地址為62.17.163.186的郵件賬號成功登錄系統(tǒng)。 Mail是系統(tǒng)的外部賬號,默認(rèn)登錄操作失敗。 經(jīng)核實,62.17.163.186的IP是來自愛爾蘭的地址。 從郵件賬號的登錄時間來看,早于該網(wǎng)站被攻擊的時間。
然后查看系統(tǒng)文件/etc/,發(fā)現(xiàn)可疑信息:
郵件:$1$$X1:15400:0:99999:7:::
很明顯,郵件賬號已經(jīng)設(shè)置好了,只是改成可以登錄了。之所以使用郵件賬號,推測是用戶想留下一個隱藏賬號,方便登錄系統(tǒng)以后再來。
然后繼續(xù)查看其他系統(tǒng)日志,比如/var/log/、/var/log/wtmp等都是空文件。 可見作者已經(jīng)清除了系統(tǒng)日志文件。 至于為什么/var/log/文件沒有被清除,不清楚 明白了。
4.找到攻擊源
至此,我們知道的是之前有一個郵件賬號登錄過系統(tǒng),為什么這個網(wǎng)站會不斷的向外界發(fā)送數(shù)據(jù)包呢? 必須找到對應(yīng)的來源,并在其上替換ps命令用于查看系統(tǒng)當(dāng)前運行情況,發(fā)現(xiàn)新的疑點:
Sep29?4-00:11:58.t
.t 程序是什么? 繼續(xù)執(zhí)行top命令,結(jié)果如下:
%CPU%+.391.52892:19.t
從輸出可以看出這個t程序已經(jīng)運行了4天左右,用戶正在運行這個程序,但是這個t程序消耗了大量的顯存和CPU,這也是導(dǎo)致異常流暢的原因客戶之前報告的網(wǎng)站。 根據(jù)這個輸出,我們得到t程序的PID為22765,拿出來根據(jù)PID找到執(zhí)行程序的路徑。
進(jìn)入顯存目錄,查看對應(yīng)PID目錄下的exe文件信息:
[root@~]#/mnt/bin/ls-al/proc/22765/:09/proc/22765/exe->/var/tmp/.../apa/t
這樣就找到了對應(yīng)的完整程序執(zhí)行路徑。 這個路徑非常隱蔽,因為/var/tmp目錄默認(rèn)是任何用戶都可以讀取的,而作者就是利用這個在/var/tmp目錄下創(chuàng)建了一個“...”,程序源碼就隱藏在這個目錄。 進(jìn)入/var/tmp/.../目錄,找到筆者放置的一系列文件,列表如下:
[root@...]#/mnt/bin/ls-al
drwxr-xr-:09apa
-rw-r--r--:09apa.tgz
drwxr-xr-:
drwxr-xr-:09哈哈
-rw-r--r--:10kk.tar.gz
-rwxr-xr-:10登錄
-rw-r--r--:.tgz
-rwxr-xr-:10z
通過分析那些文件,基本可以推斷出這就是我們要找的程序源,其中:
1)z程序用于清理系統(tǒng)日志等相關(guān)信息,如執(zhí)行:
./z62.17.163.186
執(zhí)行該命令后,系統(tǒng)中所有與62.17.163.186相關(guān)的日志將被徹底清除。
2)apa目錄下有一個程序t,就是之前在系統(tǒng)中看到的程序。 運行這個程序后,這個程序會手動讀取apa目錄下的ip文件,ip文件記錄了各種ip地址信息。 據(jù)推測,這個t程序應(yīng)該掃描ip文件中記錄的所有ip信息,以獲得權(quán)限。 可見,該網(wǎng)站長期以來一直深受廣大讀者的喜愛。
3)haha目錄下放置的程序是用來替換系統(tǒng)相關(guān)命令的,也就是說這個目錄下的程序讓我們很難看到操作系統(tǒng)的異常情況。
4)登錄程序是用來替代系統(tǒng)登錄程序的程序。 本程序還可以記錄登錄帳號和密碼。
5.查找攻擊原因
至此,網(wǎng)上發(fā)生的事情已經(jīng)基本清楚,而攻擊者是如何入侵本站的呢? 這個問題很重要,必須找到癥結(jié),才能從根本上堵住。
為了弄清楚用戶是如何介入的,有必要了解這里的軟件環(huán)境。 這是一臺基于 . 因為端口不對外開放,所以問題集中在內(nèi)部。
通過查看配置,發(fā)現(xiàn)只處理了部分靜態(tài)資源請求,而且大部分網(wǎng)頁都是靜態(tài)頁面,所以不太可能使用網(wǎng)頁模式系統(tǒng)。 既然可能來自,那么如果你嘗試通過這種方式查看日志,其實可以發(fā)現(xiàn)一些可疑的訪問痕跡。 通過查看.log文件,發(fā)現(xiàn)如下信息:
62.17.163.186--[29/Sep/2013:22:17:06+0800]"GET|echo;echo;ps+-/1.0""-""/5.0(;U;NT5.1;pt- BR;rv:1.8.1) 壁虎//2.0"
62.17.163.186--[29/Sep/213:22:17:35+0800]"GET|echo;echo;cd+/var/tmp/.../haha;ls+-aHTTP/1.0""-"" /5.0(;U;NT5.1;pt-BR;rv:1.8.1)壁虎//2.0"
到目前為止,發(fā)現(xiàn)的癥結(jié)最初是 .pl 腳本之一。 了解了這個的應(yīng)用后,客戶確實使用了一個開源的插件來做網(wǎng)頁訪問統(tǒng)計。 通過這個,用戶可以直接在瀏覽器上進(jìn)行操作服務(wù)器運維,比如查看服務(wù)器運維,創(chuàng)建目錄等。從里面的第二條日志可以看出,用戶在普通瀏覽器中切換到了/var/tmp/.../haha目錄執(zhí)行。
這個腳本很爛,但是官網(wǎng)上已經(jīng)給出了修復(fù)方法。 為此,打補(bǔ)丁的方法非常簡單。 打開.pl文件,找到如下信息:
如果 ($=~/=([^&]+)/i)
{
$=&("$1");
}
將其更改為以下內(nèi)容:
如果 ($=~/=([^&]+)/i)
{
$=&("$1");$=~tr/a-z0-9_-/./a-z0-9_-/./cd;
}
6.解謎
通過上面的逐步分析和介紹,這次相遇的原因和過程早就很清楚了。 大致流程如下:
1)用戶通過腳本.pl文件進(jìn)入系統(tǒng),在/var/tmp目錄下創(chuàng)建一個隱藏目錄,然后將文件傳送到該路徑下。
2)攻擊者通過植入程序,獲得了系統(tǒng)的超級用戶權(quán)限,從而控制了這臺電腦,并通過這臺電腦向外發(fā)送數(shù)據(jù)包。
3)作者的IP地址62.17.163.186可能是代理過來的,也可能是作者控制的其他人。
4) 用戶為了永久控制本機(jī),更改了系統(tǒng)默認(rèn)帳號mail的信息,更改了郵件帳號登錄,但是設(shè)置了郵件帳號。
5)完成后,作者通過程序手動清除了系統(tǒng)訪問日志,銷毀了證據(jù)。
通過對這個過程的分析,發(fā)現(xiàn)者的方法是非常簡單和通用的。 雖然攻擊者刪除了部分系統(tǒng)日志,但仍然留下了很多可查的痕跡。 雖然您也可以查看 . 用戶下的文件,這個文件是用戶操作命令的歷史記錄。
七、如何恢復(fù)網(wǎng)站
由于系統(tǒng)已經(jīng)被改換過,系統(tǒng)已經(jīng)完全不可信任,所以建議備份網(wǎng)站數(shù)據(jù),重裝系統(tǒng)。 基本步驟如下:
1)安裝穩(wěn)定版操作系統(tǒng),刪除系統(tǒng)默認(rèn)和不需要的用戶。
2) 系統(tǒng)登錄表單改為私鑰認(rèn)證方式,避免了認(rèn)證的缺陷。
3) 安裝更高版本和最新的穩(wěn)定版程序。
4)使用以下限制登錄的源地址。
是系統(tǒng)下比較常用的方法,雖然這種比較是防不勝防的,而且已經(jīng)有很多可測量的工具,比如,等等,可以用來測量系統(tǒng)是否被感染。