mandiant/flare-floss
FLARE 混淆字符串求解器
许多恶意软件作者没有使用硬核加壳程序大力保护后门,而是通过仅混淆可执行文件的关键部分来逃避启发式检测。通常,这些部分是用于配置域、文件和其他感染工件的字符串和资源。这些关键特性不会以明文形式出现在strings.exe我们在基本静态分析中常用的实用程序的输出中。
FLARE Obfuscated String Solver(FLOSS,前身为 FireEye Labs Obfuscated String Solver)使用先进的静态分析技术从恶意软件二进制文件中自动反混淆字符串。您可以像strings.exe增强对未知二进制文件的基本静态分析一样使用它。
FLOSS 提取以下所有字符串类型:
- 静态字符串:“常规”ASCII 和 UTF-16LE 字符串
- 堆栈字符串:在运行时在堆栈上构造的字符串
- 紧字符串:堆栈字符串的特殊形式,在堆栈上解码
- 解码字符串:在函数中解码的字符串
请在此处查看 FLOSS 背后的理论。
我们的博客文章更多地讨论了 FLOSS 背后的动机,并详细介绍了该工具的工作原理。
FLOSS 2.0 版更新在《FLOSS Version 2.0》有详细介绍。
快速运行
要立即尝试 FLOSS,请从发布页面下载独立的可执行文件: https ://github.com/mandiant/flare-floss/releases
有关安装FLOSS 的详细说明,请查看 此处的文档。
用法
从恶意软件二进制文件中提取混淆字符串:
$ floss /path/to/malware/binary
显示帮助/使用屏幕以查看所有可用的开关。
$ floss -h
- 有关使用FLOSS 的详细说明,请查看 此处的文档。
- 有关测试FLOSS 的详细说明,请查看 此处的文档。
参考
22.06.21-FLOSS Version 2.0
16.06.23-Automatically Extracting Obfuscated Strings from Malware using the FireEye Labs Obfuscated String Solver (FLOSS)