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开头的文件或目录将变得不可见;

  • 源代码:https://github.com/m0nad/Diamorphine

安装

确认内核是否为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/

标签:工具分享, 免杀工具