freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

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

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

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

Vba2Graph:一款通过VBA代码分析恶意软件的强大工具(带GUI)
Alpha_h4ck 2018-12-21 15:00:45 377721

前言

今天给大家介绍的是一款名叫Vba2Graph的恶意软件分析工具,这款工具可以根据VBA代码来生成调用图,以帮助研究人员更方便地分析恶意文档。

1.png

对于安全研究人员来说,很多时候都需要花费大量的时间来分析恶意Office宏文件。但如果我们能提供一个VBA调用图,并高亮标记潜在的恶意关键词,那么研究人员就可以快速对恶意宏进行分析,并了解其执行流程了。

功能介绍

1、 关键词高亮标记;

2、 VBA属性支持;

3、 支持外部函数声明;

4、 巧妙触发“_Change”执行;

5、 美观的配色方案。

特性

1、 速度非常快;

2、 支持目前绝大部分的恶意宏。

演示样例

样例1:

Trickbot下载器-使用了对象Resize事件来作为初始触发器,跟在TextBox_Change触发器的之后:

2.png

样例2:

3.png

注:Examples目录中提供了更多参考样例。

工具安装

安装oletools:

https://github.com/decalage2/oletools/wiki/Install

安装Python依赖:

pip2 install -r requirements.txt

安装Graphviz

Windows

安装Graphviz msi:

https://graphviz.gitlab.io/_pages/Download/Download_windows.html

添加“dot.exe”到PATH环境变量中,或者运行:

set PATH=%PATH%;C:\Program Files (x86)\Graphviz2.38\bin

macOS

brew install graphviz

Ubuntu

sudo apt-get install graphviz

Arch

sudo pacman -S graphviz

工具使用

usage:vba2graph.py [-h] [-o OUTPUT] [-c {0,1,2,3}] (-i INPUT | -f FILE)

optional arguments:

  -h, --help            show this help message and exit

  -o OUTPUT, --output OUTPUT

                        output folder (default:"output")

  -c {0,1,2,3}, --colors {0,1,2,3}

                        color scheme number [0,1, 2, 3] (default: 0 - B&W)

  -i INPUT, --input INPUT

                        olevba generated fileor .bas file

  -fFILE, --file FILE  Office file withmacros

工具使用样例(全平台通用)

仅支持Python 2:

#Generate call graph directly from an Office file with macros [tnx @doomedraven]

python2 vba2graph.py -f malicious.doc -c 2   

#Generate vba code using olevba then pipe it to vba2graph

olevba malicious.doc | python2 vba2graph.py -c 1

#Generate call graph from VBA code

python2 vba2graph.py -i vba_code.bas -o output_folder

输出结果

在你的输出目录下会生成4个文件夹:

1、 png:存储实际生成的图形文件;

2、 svg:相同的图形文件(矢量图);

3、 dot:dot文件,用来创建图形文件;

4、 bas:脚本所识别出的VBA函数代码。

项目地址

Vba2Graph:【GitHub传送门

* 参考来源:kitploit,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

# Vba2Graph # VBA代码分析
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Alpha_h4ck 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Alpha_h4ck LV.10
好好学习,天天向上
  • 2359 文章数
  • 1023 关注者
Tetragon:一款基于eBPF的运行时环境安全监控工具
2025-01-21
DroneXtract:一款针对无人机的网络安全数字取证工具
2025-01-21
CNAPPgoat:一款针对云环境的安全实践靶场
2025-01-21
文章目录