如何使用flare-floss自动从恶意软件中提取混淆字符串

科技   2024-11-19 19:35   上海  


关于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

https://github.com/mandiant/flare-floss


FreeBuf粉丝交流群招新啦!
在这里,拓宽网安边界
甲方安全建设干货;
乙方最新技术理念;
全球最新的网络安全资讯;
群内不定期开启各种抽奖活动;
FreeBuf盲盒、大象公仔......
扫码添加小蜜蜂微信回复「加群」,申请加入群聊

https://www.mandiant.com/resources/automatically-extracting-obfuscated-strings

FreeBuf
中国网络安全行业门户
 最新文章