如何使用flare-floss自动从恶意软件中提取混淆字符串
2024-11-18 22:27:38 Author: www.freebuf.com(查看原文) 阅读量:2 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

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


文章来源: https://www.freebuf.com/sectool/415557.html
如有侵权请联系:admin#unsafe.sh