LKM rootkit是针对Linux内核2.6.x/3.x/4.x/5.x (x86/x86_64和ARM64)的工具包
作者:Sec-Labs | 发布时间:
项目地址
https://github.com/m0nad/Diamorphine
小编推荐
Diamorphine是一个适用于Linux Kernel 2.6.x/3.x/4.x/5.x和ARM64的LKM(rootkit)。它具有可以隐藏和取消隐藏任何进程、将模块变得可见或不可见、使给定的用户成为根用户等功能,可以用于安全测试或恶意入侵。
相关技术点
- LKM: 一种在运行时动态加载的内核模块,可以对内核进行修改、扩展和更新。
- Rootkit: 一种恶意软件,可以隐藏它的存在并控制操作系统,从而对系统进行攻击。
- Signal: 进程之间或进程和内核之间的通信方式之一,可以用于通知、中断、异常处理等。
项目用途
可以用于安全测试或恶意入侵,具有以下功能:
- 隐藏任何进程。
- 隐藏指定的文件或目录。
- 将模块变得可见或不可见。
- 使给定的用户成为根用户。
Diamorphine
Diamorphine是一个适用于Linux内核2.6.x / 3.x / 4.x / 5.x和ARM64的LKM(Loadable Kernel Module)Rootkit。
特点
-
加载时,模块将变得不可见;
-
通过发送信号31来隐藏/取消隐藏任何进程;
-
发送信号63(到任何pid)使模块变得(不)可见;
-
发送信号64(到任何pid)使给定用户成为root;
-
以MAGIC_PREFIX开头的文件或目录将变得不可见;
安装
确认内核是否为2.6.x / 3.x / 4.x / 5.x
uname -r
克隆存储库
git clone https://github.com/m0nad/Diamorphine
进入文件夹
cd Diamorphine
编译
make
加载模块(作为root用户)
insmod diamorphine.ko
卸载
模块启动时不可见,要删除它,您需要使其可见
kill -63 0
然后移除模块(作为root用户)
rmmod diamorphine
参考文献
维基百科Rootkit https://en.wikipedia.org/wiki/Rootkit
Linux设备驱动程序 http://lwn.net/Kernel/LDD3/
LKM HACKING https://web.archive.org/web/20140701183221/https://www.thc.org/papers/LKM_HACKING.html
Memset的博客 http://memset.wordpress.com/
Linux动态内核补丁 http://phrack.org/issues/58/7.html
为Linux编写一个简单的Rootkit https://web.archive.org/web/20160620231623/http://big-daddy.fr/repository/Documentation/Hacking/Security/Malware/Rootkits/writing-rootkit.txt
Linux交叉引用 http://lxr.free-electrons.com/
zizzu0的LinuxKernelModules https://github.com/zizzu0/LinuxKernelModules/
Linux Rootkits:Kernel 5.7+的新方法 https://xcellerator.github.io/posts/linux_rootkits_11/