Pular para o conteúdo

Análise de malware baseado em macros VBA

    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.

    Figura 1: exemplo de uso Vba2Graph
    Figura 1: exemplo de uso Vba2Graph

    .

    Exemplo 2:

    Figura 2: exemplo de uso Vba2Graph
    Figura 2: exemplo de uso Vba2Graph

    .

    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.

    .

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.