每個進程都會有一個PID,而每一個PID都會在/proc目錄下有一個相應的目錄,這是linux(當前內核2.6)系統的實現。
一般后門程序,在ps等進程查看工具里找不到,因為這些常用工具甚至系統庫在系統被入侵之后基本上已經被動過手腳(網上流傳著大量的rootkit。假如是內核級的木馬,那么該方法就無效了)。
因為修改系統內核相對復雜(假如內核被修改過,或者是內核級的木馬,就更難發現了),所以在/proc下,基本上還都可以找到木馬的痕跡。
思路:
在/proc中存在的進程ID,在 ps 中查看不到(被隱藏),必有問題。
#!/bin/bash
str_pids="`ps -A | awk '{print $1}'`";
for i in /proc/[[:digit:]]*;
do
if echo "$str_pids" | grep -qs `basename "$i"`;
then
:
else
echo "Rootkit's PID: $(basename "$i")";
fi
done
討論:
檢查系統(Linux)是不是被黑,其復雜程度主要取決于入侵者“掃尾工作”是否做得充足。對于一次做足功課的入侵來說,要想剔除干凈,將是一件分精密、痛苦的事情,通常這種情況,需要用專業的第三方的工具(有開源的,比如tripwire,比如aide)來做這件事情。
而專業的工具,部署、使用相對比較麻煩,也并非所有的管理員都能熟練使用。
實際上Linux系統本身已經提供了一套“校驗”機制,在檢查系統上的程序沒有被修改。比如rpm包管理系統提供的 -V 功能:
rpm -Va
即可校驗系統上所有的包,輸出與安裝時被修改過的文件及相關信息。但是rpm系統也可能被破壞了,比如被修改過。
您可能感興趣的文章:- linux(centos)下SVN服務器如何搭建
- CentOS Linux系統下安裝Redis過程和配置參數說明
- Linux+php+apache+oracle環境搭建之CentOS下安裝Oracle數據庫
- Linux+php+apache+oracle環境搭建之CentOS下源碼編譯安裝PHP
- CentOS 6.3下源碼安裝LAMP(Linux+Apache+Mysql+Php)運行環境步驟
- 用DNSPod和Squid打造自己的CDN (三) 安裝CentOS Linux
- linux(centos5.5)/windows下nginx開啟phpinfo模式功能的配置方法分享
- linux CentOS 系統下如何將php和mysql命令加入到環境變量中