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的完整性。下面是一个被"黑"的站点的结果:
|
攻击者入侵到系统中,并且用自己的ps及top命令替代了我们系统中的命令。从而使管理员看不到其运行的进程,也许是一个sniffer来监听所有的用户所有进出网络的数据并找寻到密码信息。
下面是一个小的script来扫描你系统的所有的rpm库,并检查所有的包是否被篡改。但是应该注意的是并不是所有该scripts
报告的问题都是说明该系统文件被攻击者破坏。例如你的password文件一般肯定和你安装系统时是不同的:
|
当你运行该scripts时,输出被定向到文件/tmp/rpmverify.out你可以使用less命令查看该文件。但是由于文本文
如:/etc/passwd, /etc/inetd.conf等很可能显示为被修改过。但是你如何知道这些是管理员自己修改的还是入侵者修改的呢?方法是:
在你确保你的系统是干净的,没有被攻击者入侵时,你为这些系统文件创建指纹信息。在你怀疑你的系统被入侵时使用这些这些指纹信息来判定系统是否被入侵。创建文件的指纹信息是通过命令md5sum 来实现的:
|
这些数据是我的系统上的文件的指纹信息。不同的系统上的文件的 指纹信息一般是不同的,你应该是使用md5sum来计算自己系统文件的指纹信息。下面是一些你应该创建指纹信息的文件;
/usr/bin/passwd /sbin/portmap /bin/login /bin/ls /usr/bin/top /etc/inetd.conf /etc/services通过指纹信息你可以决定是否有系统文件被篡改。
文章来源于领测软件测试网 https://www.ltesting.net/