Chinaunix首页 | 论坛 | 博客
  • 博客访问: 937389
  • 博文数量: 245
  • 博客积分: 11429
  • 博客等级: 上将
  • 技术积分: 2662
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-15 00:16
文章存档

2011年(56)

2010年(174)

2009年(15)

分类: LINUX

2010-11-25 14:30:22

四、Knark软件包的安装和使用
该软件包的核心软件是knark,c,它是一个 Linux LKM(loadable kernel-module)。运行命令"make"来编译knark软件包,通过"insmod knark"命令来加载该模块。当knark被加载,隐藏目录/proc/knark被创建,该目录下将包含以下文件:
author 作者自我介绍
files  系统中隐藏文件列表
nethides  在/proc/net/[tcp|udp]隐藏的字符串
pids 被隐藏的pids列表,格式类似于ps命令输出
redirects  被重定向的可执行程序入口列表
该软件包编译以后将有下面这些工具软件(它们都依赖于被加载的模块knark.o。除了taskhack.c,其用于直接修改/dev/kmem)


入侵者入侵以后往往将knark的各种工具存放在/dev/某个子目录下创建的隐藏子目录,如/dev/.ida/.knard等等。
五、检测系统是否被安装了Knark
Knark的作者Creed,发布了一个工具:knarkfinder.c来发现Knark隐藏的进程。
检 查系统是否安装有Knark的最直接有效的方法是以非特权用户身份来运行Knark的一个软件包如:rootme,看该用户是否能获得root权限。由于 目前Knark目前没有认证机制,因此入股系统被安装了Knark任何一个本地用户运行这个程序都能获得root权限。
还有一个最有效的发现系统是否被knark或者类似的rootkit所感染的方法就是使用kstat来检测,具体参考本站的Nexeon写的解决方案文章:检测LKM rootkit。
六、Knark防范
防止knark最有效的方法是阻止入侵者获得root权限。但是在使用一切常规的方法进行安全防范以后,防止knark之类的基于LKM技术的rootkit的方法是:
创建和使用不支持可加载模块的内核,也就是使用单块内核。这样knark就不能插入到内核中去了。
使用lcap ()实现系统启动结束以后移除内核LKM功能,这样可以防止入侵者加载模块。然而这种方法存在一定的问题,入侵者可以在获得root权限以后修改启动脚本,在lcap启动之前来加载knark模块从而逃避lcap的限制。
阅读(834) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~