新型"瘟疫"恶意软件攻击Linux服务器以获取持久SSH访问权限
研究人员发现名为"瘟疫"的Linux后门程序,通过操纵PAM模块实现持久SSH访问和高度隐蔽性,逃避主流杀毒引擎检测,对企业安全构成严重威胁。 2025-8-2 01:29:35 Author: www.freebuf.com(查看原文) 阅读量:17 收藏

image

网络安全研究人员发现一种名为"瘟疫"(Plague)的复杂Linux后门程序,该恶意软件通过操纵核心认证机制建立持久SSH访问,同时能逃避所有主流杀毒引擎的检测,对企业安全构成前所未有的威胁。

Nextron Systems公司的网络安全研究人员发现,这种恶意软件代表了针对Linux系统攻击的范式转变,它利用可插拔认证模块(PAM, Pluggable Authentication Modules)实现了近乎完美的隐蔽性和系统级持久性。

该恶意软件最令人担忧的特点是它对传统安全措施的完全不可见性。尽管过去一年有多个变种被上传至VirusTotal平台,但66款杀毒引擎无一将其样本标记为恶意,检测率完美保持0/66。

恶意软件未被检测到

这种前所未有的逃避能力源于其与Linux基础认证基础设施的深度集成,它作为合法的PAM模块运行,同时暗中破坏安全控制。

"瘟疫"恶意软件的逃避机制

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

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

Antidebug反调试

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

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

特性 描述 攻击者的目的/收益
反调试 实施检查(如文件名、环境变量)以逃避调试器 防止被分析人员和沙箱检测
字符串混淆 对二进制文件中的字符串和偏移量进行多层加密 隐藏敏感信息,逃避基于签名的杀毒软件
静态密码 将硬编码凭证植入PAM模块 实现持久、隐蔽的SSH访问
隐藏会话痕迹 清理环境,取消设置变量,禁用shell历史记录 清除入侵和使用证据

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

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

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

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

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

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

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

入侵指标列表

SHA-256 大小 文件名 首次提交时间 国家 编译器
85c66835657e3ee6a478a2e0b1fd3d87119bebadc43a16814c30eb94c53766bb 36.18 KB libselinux.so.8 2024-07-29 17:55:52 美国 GCC: (Debian 10.2.1-6) 10.2.1 20210110
7c3ada3f63a32f4727c62067d13e40bcb9aa9cbec8fb7e99a319931fc5a9332e 41.65 KB libselinux.so.8 2024-08-02 21:10:51 美国 GCC: (Debian 10.2.1-6) 10.2.1 20210110
9445da674e59ef27624cd5c8ffa0bd6c837de0d90dd2857cf28b16a08fd7dba6 49.55 KB libselinux.so.8 2025-02-04 16:53:45 美国 GCC: (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
5e6041374f5b1e6c05393ea28468a91c41c38dc6b5a5230795a61c2b60ed14bc 58.77 KB libselinux.so.8 2025-02-09 21:27:32 美国 GCC: (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
6d2d30d5295ad99018146c8e67ea12f4aaa2ca1a170ad287a579876bf03c2950 49.59 KB hijack 2025-02-10 03:07:24 中国 GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
e594bca43ade76bbaab2592e9eabeb8dca8a72ed27afd5e26d857659ec173261 109.67 KB libselinux.so.8 2025-02-13 22:58:43 UTC 美国 stripped
14b0c90a2eff6b94b9c5160875fcf29aff15dcfdfd3402d953441d9b0dca8b39 41.77 KB libse.so 2025-03-22 18:46:36 美国 GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-44)

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

参考来源:

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


文章来源: https://www.freebuf.com/articles/system/442717.html
如有侵权请联系:admin#unsafe.sh