Part01

“瘟疫”恶意软件的逃避机制



"瘟疫"采用多层技术手段,将高级混淆技术与系统级操作相结合。该恶意软件采用不断演进的字符串混淆技术,从简单的基于XOR的加密发展到包含密钥调度算法(KSA, Key Scheduling Algorithm)、伪随机生成算法(PRGA, Pseudo-Random Generation Algorithm)和确定性随机比特生成器(DRBG, Deterministic Random Bit Generator)层的复杂多阶段算法。这种演进反映了威胁行为者为保持领先于分析工具而进行的持续开发。

该恶意软件的反调试机制会验证二进制文件是否保持其预期文件名libselinux.so.8,并检查环境变量中是否不存在ld.so.preload。Nextron报告指出,这些检查使恶意软件能够检测通常会重命名二进制文件或利用预加载机制进行分析的沙箱环境和调试器。这些技术与既定的反调试方法一致,恶意软件在激活恶意功能前会验证执行环境的完整性。



字符串加密是"瘟疫"隐蔽能力的关键组成部分。初始样本使用基本的XOR操作,其中每个字节都与预定密钥进行按位异或。然而,最近的变种采用了类似RC4的实现,具有自定义的KSA和PRGA例程。KSA阶段通过密钥依赖的排列初始化256字节状态数组,而PRGA生成伪随机密钥流,用于在运行时解密混淆的字符串。

"瘟疫"通过伪装成合法的PAM模块实现持久性,专门针对负责用户凭证验证的pam_sm_authenticate()函数。这种方法利用了PAM的模块化架构,认证过程根据/etc/pam.d/中的配置文件动态加载共享库。通过将自己置于这个可信执行路径中,"瘟疫"获得了对明文凭证和认证决策的访问权限。

54272_gs6p_7262.png



该恶意软件实现了静态密码认证,允许攻击者通过硬编码的后门密码绕过正常的凭证验证。这种技术反映了已记录的PAM后门方法,其中恶意模块对特定凭证组合无条件返回PAM_SUCCESS。该植入程序与认证堆栈的集成确保其在系统更新后仍然存活,并以认证过程固有的提升权限运行。

"瘟疫"通过全面的会话隐蔽机制展示了对Linux取证工件的深刻理解。该恶意软件通过取消设置关键环境变量(包括SSH_CONNECTION、SSH_CLIENT和SSH_TTY)系统地移除SSH连接证据。这些变量通常包含客户端IP地址、端口号和终端信息等连接元数据,系统管理员依赖这些信息进行审计追踪。

此外,"瘟疫"将HISTFILE环境变量重定向到/dev/null,有效防止shell命令历史被记录。这种技术确保攻击者活动不会在bash历史文件中留下痕迹,这些文件通常在事件响应期间被检查。该恶意软件对Linux取证程序的了解表明开发者具有显著的操作安全专业知识。

对编译工件的分析揭示了跨多个环境和时间段的持续活跃开发。2024年7月至2025年3月期间编译的7个不同样本展示了持续的改进,编译器元数据表明这些构建来自Debian、Ubuntu和Red Hat系统。VirusTotal提交的地理分布主要来自美国,一个样本来自中国,这表明可能是广泛部署或故意误导。

该恶意软件包含对1995年电影《黑客》的文化引用,在成功绕过认证后显示消息"呃,瘟疫先生?我认为我们遇到了一个黑客"。这个彩蛋只有在去混淆后才可见,为了解威胁行为者的文化背景提供了线索,并可能将他们归因于熟悉经典黑客文化的西方威胁组织。

"瘟疫"的出现凸显了传统终端安全方法的关键漏洞,这些方法严重依赖基于签名的检测。该恶意软件在66款杀毒引擎中实现零检测的能力表明,在面对利用受信任系统组件的新型攻击向量时,传统安全工具存在局限性。

针对PAM基础设施的攻击代表了Linux恶意软件的战略演变,从应用层攻击转向关注基础系统组件。这种方法使攻击者能够保持访问权限,无论应用程序更新或安全补丁如何,因为认证层仍然持续存在漏洞。安全团队必须实施PAM模块完整性检查并监控认证子系统修改以检测类似威胁。

入侵指标列表




54273_rdny_7148.png



各组织应立即审核PAM配置,验证认证模块的完整性,并对可疑认证模式实施监控。该恶意软件的复杂程度表明其具有国家级或高级持续性威胁(APT, Advanced Persistent Threat)能力,关键基础设施和国防承包商需要提高安全态势。



参考来源:

New Undectable Plague Malware Attacking Linux Servers to Gain Persistent SSH Access

https://cybersecuritynews.com/plague-malware-attacking-linux-servers/