关于flare-floss
flare-floss是一款功能强大的恶意软件分析工具,该工具可以帮助广大研究人员自动从恶意软件中提取混淆字符串。
许多恶意软件作者不会使用硬核打包程序严密保护后门,而是通过仅混淆可执行文件的关键部分来逃避启发式检测。通常,这些部分是用于配置域、文件和其他感染工件的字符串和资源。这些关键特征不会以纯文本形式显示,因此会在基本静态分析期间给我们的工作提升难度。
flare-floss使用高级静态分析技术自动从恶意软件二进制文件中提取和反混淆所有字符串,我们可以使用它来增强对未知二进制文件的基本静态分析。
功能介绍
当前版本的flare-floss支持提取以下所有字符串类型:
1、静态字符串:“常规” ASCII 和 UTF-16LE 字符串;
2、堆栈字符串:运行时在堆栈上构造的字符串;
3、紧密字符串:堆栈字符串的一种特殊形式,在堆栈上解码;
4、解码字符串:在函数中解码的字符串;
工具要求
Python 3
工具安装
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/mandiant/flare-floss.git
然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:
cd flare-floss pip install -r requirements.txt
工具使用
从恶意软件二进制文件中提取混淆的字符串:
$ 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 malware.bin FLOSS static ASCII strings !This program cannot be run in DOS mode. _YY RichYY MdfQ .text `.rdata @.data .idata .didat .reloc U F ?;} A@;E _^[ HttHt-H '9U WS2_32.dll FreeLibrary GetProcAddress LoadLibraryA GetModuleHandleA GetVersionExA MultiByteToWideChar WideCharToMultiByte Sleep GetLastError DeleteFileA WriteFile [..snip...] FLOSS static UTF-16 strings ,%d FLOSS decoded 4 strings WinSta0\Default Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings ProxyEnable ProxyServer FLOSS extracted 81 stack strings WinSta0\Default '%s' executed. ERR '%s' error[%d]. Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings ProxyEnable ProxyServer wininet.dll InternetOpenA 0\A4 InternetSetOptionA InternetConnectA InternetQueryOptionA Mozilla/4.0 (compatible; MSIE 7.0; Win32) -ERR FILE(%s) wrote(%d). Invalid ojbect. SetFilepoint error[%d]. b64_ntop error[%d]. GetFileSize error[%d]. Creates file error[%d]. KCeID5Y/96QTJc1pzi0ZhEBqVG83OnXaL+oxsRdymHS4bFgl7UrWfP2v=wtjNukM [..snip...]
工具运行演示
许可证协议
本项目的开发与发布遵循Apache-2.0开源许可协议。
项目地址
flare-floss:【GitHub传送门】
参考资料
https://www.mandiant.com/resources/automatically-extracting-obfuscated-strings
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022