每個程式都會有一個 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 系統也可能被破壞了,比如被修改過。
文章出自網際網路部落格網站,原部落格網站地址:http://www.centoscn.com/shell/2015/0429/5304.html