Linux下Rootkit的另类检测
当黑客获取管理员权限时,首先是抹掉入侵系统的相关记录,并且隐藏自己的行踪,要实现这一目的最常用的方法就是使用Rootkits,简单的说,Rootkits是一种经修改的攻击脚本、系统程序,用于在一个目标系统中非法获取系统的最高控制权限。Rootkits被广泛使用,它允许攻击者获得后门级访问。过去,Rootkits通常是替换操作系统中的正常二进制执行程序,如Iogin程序、ifconfig程序等。但这两年来Rootkits发展很快,发展到直接对底层内核进行操作,而不再需要去修改单个的程序。通过修改操作系统核心,内核级的Rootkits使一个被修改内核的操作系统看上去和正常的系统没有区别,它们通常都包含重定向系统调用的能力。因此,当用户执行类似ps、netstat或ifconfig之类的指令的时候,实际执行的是一个特洛伊的版本。这些工具还可以隐藏进程、文件和端口使用情况等,用户将得不到真实的系统情况报告。
Rootkits防御办法:
防御Rootkits的最有效的方法时定期的对重要系统文件的完整性进行核查,这类的工具很多,像Tripwire就是一个非常不错的文件完整性检查工具。一但发现遭受到Rootkits攻击,那就比较麻烦了, 必须完全重装所有的系统文件部件和程序, 以确保安全性。
这里再向大家介绍一个简单易用的Linux下的Rootkits检测方法。Zeppoo是一款小巧的、优秀的Linux下的Rootkits检测工具。Zeppoo允许Linux系统管理员在i386硬件体系下监控/dev/kmem 和/dev/mem中是否存有Rootkits存在的迹象。Zeppoo可以检测隐藏的系统任务、模块、syscalls、恶意符号和隐藏的连接。让Linux系统管理员根据Zeppoo发现的隐藏的、非法的程序来及时的判断是否LinUX系统中存在Rootkits。
Zeppoo的使用
下载及安装
可以到下载到为zeppoo-0.0.4.tar.gz的压缩包。解压缩后安装步骤如下:
#cd zeppoo
#make;make install
如下图:
基本命令格式如下:
zeppoo -参数
列出系统任务
-P 显示在内存中运行的任务。
列出SYSCALLS -s显示系统调用。
列出IDT
文件指纹特征
-f FILE 产生某文件的指纹特征(syscalls,idt)。
其他功能
-c OPTIONS检查任务,网络, 文件指纹特征Check tasks,networks,fingerprints。
-d DEVICE使用设备(/dev/mem,/dev/kmem)。
-m 快速模式。
-t SYSTEMMAP 指定System.map来解决syscalls和idt文件名问题。
显示/dev/mem 中所有运行任务,可以看到所有运行
任务的UID、GID、文件名和内存地址等重要参数。
#zeppoo -p -d /dev/mem
检测和显示所有隐藏任务,如果Zeppoo没有在内存中检测到可疑任务,Zeppoo则会提示“没有隐藏任务,您的系统看上去是安全的”,当然,这个提示只能作为参考,系统管理员还要进行进一步的认证分析:
#zeppoo -c -p
本文出自 “李晨光” 博客,转载请与作者联系!