O Vba2Graph é uma ferramenta para Análise de Malware baseado em macros VBA. Auxilia na análise de macros maliciosas do Office. É capaz gerar um gráfico das chamadas de VBA, com possíveis palavras-chave maliciosas destacadas. Permite a análise rápida de macros maliciosas e a fácil compreensão do fluxo de execução.
Recursos:
- Keywords destacadas;
- Suporte a VBA Properties ;
- Suporte à declaração de função externa;
- Macros complicados com triggers de execução
_Change
; - Esquemas de cores extravagantes.
Prós:
- Muito rápido;
- Funciona muito bem na maioria das macros maliciosas observadas desta natureza.
Contras:
- Estático (dynamicaly resolved calls não seriam reconhecidas).
Exemplos:
Exemplo 1:
Trickbot downloader – utiliza o objeto Resize como trigger inicial, seguido pelas triggers TextBox_Change.
.
Exemplo 2:
.
Instalação:
Instalação oletools:
https://github.com/decalage2/oletools/wiki/Install
Instalação Requerimentos Python:
pip2 install -r requirements.txt
Instalação Graphviz:
Windows
Instale Graphviz msi:
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
Adicione dot.exe
à variável de ambiente PATH
ou somente:
set PATH=%PATH%;C:\Program Files (x86)\Graphviz2.38\bin
Mac
brew install graphviz
Ubuntu
sudo apt-get install graphviz
Arch
sudo pacman -S graphviz
Utilização do Vba2Graph:
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 file or .bas file
-f FILE, --file FILE Office file with macros
Exemplos de Utilização (Todas as Plataformas):
Somente Python 2 é suportado:
# 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
Output / Saída:
Você terá 4 pastas no seu diretório de output:
png
: a imagem gráfica real que você está procurando;svg
: mesma imagem do gráfico, apenas em gráficos vetoriais;dot
: o arquivo de ponto que foi usado para criar a imagem do gráfico;bas
: o código de funções do VBA que foi reconhecido pelo script (para depuração).
Processamento em Lote:
Mac/Linux:
O arquivo de script batch.sh
é anexado para executar olevba e vba2graph em uma pasta de entrada de documentos maliciosos.
Exclua o diretório output
. Utilize com cuidado.
.
* * * * *
.
Fonte: Github do projeto // Autor: @MalwareCantFly
Tradução por Tiago Souza
Disclaimer: Todas as informações aqui contidas são para fins didáticos e não para causar danos e prejuízos para alguém, usem sempre o conhecimento aqui compartilhado com ética e responsabilidade. Não nos responsabilizamos pela utilização indevida do conteúdo aqui exposto. Leia mais no aviso legal em nosso site.
.