导 读
研究人员发现一种名为 Pumakit 的新型 Linux rootkit 恶意软件,它使用隐身和高级权限提升技术来隐藏其在系统中的存在。
该恶意软件是一个多组件集,包括一个投放器、多个内存驻留可执行文件、一个内核模块 rootkit 和一个共享对象 (SO) 用户空间 rootkit。
Elastic Security在 2024 年 9 月 4 日上传到VirusTotal的可疑二进制文件(“cron”)中发现了Pumakit ,并报告说无法了解谁在使用它以及它针对什么目标。
一般来说,这些工具被高级威胁行为者用来针对关键基础设施和企业系统进行间谍活动、金融盗窃和破坏行动。
Pumakit
Pumakit 采用了多阶段感染过程,首先从名为“cron”的投放器开始,它完全从内存中执行嵌入式有效负载(“/memfd:tgt”和“/memfd:wpn”)。
“/memfd:wpn”负载在子进程中执行,执行环境检查和内核映像处理,最终将 LKM rootkit 模块(“puma.ko”)部署到系统内核中。
LKM 根工具包中嵌入了 Kitsune SO(“lib64/libs.so”),它充当用户空间根工具包,使用“LD_PRELOAD”将自身注入到进程中,以拦截用户级别的系统调用。
Pumakit 感染链,来源:Elastic Security
隐秘的特权升级
该 rootkit 遵循条件激活,在加载之前检查特定的内核符号、安全启动状态和其他先决条件。
Elastic 表示,Puma 利用“kallsyms_lookup_name()”函数来操纵系统行为。这表明该 rootkit 的设计目标只是针对 5.7 版之前的 Linux 内核,因为较新的版本不再导出该函数,因此无法被其他内核模块使用。
Elastic 研究人员 Remco Sprooten 和 Ruben Groenewoud 解释道:“LKM 根工具包操纵系统行为的能力始于它对系统调用表的使用以及对 kallsyms_lookup_name() 进行符号解析的依赖。”
“与针对内核版本 5.7 及以上版本的现代 rootkit 不同,该 rootkit 不使用 kprobes,表明它是为较旧的内核设计的。”
Puma 使用“ftrace”挂钩 18 个系统调用和多个内核函数,以获得权限提升、命令执行和隐藏进程的能力。
使用 ftrace 挂钩系统
内核函数“prepare_creds”和“commit_creds”被滥用来修改进程凭证,从而授予特定进程 root 权限。
执行权限提升
该 rootkit 可以向内核日志、系统工具和防病毒软件隐藏自己的存在,还可以向进程列表隐藏目录中的特定文件和对象。
如果钩子被中断,rootkit 会重新初始化它们,确保其恶意更改不会被恢复,并且模块不会被卸载。
用户空间 rootkit Kitsune SO 与 Puma 协同运行,将其隐身和控制机制扩展到面向用户的交互。
它拦截用户级系统调用并改变 ls、ps、netstat、top、htop 和 cat 等的行为,以隐藏与 rootkit 相关的文件、进程和网络连接
它还可以根据攻击者定义的标准动态隐藏任何其他文件和目录,并使恶意二进制文件对用户和系统管理员完全不可见。
Kitsune SO 还处理与命令和控制 (C2) 服务器的所有通信,将命令中继到 LKM 根工具包并将配置和系统信息传输给操作员。
技术报告:https://www.elastic.co/security-labs/declawing-pumakit
新闻链接:
https://www.bleepingcomputer.com/news/security/new-stealthy-pumakit-linux-rootkit-malware-spotted-in-the-wild/
扫码关注
军哥网络安全读报
讲述普通人能听懂的安全故事
原文始发于微信公众号(军哥网络安全读报):新型隐秘 Pumakit Linux rootkit 恶意软件被发现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论