歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

Linux環境下發現並阻止系統攻擊 (3)

三、一個笑話裡說一個小偷進入到一家,偷光了屋子裡所有的東西,但是卻用一個相同的東西代替了偷走的東西。但是在 網絡 世界裡,這卻是可能發生的。一個攻擊者利用一個系統漏洞非法入侵進入到你的系統後,當你使用ps命令列出系統中的所有的進程時,卻看不到 三、一個笑話裡說一個小偷進入到一家,偷光了屋子裡所有的東西,但是卻用一個相同的東西代替了偷走的東西。但是在網絡世界裡,這卻是可能發生的。一個攻擊者利用一個系統漏洞非法入侵進入到你的系統後,當你使用ps命令列出系統中的所有的進程時,卻看不到什麼異常的證據。你查看你的password文件,一切也是那麼的正常。到底發生了什麼事情呢?當系統進入到你的系統以後,第一步要做的事情就是取代系統上某些特定的文件:如netstat命令等。當你使用netstat-a命令時,就不會顯示系統攻擊者存在的信息。當然攻擊者將替代所有的可能洩露其存在的文件在linux環境下一個有名的這樣的工具包名字是rootkit。通過在任何一個搜索引擎搜索關鍵字rootkit可以得到數以百計的結果。這些工具一般來說包括:

ps netstat top .....

由於這些經過文件已經被取代。所以簡單的利用ls命令查看這些文件是看不出什麼破綻的。有若干種方法你可以驗證系統文件的完整性。如果你安裝的是Red Hat, Caldera,TurboLinux或任何使用RPM的系統。你可以利用RPM來驗證系統文件的完整性: 首先你應該查明你的那些你需要查看的文件來自哪個軟件包,使用rpm命令你可以查明某個文件屬於某個包: # rpm -qf /bin/netstat net-tools-1.51-3 然後,可以掃描

整個rpm包來查看那些發生了改變。對沒有發生改變的包使用該命令將沒有任何輸出信息,如下所示:

# rpm -V net-tools

將netstat的5.2版本的二進制可執行文件替換為6.0的版本以後再使用該命令的結果為:

.......T /bin/netstat

這說明/bin/netstat/文件已經被修改。若我使用rpm-qf測試ps和top命令可以得到其屬於包procps,然後再驗證包procps的完整性。下面是一個被"黑"的站點的結果:

# rpm -qf /bin/ps procps.2.0.2-2 # rpm -V procps SM5..UGT /bin/ps ..UGT /usr/bin/top


攻擊者入侵到系統中,並且用自己的ps及top命令替代了我們系統中的命令。從而使管理員看不到其運行的進程,也許是一個sniffer來監聽所有的用戶所有進出網絡的數據並找尋到密碼信息。

下面是一個小的script來掃描你系統的所有的rpm庫,並檢查所有的包是否被篡改。但是應該注意的是並不是所有該scripts

報告的問題都是說明該系統文件被攻擊者破壞。例如你的password文件一般肯定和你安裝系統時是不同的:

#!/bin/bash # # Run through rpm database and report inconsistencies # for rpmlist in `rpm -qa` # These quotes are back quotes do echo " ----- $rpmlist -----" ; rpm -V $rpmlist done > /tmp/rpmverify.out



當你運行該scripts時,輸出被定向到文件/tmp/rpmverify.out你可以使用less命令查看該文件。但是由於文本文

如:/etc/passwd, /etc/inetd.conf等很可能顯示為被修改過。但是你如何知道這些是管理員自己修改的還是入侵者修改的呢?方法是:

在你確保你的系統是干淨的,沒有被攻擊者入侵時,你為這些系統文件創建指紋信息。在你懷疑你的系統被入侵時使用這些這些指紋信息來判定系統是否被入侵。創建文件的指紋信息是通過命令md5sum 來實現的:

# md5sum /etc/passwd d8439475fac2ea638cbad4fd6ca4bc22 /etc/passwd # md5sum /bin/ps 6d16efee5baeclearcase/" target="_blank" >cce7a6db7d1e1a088813 /bin/ps # md5sum /bin/netsat b7dda3abd9a1429b23fd8687ad3dd551 /bin/netstat


這些數據是我的系統上的文件的指紋信息。不同的系統上的文件的 指紋信息一般是不同的,你應該是使用md5sum來計算自己系統文件的指紋信息。下面是一些你應該創建指紋信息的文件;

/usr/bin/passwd /sbin/portmap /bin/login /bin/ls /usr/bin/top /etc/inetd.conf /etc/services通過指紋信息你可以決定是否有系統文件被篡改。

Copyright © Linux教程網 All Rights Reserved