analyzing-macro-malware-in-office-documents
Ajuda seu agente a entender como vírus em documentos do Office funcionam. Ele procura por códigos maliciosos que podem baixar mais ameaças ou se esconder.
O que ela faz
Esta ferramenta analisa documentos do Office (Word, Excel, PowerPoint) que contêm macros maliciosas. Ela procura por códigos que tentam baixar outros programas, executar comandos, se esconder no sistema ou enganar a análise.
Quando usar
- ✓Quando você recebe um documento do Office suspeito por e-mail.
- ✓Ao investigar ataques que usam documentos maliciosos.
- ✓Para entender como um macro malicioso funciona e o que ele faz.
Exemplo do que pedir para a IA
“Analise este documento do Word para ver se ele tem macros perigosas.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta usa programas específicos para extrair o código das macros. Depois, ela tenta "desembaralhar" esse código para torná-lo legível e identificar as ações perigosas.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill analyzing-macro-malware-in-office-documentsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/analyzing-macro-malware-in-office-documents/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Análise de Malware com Macros em Documentos do Office
Quando Usar
- Um documento do Office suspeito (.doc, .docm, .xls, .xlsm, .ppt) foi sinalizado pela segurança de e-mail
- Investigando campanhas de phishing que entregam documentos do Office "armados"
- Extraindo código de macro VBA para identificar a URL de download do payload e o método de execução
- Analisando código VBA ofuscado para entender a cadeia de ataque completa
- Determinando se um documento usa DDE, ActiveX ou injeção de template remoto em vez de macros
Não use para analisar ameaças do Office que não usam macros (DDE, injeção de template remoto); embora esta habilidade cubra a detecção delas, análises especializadas podem ser necessárias.
Pré-requisitos
- Python 3.8+ com oletools instalado (
pip install oletools) - oledump.py de Didier Stevens (https://blog.didierstevens.com/programs/oledump-py/)
- VM de análise isolada sem o Microsoft Office instalado (evita execução acidental)
- XLMDeobfuscator para análise de macros do Excel 4.0 (pip install xlmdeobfuscator)
- LibreOffice para renderização segura de documentos (não executa macros VBA por padrão)
Fluxo de Trabalho
Passo 1: Triagem Inicial do Documento
Determine se o documento contém macros ou outro conteúdo ativo:
# Quick triage with olevba
olevba suspect.docm
# Check for OLE streams and macros
oleid suspect.docm
# Output indicators:
# VBA Macros: True/False
# XLM Macros: True/False
# External Relationships: True/False (remote template)
# ObjectPool: True/False (embedded objects)
# Flash: True/False (SWF objects)
# Comprehensive OLE analysis
oledump.py suspect.docm
# List all OLE streams with macro indicators
# Streams marked with 'M' contain VBA macros
# Streams marked with 'm' contain macro attributes
Passo 2: Extrair e Analisar Código VBA
Extraia o código-fonte completo da macro VBA:
# Extract VBA with full deobfuscation
olevba --decode --deobf suspect.docm
# Extract just the VBA source code
olevba --code suspect.docm > extracted_vba.txt
# Detailed extraction with oledump
oledump.py -s 8 -v suspect.docm # Stream 8 (adjust based on stream listing)
# Extract all macro streams
oledump.py -p plugin_vba_dco suspect.docm
Key VBA Elements to Identify:
━━━━━━━━━━━━━━━━━━━━━━━━━━━
Auto-Execution Triggers:
- Auto_Open / AutoOpen (Word)
- Auto_Close / AutoClose
- Document_Open / Document_Close
- Workbook_Open (Excel)
- AutoExec
Suspicious Functions:
- Shell() / Shell.Application
- WScript.Shell.Run / Exec
- CreateObject("WScript.Shell")
- PowerShell execution
- URLDownloadToFile
- MSXML2.XMLHTTP (HTTP requests)
- ADODB.Stream (file writing)
- Environ() (environment variables)
- CallByName (indirect method calls)
Passo 3: Desofuscar Código VBA
Remova as camadas de ofuscação para revelar o payload:
# VBA deobfuscation techniques
import re
def deobfuscate_vba(code):
# 1. Resolve Chr() calls: Chr(104) & Chr(116) -> "ht"
def resolve_chr(match):
try:
return chr(int(match.group(1)))
except:
return match.group(0)
code = re.sub(r'Chr\$?\((\d+)\)', resolve_chr, code)
# 2. Remove string concatenation: "htt" & "p://" -> "http://"
code = re.sub(r'"\s*&\s*"', '', code)
# 3. Resolve ChrW calls: ChrW(104)
code = re.sub(r'ChrW\$?\((\d+)\)', resolve_chr, code)
# 4. Resolve StrReverse: StrReverse("exe.daolnwod") -> "download.exe"
def resolve_reverse(match):
return '"' + match.group(1)[::-1] + '"'
code = re.sub(r'StrReverse\("([^"]+)"\)', resolve_reverse, code)
# 5. Remove Mid$/Left$/Right$ obfuscation (complex, mark for manual review)
# 6. Resolve Replace(): Replace("Powxershxell", "x", "")
def resolve_replace(match):
original = match.group(1)
find = match.group(2)
replace_with = match.group(3)
return '"' + original.replace(find, replace_with) + '"'
code = re.sub(r'Replace\("([^"]+)",\s*"([^"]+)",\s*"([^"]*)"\)', resolve_replace, code)
return code
with open("extracted_vba.txt") as f:
vba_code = f.read()
deobfuscated = deobfuscate_vba(vba_code)
print(deobfuscated)
Passo 4: Analisar Macros do Excel 4.0 (XLM)
Lide com macros legadas do Excel que contornam a detecção de VBA:
# Detectar macros XLM
olevba --xlm suspect.xlsm
# Desofuscar macros XLM
xlmdeobfuscator -f suspect.xlsm
# Análise manual de XLM com oledump
oledump.py suspect.xlsm -p plugin_biff.py
# Funções de macro XLM (Excel 4.0) para observar:
…
Perguntas frequentes
O que são macros?
Macros são pequenas sequências de comandos que podem ser adicionadas a documentos para automatizar tarefas. Infelizmente, elas também podem ser usadas para executar código malicioso.
O que é 'obfuscação'?
É uma técnica usada para tornar o código difícil de ler e entender, como se estivesse embaralhado. A ferramenta tenta desfazer essa confusão.
Preciso instalar algo para usar?
Sim, a ferramenta requer a instalação de alguns programas específicos (como oletools) e um ambiente seguro para análise, para evitar que o malware seja executado acidentalmente.
Detalhes
Descrição original do autor
Analyzes malicious VBA macros embedded in Microsoft Office documents (Word, Excel, PowerPoint) to identify download cradles, payload execution, persistence mechanisms, and anti-analysis techniques. Uses olevba, oledump, and VBA deobfuscation to extract the attack chain. Activates for requests involving Office macro analysis, VBA malware investigation, maldoc analysis, or document-based threat exam
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5461
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
data-throughput-accelerator
Faz seu agente acelerar a movimentação de grandes volumes de dados. Ele encontra gargalos e garante que os dados sejam transferidos de forma rápida e correta.
affaan-m/ECC
inventory-demand-planning
Ajuda seu agente a prever a demanda de produtos em lojas. Ele otimiza o estoque e planeja quando fazer promoções para vender mais.
affaan-m/ECC
market-research
Ajuda seu agente a realizar pesquisas de mercado e análises competitivas. Fornece resumos com atribuição de fontes.
affaan-m/ECC