KoviD 是一个可加载内核模块 (LKM),专为Linux内核 5 及更高版本设计。主要功能包括:
- 对 SysFS 进行自我隐藏。
- 提供反向shell后门。
- 隐藏 proc 文件系统中的进程。
- 处理子进程、新创建的进程。
- 隐藏 KauditD 日志、系统日志、用户存在。
- 隐藏所有隐藏任务的 CPU 使用情况。
- 授予 root 权限。
- 隐藏文件和目录。
6.x EXPERIMENTAL: Linux 6.8.0-52-generic #53~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC x86_64 x86_64 x86_64 GNU/Linux
gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
5.x: Ubuntu 22.04.1 LTS
Linux hash-virtual-machine 5.19.0-41-generic #42~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC
UTC 2 x86_64 x86_64 x86_64 GNU/Linux
5.x: Linux Standard-PC-Q35-ICH9-2009 5.15.0-43-generic #46-Ubuntu
SMP x86_64 x86_64 x86_64 GNU/Linux
5.x: Ubuntu 22.04 LTS
Linux 5.15.0-43-generic #46-Ubuntu SMP Tue Jul 12 10:30:17 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0
5.x: Ubuntu 20.10
Linux ubuntu 5.8.0-55-generic #62-Ubuntu SMP Tue Jun 1 08:21:18 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
gcc (Ubuntu 10.3.0-1ubuntu1~20.10) 10.3.0
5.x: Ubuntu 18.04.5 LTS
Linux ubuntu 5.4.0-89-generic #100~18.04.1-Ubuntu SMP Wed Sep 29 10:59:42 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
4.x: Debian GNU/Linux 10
Linux debian10teste 4.19.0-18-amd64 #1 SMP Debian 4.19.208-1 (2021-09-29) x86_64 GNU/Linux
gcc (Debian 8.3.0-6) 8.3.0
4.x: CentOS Linux release 8.3.2011
4.18.0-240.22.1.el8_3.x86_64 #1 SMP Thu Apr 8 19:01:30 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
gcc (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5)
特征
隐藏自身(模块)
KoviD 隐藏自身,使其难以被检测到。它自定义内核代码以规避反 rootkit检测器,并从 /sys/module 列表中消失。
隐藏文件和目录
KoviD 通过劫持 filldir 和 filldir64 内核函数有效地隐藏文件和目录,大大简化了流程。
函数和系统调用劫持:Ftrace
KoviD 利用了 Ftrace,这是一种在内核 v5+ 版本中合法劫持函数和系统调用的方法。与传统的钩子技术相比,这种方法提供了更高的稳定性。
后门
KoviD 集成了多种流行且可靠的系统后门方法,例如使用自定义数据包进行端口连接。支持 Netcat、OpenSSL 和 Socat 会话
防火墙规避
KoviD 发送数据包并建立反向 Shell 连接。这些数据包会触发 Netfilter 钩子并指示 KoviD 创建反向 Shell 连接。这些传出的数据包会绕过 iptables 规则,从而有效规避检查。
任务
隐藏进程是一项至关重要的功能,它使 KoviD 能够在不被发现的情况下运行。它为子进程提供全面支持,确保不会遗留任何挂起的进程。
日志
KoviD 的隐藏任务会导致日志丢失,使管理员更难检测到其存在。它会清除由 w、lsmod、ps、who、ls 等用户空间工具生成的日志。
TCP/UDP 日志
KoviD 隐藏网络连接并操纵网络日志,以保持后门的隐蔽性。Libpcap+recvmsg。(ss、tcpdump、netstat……)
r00t
使用 kill -SIGCONT 666 轻松获得 root 权限。
CPU——隐藏/挖掘
KoviD 会隐藏 CPU 消耗,使其进程不可见,从而避免 CPU 过度消耗。不过,请注意不要让 CPU 过载,因为这可能会导致异常的使用模式。
持久性
KoviD 通过 Volundr 提供持久性。它可以感染可执行文件(例如 SSHD),以确保 KoviD 在重启时加载。您也可以使用自己喜欢的工具,此处仅建议使用 Volundr。
基地址
KoviD 允许检索其他可执行文件的基地址,而无需打开 /proc/<pid>/maps。
带通滤波器
KoviD 可以逃避一些依赖 BPF(Berkeley Packet Filter)检测 rootkit 的反 rootkit 工具。
sudo insmod ./kovid.ko
cat /proc/sys/kernel/tainted
原文始发于微信公众号(红队笔记录):KoviD:红队 Linux 内核 rootkit
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论