一个使用高级隐身机制的复杂RootKit
2024-12-17 12:20:0 Author: mp.weixin.qq.com(查看原文) 阅读量:3 收藏

Rootkit是一种恶意软件,旨在隐藏其存在以及其它恶意程序,以避免被安全检测工具发现,并保持对受感染系统的控制。这种复杂且隐蔽的威胁通过多种技术手段在操作系统中隐藏其活动,以维持对受感染系统的控制。Rootkit可以是用户态的,通过替换或修改系统工具和库文件来隐藏其存在;也可以是内核级的,通过修改操作系统的核心部分,如内核模块或驱动程序,来实现其隐藏和控制功能。

近日,Elastic Security Lab的研究人员揭露了一款名为PUMAKIT的新型Linux rootkit,它展示了rootkit技术的最新发展。PUMAKIT采用多阶段架构,包括一个名为“cron”的dropper(安装程序),两个内存驻留的可执行文件(“/memfd:tgt”和“/memfd:wpn”),一个名为“PUMA”的LKM(可加载内核模块)rootkit,以及一个名为Kitsune的SO(共享对象)用户空间rootkit。这种结构使得PUMAKIT只有在满足特定条件时才会激活,例如安全启动检查或内核符号可用性,从而最小化其暴露于检测工具的可能性。

PUMAKIT的核心功能包括权限提升、隐藏文件和目录、从系统工具中隐藏自身、反调试措施以及与命令和控制(C2)服务器建立通信。它使用Linux内部函数跟踪器(ftrace)钩住多达18种不同的系统调用和各种内核函数,如“prepare_creds”和“commit_creds”,以改变核心系统行为并实现其目标。

PUMAKIT的隐蔽性通过多种技术实现,包括挂钩系统调用和内核函数来提升权限和隐藏其存在,以及利用Linux的函数跟踪器(ftrace)修改核心系统操作。其组件的内存驻留执行最小化了磁盘上的足迹,进一步增强了其逃避检测的能力。PUMAKIT还采用了独特的方法,例如使用rmdir()系统调用来提升权限,这突出了其在保持持久性和控制方面的创新方法。

PUMAKIT 感染传播链

PUMAKIT技术分析:

PUMAKIT是一款复杂的恶意软件,其核心是一个名为“PUMA”的可加载内核模块(LKM)rootkit,该rootkit利用Linux内部函数跟踪器(ftrace)来挂钩18种不同的系统调用和多个内核函数,操纵核心系统行为。PUMAKIT的设计确保它只在满足特定条件时激活,如安全启动检查或内核符号可用性,这些条件通过扫描Linux内核并嵌入dropper中的所有必要文件作为ELF二进制文件来验证。

(1)关键功能:

PUMAKIT的关键功能包括:

  • 权限提升:通过独特的方法,如rmdir()系统调用来提升权限。
  • 隐藏文件和目录:使用ftrace()挂钩机制隐藏文件、目录和rootkit本身。
  • 反调试措施:逃避调试尝试,增加分析难度。
  • 与C2服务器通信:建立与命令和控制服务器的通信,以接收指令和传输数据。
(2)发现过程:

在VirusTotal上,Elastic Security Labs的研究人员发现了一个名为cron的可疑二进制文件,该文件最初上传于2024年9月4日,未被任何安全工具检测到,引起了对潜在隐蔽性的怀疑。进一步检查揭示了另一个相关工件/memfd:wpn (deleted),同样未被检测到。

(3)代码分析:

PUMAKIT的多阶段架构从dropper开始,它创建了两个内存驻留的可执行文件:/memfd:tgt (deleted)和/memfd:wpn (deleted)。/memfd:tgt是一个良性的Cron二进制文件,而/memfd:wpn充当rootkit加载器。加载器负责评估系统条件,执行一个临时脚本(/tmp/script.sh),并最终部署LKM rootkit。LKM rootkit包含一个嵌入的SO文件——Kitsune——用于从用户空间与rootkit交互。

(4)LKM rootkit分析:

LKM rootkit通过使用系统调用表和依赖kallsyms_lookup_name()来解析符号,开始操纵系统行为。与针对5.7及以上内核版本的现代rootkit不同,PUMAKIT不使用kprobes,表明它是为旧内核设计的。LKM rootkit还利用ftrace()挂钩机制来建立其挂钩,有效地拦截系统调用并用自定义挂钩替换它们的处理程序。

(5)Kitsune SO分析:

在深入研究rootkit时,研究人员在内核对象文件中发现了另一个ELF文件。经过提取,发现这是/lib64/libs.so文件。检查后,遇到了几个引用字符串,如Kitsune PID %ld,表明SO被称为Kitsune。Kitsune可能负责rootkit观察到的某些行为。这些引用与通过LD_PRELOAD操纵用户空间交互的更广泛上下文一致。

参考链接:

https://www.elastic.co/security-labs/declawing-pumakit


文章来源: https://mp.weixin.qq.com/s?__biz=MzI0MTE4ODY3Nw==&mid=2247492472&idx=1&sn=d74e02356c10dca09d4bcaebdff2145b&chksm=e90dc952de7a40444853737f3a3078eaa00b84e5e50c6263ff1aa97559d2f17f775a71bf6630&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh