随着有许多网页应用程序以Linux操作系统打造,针对这类系统的恶意程序,今年出现显著增加的情况,而且,攻击者采用的手段越来越复杂,使得防御方更难发现相关踪迹。

数据搜索分析解决方案企业Elastic旗下的安全实验室表示,他们从恶意软件分析平台VirusTotal其中,发现针对Linux打造的rootkit恶意程序Pumakit,攻击者利用Linux内部功能定位器ftrace挂钩18种系统调用功能,以及数种核心功能,从而操弄主要系统的行为。

研究人员分析该恶意程序,并指出其中包含多种组件,包含恶意程序加载工具(Dropper)、两种常驻于内存的可执行文件、加载核心模块(Loadable Kernel Module,LKM)形态的rootkit组件,以及共享程序库(Shared library,SO)格式的userland rootkit。

此恶意程序的主要功能,涵盖了提升权限、隐藏文件及文件夹、利用系统工具藏匿自身踪迹、反调试功能,此外,攻击者也能借由C2通信,对其下达命令。

值得一提的是,虽然此恶意程序仍在开发阶段,但研究人员发现,其中的LKM rootkit若要进入启动状态,需在具备安全开机(Secure Boot)检查、核心符号工具可用等特定环境,这些状态是扫描Linux核心得知,并代表攻击者所有的工具已随着恶意程序加载工具一并嵌入ELF执行文件其中。

究竟此恶意软件如何运行?攻击者先是散播一个故意与系统调度执行程序cron同名的可疑双位元文件,于受害主机的内存执行两个嵌入的有效酬载,分别是良性的cron二进制文件/memfd:tgt,以及用来加载LKM rootkit的/memfd:wpn。此rootkit本身还包含另1个名为Kitsune的SO文件,用途是通过用户名(username)与另一个userland rootkit互动。

研究人员指出,这种结构化的设计,使得Pumakit仅在满足指定条件时,才会执行有效酬载,目的是为了维持其隐藏状态而不被发现,并减少遭到安全系统侦测的机会。