扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
四、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 (http://pweb.netcom.com/~spoon/lcap/)实现系统启动结束以后移除内核LKM功能,这样可以防止入侵者加载模块。然而这种方法存在一定的问题,入侵者可以在获得root权限以后修改启动脚本,在lcap启动之前来加载knark模块从而逃避lcap的限制。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者