mandiant/flare-floss
GitHub: mandiant/flare-floss
基于 Mandiant FLARE 团队开发的恶意软件字符串自动提取与解混淆工具,专攻静态分析中难以发现的隐藏信息。
Stars: 3917 | Forks: 524

[](https://github.com/mandiant/flare-floss/releases)
[](https://github.com/mandiant/flare-floss/actions/workflows/tests.yml)
[](https://github.com/mandiant/flare-floss/releases)
[](LICENSE.txt)

# FLARE 混淆字符串解析器
FLARE 混淆字符串解析器 (FLOSS,前身是 FireEye Labs Obfuscated String Solver) 使用先进的静态分析技术,自动从恶意软件二进制文件中提取和解混淆所有字符串。你可以像使用 `strings.exe` 一样使用它,以增强对未知二进制文件的基础静态分析。
### 混淆字符串
许多恶意软件作者不会使用高强度的加壳程序来严密保护后门,而是通过对可执行文件的关键部分进行混淆来规避启发式检测。这些部分通常是字符串和资源,用于配置域、文件以及其他感染痕迹。这些关键特征不会以明文形式出现在我们通常在基础静态分析期间使用的 `strings.exe` 工具的输出中。
FLOSS 提取以下所有字符串类型:
1. static strings(静态字符串):“常规” ASCII 和 UTF-16LE 字符串
2. stack strings(栈字符串):在运行时于栈上构造的字符串
3. tight strings(紧凑字符串):栈字符串的一种特殊形式,在栈上解码
4. decoded strings(解码字符串):在函数中解码的字符串
请在doc/theory.md查看 FLOSS 背后的原理。
我们的[博客文章](https://www.mandiant.com/resources/automatically-extracting-obfuscated-strings)详细介绍了 FLOSS 背后的动机以及该工具的工作原理。
FLOSS 版本 2.0 的更新详情请参阅此[博客文章](https://www.mandiant.com/resources/floss-version-2)。
### 特定语言的字符串
并非所有编译器都使用经典 `strings.exe` 算法支持的字符串格式。例如,如果字符串是 UTF-8 编码的或存储时没有 NULL 终止符。FLOSS 可以识别并提取使用以下语言编译的程序中的字符串:
1. Go
2. Rust
FLOSS 提取的特定于编译器的字符串更易于人工检查。
请查阅文档以了解更多关于[特定语言字符串提取](doc/language_specific_strings.md)的内容。
## 安装
要使用 FLOSS,请从发布页面下载独立的可执行文件:
https://github.com/mandiant/flare-floss/releases
有关安装 FLOSS 的所有方法的详细说明,请参阅[安装文档](doc/installation.md)。
## 使用示例
从恶意软件二进制文件中提取混淆字符串:
```
$ floss malware.exe
```
仅提取栈字符串和紧凑字符串:
```
$ floss --only stack tight -- suspicious.exe
```
不提取静态字符串:
```
$ floss --no static -- backdoor.exe
```
显示帮助/用法界面:
```
$ floss -h # show core arguments
$ floss -H # show all supported arguments
```
有关使用 FLOSS 的详细说明,请查阅[此处](doc/usage.md)的文档。
## 脚本
FLOSS 还在 [scripts](scripts) 目录中包含额外的 Python 脚本,可用于将其输出加载到其他工具(如 Binary Ninja 或 IDA Pro)中。
有关这些脚本的详细说明,请查阅[此处](scripts/README.md)的文档。
## 邮件列表
订阅 FLARE 邮件列表以获取社区公告,只需发送一封主题为 "subscribe" 的电子邮件至 [flare-external@google.com](mailto:flare-external@google.com?subject=subscribe&body=subscribe)。
标签:DAST, FLARE, FLOSS, Malware, Python, Stack Strings, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 反混淆, 威胁情报, 字符串提取, 开发者工具, 恶意软件分析, 无后门, 自动化分析, 跨站脚本, 逆向工具, 逆向工程, 静态分析