UNIX Linux系統取證之資訊採集案例

2021-07-13 20:44:31 字數 3708 閱讀 7732

unix/linux系統取證之資訊採集案例

在unix/linux系統取證中,及時收集硬碟的資訊至關重要,《unix/linux網路日誌分析與流量監控》一書中,將詳細討論各種常見系統程序系統呼叫及映象檔案獲取方法。下面簡單舉幾個例子。

在unix/linux取證時很多系統和網路資訊是短時存在的可謂是轉瞬即逝,如何準確的捕捉到哪些蛛絲馬跡呢?網路安全人員需要具有敏銳的觀察力和豐富的經驗下面例舉幾個常用的方法。

首先,在收集主機上啟動乙個監聽程序:

#nc -l -p 10005 >ps_lsof_log

執行完這條命令後回車,系統開啟10005埠等待接受,然後在被調查的另一主機上執行相應的ps 呼叫:

#(ps aux; ps-auxeww; lsof)|nc 192.168.150.100 10005 -w 3

幾秒鐘後回到命令列提示符,需要注意的是這兩條命令成對出現,傳送完資料後開啟的埠接收資料接收完畢即關閉埠,如果你第二次沒有開啟監聽埠,繼續傳送ps資料就會出現連線訪問拒絕。

#(ps aux;ps auxeww;losf) | nc 192.168.150.109 10005 –w 3

(unknown) [192.168.150.109] 10005 (?) : conection refused

在上述命令中,有的命令產生長輸出結果,有的產生短輸出結果,作為收集證據來說,這都要加以利用。那麼有哪些命令能夠使用的可收集正在執行的程序資訊的工具呢?

例如:

2.linux

下系統呼叫檢視工具

類似篡改系統檔案、植入木馬或許在控制台上能騙過初級管理員,一旦深入到系統層面木馬們都會原形畢露,strace常用來跟蹤程序執行時的系統呼叫和所接收的訊號。 linux系統,程序不能直接訪問硬體裝置,當程序需要訪問硬體裝置(比如讀取磁碟檔案,接收網路資料等等)時,必須由使用者態模式切換至核心態模式,通過系統呼叫訪問硬體裝置。

所謂系統呼叫(

systemcall

),就是核心提供的、功能十分強大的一系列的函式。這些系統呼叫是在核心中實現的,再通過一定的方式把系統呼叫給使用者。

strace

可以跟蹤到乙個程序產生的系統呼叫,包括引數,返回值,執行消耗的時間。strace在本書的應用見本章的案例研究一。

3.

unix

下系統呼叫檢視工具

dtrace

這款工具在solaris 和open solaris平台下都可以使用。

4.應用舉例

①顯示當前動態系統中的動態dtrace探針probe

#dtrace -l |more

②通常我們檢視系統firefox程序的情況使用如下命令

#ps -e |grep firefox

也可以用dtrace檢視probe探針,操作如下:

何看機器忙閒狀態呢,常用

vmstat

,得知產生

2535

多系統呼叫。但是,如何簡單查詢哪個程序的問題呢?試用建議使用

dtrace

工具。

從最後一行顯示看,顯然發現firefox-bin是產生大量系統呼叫的程式, 再看看i/o分布。例如還是firefox程序,輸入以下命令。

通過以上顯示,可觀察到大量firefox產生的i/o在8~64位元組間,接著深入看firefox程式內部情況,輸入以下命令。

dtrace功能強大,精度高,而solaris 10下的老牌系統跟蹤工具truss,值得大家注意的是truss工具有時會降低系統25%~30%的cpu利用率。

拓展閱讀:

dtrace

詳細使用文件:

參考:《dtrace:dynamictracing in oracle solaris,macos x and freebsd》

5.systrace

另一款功能更加強大的系統呼叫外帶報警功能的開源軟體systrace就嵌入在openbsd系統中,在freebsd和linux也可以自行安裝。systrace工具,

可以用來防止木馬軟體對系統的危害。在這個例子中如下圖所示

,systrace

檢測在fragroute-1.2

目錄下的乙個配置中包含惡意指令碼木馬。

systrace檢查木馬

systrace

工具:

proc

一直伴隨著liux kernel, 發展至今在linux開始主要應用在網路相關方面, 後來為了簡化系統管理和除錯, 逐漸把它應用到其他方面。現在, proc已經成為linux 核心中使用最廣泛和最成功的特性之一。proc在記憶體中建立虛擬的檔案節點, 使用者可以直接使用檔案系統中的標準系統呼叫去訪問proc 下的資訊, 當使用者發出訪問/proc下的「檔案」請求時, 再由系統動態生成。所以proc就是乙個虛擬的檔案系統,通過檔案系統的介面實現,當系統重啟或電源關閉時這個檔案系統的資料將消失。/proc還為/dev/kmem 提供乙個結構化的介面,便於系統診斷並檢視每乙個正在執行的可執行檔案的環境。記憶體中的每個程序在/proc 中都有乙個目錄,按它的程序id 來命名。如果在上面列出的ps 的輸出中看不見的程序出現在/proc 中,這就可能是ps 已被特洛伊化了(被篡改並加了危險程式),所以我們要熟悉proc,以便應對攻擊者對proc下的檔案做手腳。trace:dynamictracing in oracle solaris,macos x and freebsd》

下面通過nc命令,如何通過網路收集proc程序的方法,為了收集

proc

程序 ,使用

下面用2條命令:

#nc -l –p 10006>proc_log

#ls -d/proc[1-9] * | nc 192.168.0.2 10006 -w 3

下期案例預報,對於這個nc命令,在網路取證中能起到關鍵作用,在下面這起網路安全事件分析在nc就起到了關鍵作用。

51cto學院優秀講師評選中,我期待您的寶貴一票!

投票位址

Unix Linux 檔案系統

作為一名電腦使用者,不懂圖形化操作檔案系統就不算會使用電腦。那麼作為一名程式設計師,如果不懂命令列操作 linux 檔案系統,就不敢說自己是一名合格的程式設計師。我們工作中使用 unix linux 作為應用程式伺服器,無非就是把我們編寫好的軟體部署到遠端伺服器,其中少不了對檔案的各種操作,如果你不...

Unix Linux系統資料型別

資料型別 型別要求 描述blkcnt t 有符號整型 檔案塊數量 blksize t 有符號整型 檔案塊大小 cc t 無符號整型 終端特殊字元 clock t 整型或者浮點型實數 以時鐘週期計量的系統時間 clockid t 運算型別之一 時鐘和定時器函式的時鐘識別符號 comp t susv3未...

linux取證之可疑程式分析

對可疑惡意 的取證需要在安全和可靠的環境中進行,應將可疑檔案放置在隔離環境或者沙箱系統網路中。檢查惡意程式的準則 建立環境基準 vmware建立模擬環境 分析之前,首先保留受害系統在可疑 執行前的快照 同時也需要執行乙個可對初始化時的系統狀態和 執行後的系統狀態進行比較的工具。執行前的準備 系統和網...