每个程序都会有一个 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