内容简介:flashmingo是FireEye最新发布的一个用于自动分析SWF文件的框架。它可以自动对可疑的Flash文件进行分类,并进一步的指导分析过程。Flashmingo可作为独立的工具,也可以作为库的一部分集成到分析工作流中。安装requirements.txt文件中列出的Python (2.7)。你可以使用以下命令进行安装:
flashmingo是FireEye最新发布的一个用于自动分析SWF文件的框架。它可以自动对可疑的Flash文件进行分类,并进一步的指导分析过程。Flashmingo可作为独立的工具,也可以作为库的一部分集成到分析工作流中。
安装
安装requirements.txt文件中列出的Python (2.7)。
你可以使用以下命令进行安装:
pip install -r requirements.txt
如果要使用反编译功能,则需要安装Jython。Ubuntu/Debian用户可以使用下面的命令安装:
apt install jython
克隆该项目或下载zip文件。
目的
到目前为止,取证人员和恶意软件分析师仍必须对可疑的SWF文件进行处理。据悉,Adobe Flash将于2020年被弃用,弃用后系统将继续支持不再使用安全补丁更新的旧文件格式。而自动化是解决该问题的最佳方式,这也是FLASHMINGO可以为你提供帮助的地方。FLASHMINGO是一个用于自动处理SWF文件的分析框架,使分析人员能够以最小的努力对可疑的Flash样本进行分类并进一步调查。此外,用户还可通过自定义 Python 插件来轻松扩展其功能。
架构
FLASHMINGO的设计考虑了简洁性。它读取SWF文件并创建表示其内容和结构的对象(SWFObject)。然后,FLASHMINGO运行一系列插件作用于SWFObject对象,并将其值返回到主程序。
以下是ASCII流程图:
+----------+ | | +------------+----------->+ PLUGIN 1 +------------+ | | | | | | | +----------+ | | | | | | +----------+ | | | | | | +---------+ | +----------->+ PLUGIN 2 +--------+ | |SWF FILE +----------->+ FLASHMINGO | | | | | +---------+ | | +----------+ | | | | | | | | | | | | | | | | +-----v---v-+ | | | | | | | | +-----+------+------------------------->+ SWFOBJECT | ^ | | | | | | +-----+-----+ | | | | | | +---------------------------------------+
在你自己的项目中使用FLASHMINGO作为库时,你只需处理两种类型的对象:
一个或多个SWFObject(s),代表样本。
一个Flashmingo对象。主要用作连接插件和SWFObject的线束(harness)。
插件
FLASHMINGO插件存储在它们自己的目录下…你猜对了:插件当Flashmingo对象被实例化时,它会遍历这个目录并处理所有插件的清单(manifests)。如果插件处于启用状态,则会注册该插件以供后续使用。在代码级别,这意味着将一个小的plugin_info字典添加到插件列表中。
通过run_plugin API的两个参数调用插件:
插件的名称
SWFObject实例
(可选)大多数插件允许你传递自己的用户数据。默认插件SuspiciousNames将在所有常量池中,搜索包含可疑字符串(例如:’overflow’,’spray’,’shell’等)的文件。插件中已包含了一个硬编码的常见字符串列表。但你也可以传递自己定义的字符串列表,在本例中为names参数。
代码示例:
fm = Flashmingo() print fm.run_plugin('DangerousAPIs', swf=swf) print fm.run_plugin('SuspiciousNames', swf=swf, names=['spooky'])
默认插件
FLASHMINGO还附带了其他一些非常实用的插件:
binary_data
dangerous_apis
decompiler
suspicious_constants
suspicious_loops
suspicious_names
template
扩展 FLASHMINGO
为便于开发,flashmingo还为我们提供了一个模板插件。扩展flashmingo非常简单,遵循以下步骤即可:
复制模板
编辑清单
覆盖run方法
添加自定义代码
FLASHMINGO 作为库
API
有关自动生成的文档,请参阅docs目录
有关示例,请参阅FireEye的博客文章
前端
Console
创建文档
$ pip install sphinxcontrib-napoleon
设置Sphinx构建文档后,在Sphinx conf.py文件中启用napoleon:
在conf.py中,将napoleon添加到extensions列表中
extensions = ['sphinxcontrib.napoleon']
使用sphinx-apidoc构建你的API文档:
$ sphinx-apidoc -f -o docs/source projectdir
这将创建.rst文件供Sphinx处理
$ make html
*参考来源: GitHub ,FB小编secist编译,转载请注明来自FreeBuf.COM
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Xcode仿Cocoapods自动化锁定文件(locked file)
- 看我如何通过Nmap Xml文件进行自动化渗透测试
- 实现一键式自动化操作(快速创建 Python 与 Shell 文件)
- vue如何自动化打包测试环境和正式环境的dist/test文件
- 移动安全自动化测试框架MobSF多个版本静态分析接口存在的任意文件写入漏洞复现与分析
- [DevOps]自动化运维基础与自动化监控
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web Form Design
Luke Wroblewski / Rosenfeld Media / 2008-5-2 / GBP 25.00
Forms make or break the most crucial online interactions: checkout, registration, and any task requiring information entry. In Web Form Design, Luke Wroblewski draws on original research, his consider......一起来看看 《Web Form Design》 这本书的介绍吧!