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