命令行混淆(CLOB)已被证明是无文件恶意软件或“就地取材”的恶意行为者中不可忽视的一个因素。尽管野生环境中存在数十种混淆工具,但相比之下却鲜有适当的防御措施。在本演讲中,我们介绍Flerken,一种适用于Windows(PowerShell和CMD)和Linux(Bash)命令的混淆检测方法。据我们所知,Flerken是首个支持跨平台混淆检测特性的解决方案。
本演讲首先分享关于CLOB的一些关键观察,例如其攻击向量和分析策略。然后,我们给出Flerken的详细设计。描述分为两部分,即Kindle(用于Windows)和Octopus(用于Linux)。我们将分别展示人类可读性如何作为针对PS/CMD混淆的有效统计特征,以及如何采用动态语法解析来消除针对Bash CLOB的误报/漏报。Flerken的有效性通过代表性的黑白命令样本和性能实验进行评估。
在此,我们强调Flerken基本满足的功能特性如下:
• 可扩展性。 Flerken支持跨平台混淆检测。此外,Flerken可以帮助在服务器EDR系统中实现实时混淆冒泡(规模可达百万级)。
• 准确性。 Flerken足以正确区分大多数Windows/Linux命令混淆。因此,企业可以在许多服务器端点的安全调查中采用Flerken。
• 可用性。 Flerken现在可通过其官方网页访问。您只需粘贴命令字符串,测试您想要分析的内容。无需特定的输入文件格式。我们还在Github上开源了Flerken,以便您可以按需构建自己的检测器。
请查看我们的另一个分支 web-demo。
如果您对Flerken有任何疑问或反馈,请创建一个 issue 并为其选择合适的标签。我们会尽快解决。
请参阅我们的 CHANGELOG.md
我们感谢所有对本研究项目做出贡献的人,以及腾讯Blade团队的所有成员。此外,我们感谢安全研究员Daniel Bohannon和Andrew LeFevre提供的宝贵反馈和讨论。
Flerken 采用 Apache 2.0 许可证发布。