PRIVATELOG,一种利用通用日志文件系统 (CLFS) 来躲避检测的新型恶意软件
FireEye 的 Mandiant 网络安全研究人员发现了一个名为 PRIVATELOG 的新恶意软件家族,它依赖通用日志文件系统 ( CLFS ) 将第二阶段有效负载隐藏在注册表事务文件中以避免检测。
通用日志文件系统 (CLFS) 是一个通用日志子系统,内核模式和用户模式应用程序都可以访问它以构建高性能事务日志。它是随 Windows Server 2003 R2 引入的,并包含在后来的 Windows 操作系统中。CLFS 可用于数据记录和事件记录。TxF 和 TxR 使用 CLFS 在提交事务之前存储事务状态更改。任何集成的 Windows 工具都无法查看从 CLFS 创建的二进制日志文件。
专家还提供了另一个使用 CLFS 的恶意软件的技术细节,称为 STASHLOG,用作 PRIVATELOG 安装程序。
“PRIVATELOG 和 STASHLOG 依靠通用日志文件系统 (CLFS) 来隐藏注册表事务文件中的第二阶段有效负载。” 阅读Mandiant 发表的分析。
该恶意软件尚未在野外攻击中被检测到,研究人员认为它仍在开发中或研究项目的结果。
专家指出,该恶意软件利用 CLFS,因为没有可用的工具可以解析 CLFS 日志文件,这意味着从技术上讲,可以将恶意数据隐藏为 lof 记录。
“因为文件格式没有被广泛使用或记录,所以没有可以解析 CLFS 日志文件的可用工具。这为攻击者提供了以方便的方式将他们的数据隐藏为日志记录的机会,因为这些数据可以通过 API 函数访问。这在本质上类似于恶意软件,后者可能依赖于例如 Windows 注册表或 NTFS 扩展属性来隐藏其数据,这些数据还提供了使用 Windows API 存储和检索二进制数据的位置。” Mandiant 研究人员解释说。
STASHLOG 安装程序接受下一阶段的有效负载作为参数,其内容“隐藏”在 CLFS 日志文件中。
Mandiant 研究人员分析的 PRIVATELOG 样本是一个名为 prntvpt.dll 的未混淆的 64 位 DLL,其中包含模拟合法 prntvpt.dll 文件的导出。PRIVATELOG 期望通过劫持用于加载 DLL 的搜索顺序从 PrintConfig.dll 加载。
Windows 系统使用一种通用方法来查找加载到程序中所需的 DLL。攻击者可以劫持 DLL 加载以建立持久性或提升权限和/或逃避对文件执行的限制。
Mandiant 提供 YARA 规则来检测 PRIVATELOG 和 STASHLOG 恶意软件以及可能的变体。
“还提供了检测匹配 PRIVATELOG 结构或包含加密数据的 CLFS 容器的规则。这些规则在生产环境中运行之前应该经过彻底的测试。” Mandiant 总结道。
