加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

Linux下的Rootkit驻留技术分析

发布时间:2019-01-05 19:52:04 所属栏目:业界 来源:疯猫网络
导读:媒介 Linux作为处事器和IoT装备行使的首要操纵体系,针对它的恶意软件也层出不穷。针对Linux装备的恶意软件(以下称为rootkit)凡是必要恒久驻留于方针操纵体系以到达赢利目标,以是怎样实现驻留也是Linux rootkit作者的重点思量内容之一,对此,尝试室举办了

MODULE_LICENSE也必要配置,由于Linux是GPL授权,我们必要声明兼容的授权协议,不然Linux会提醒tainted kernel(固然不影响正常行使,但会较量轻易引起留意)。编译LKM的要领可以参考Linux内核文档,可能直接参考现有的LKM项目标Makefile,这里的Makefile内容如下:

Linux下的Rootkit驻留技能说明

LKM代码如下,行使user space helper到达了执行外部措施的目标:

Linux下的Rootkit驻留技能说明

行使insmod呼吁动态加载LKM到内核,当即见效:

Linux下的Rootkit驻留技能说明

下面是dmesg的相干输出:

Linux下的Rootkit驻留技能说明

LKM执行恶意代码有较量大的范围性,由于必需针对沟通内核版本编译才气正常行使,从而引入了Linux headers的依靠,实现大范畴撒播的难度较大。防御此类进攻(也是最伤害和潜伏的一种)的最有用要领就是封锁Linux的动态模块加载成果,对付大大都Linux处事器,关掉这个成果凡是不会造成特殊影响。

2.2 initrd的操作

Reptile会把本身写入/etc/rc.modules以便在体系启动时插入本身的module。但通过initrd实现越发潜伏靠得住。initrd即init ram disk,用于提供一个根基的情形以便启动完备的Linux。

鉴于initrd很少受到存眷和掩护,它又必然会在启动时被加载入内存,我们可以在这个内存文件体系中插入本身的LKM并修改init剧本使我们的LKM在启动时被加载,从而实现恶意代码执行。

这里以Kali(Linux 4.18,基于Debian Sid)为例,说明也许的操作点:

下图是init剧本functions界说中,加载自界说kernel module的函数,我们可以把本身的LKM放到modules目次下(譬喻 ./usr/lib/modules/4.17.0-kali3-amd64/kernel),然后在 ./conf/modules里写上本身的LKM,我们的LKM就会跟着initrd加载到内核。

可能我们也可以直接在load_modules函数内增进modprobe操纵来加载恶意LKM。

Linux下的Rootkit驻留技能说明

总结

Linux下的恶意软件固然种类不多,但就其驻留技能实现而言,照旧有不少的要领。本文除了主流的实现之外,也提出了一些凡是很少有人留意的实现要领,但愿对Linux攻防反抗的伴侣有所辅佐。

【编辑保举】

  1. 在Linux下,怎样知道是否有人在使坏?
  2. 在Linux下互换Ctrl与大写锁定键
  3. 迁徙到Linux:安装软件
  4. 迁徙到Linux:收集和体系配置
  5. 搜刮Linux中的文件和文件夹的四种简朴要领
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读