performing-static-malware-analysis-with-pe-studio
Faz seu agente analisar arquivos de malware sem executá-los. Ele examina informações do arquivo para identificar possíveis ameaças antes da execução.
O que ela faz
Esta ferramenta analisa arquivos suspeitos do Windows sem executá-los. Ela examina o código e os dados dentro do arquivo para encontrar pistas sobre o que ele faz, como se ele está tentando se esconder ou se contém partes maliciosas.
Quando usar
- ✓Quando você encontra um arquivo executável suspeito no Windows.
- ✓Para ter uma ideia rápida do que um arquivo faz antes de testá-lo em um ambiente seguro.
- ✓Para procurar por informações como endereços de sites ou chaves de registro dentro do arquivo.
Exemplo do que pedir para a IA
“Analise este arquivo suspeito para mim e me diga se ele parece malicioso.”
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 olha para a estrutura interna do arquivo, as funções que ele usa e os textos que ele contém. Ela procura por padrões que são comuns em programas maliciosos ou que indicam tentativas de disfarce.
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 performing-static-malware-analysis-with-pe-studioOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-static-malware-analysis-with-pe-studio/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.
Realizando Análise Estática de Malware com PEStudio
Quando Usar
- Um executável suspeito do Windows foi coletado e precisa de uma triagem inicial antes da execução em sandbox
- Você precisa identificar importações, strings e recursos que revelem a funcionalidade do malware sem executar a amostra
- Determinar se um arquivo PE está empacotado, ofuscado ou contém técnicas anti-análise
- Extrair indicadores de comprometimento (hashes, URLs, IPs, chaves de registro) embutidos em um binário
- Classificar as capacidades de uma amostra com base em sua tabela de importação e características de seção
Não use para análise comportamental dinâmica que requer execução; use uma sandbox (Cuckoo, ANY.RUN) para observação do comportamento em tempo de execução.
Pré-requisitos
- PEStudio (edição gratuita de https://www.winitor.com/) instalado em uma estação de trabalho de análise isolada
- Python 3.8+ com a biblioteca
pefilepara análise de PE com scripts (pip install pefile) - CFF Explorer ou PE-bear como ferramentas suplementares de análise de PE
- Acesso à API do VirusTotal para consultas de hash e inteligência da comunidade
- VM de análise isolada sem conectividade de rede com sistemas de produção
- FLOSS (FireEye Labs Obfuscated String Solver) para extrair strings ofuscadas
Fluxo de Trabalho
Etapa 1: Calcular Hashes do Arquivo e Verificar a Integridade da Amostra
Gere hashes criptográficos para identificação e consulta de inteligência:
# Generate MD5, SHA-1, and SHA-256 hashes
md5sum suspect.exe
sha1sum suspect.exe
sha256sum suspect.exe
# Check hash against VirusTotal
curl -s -X GET "https://www.virustotal.com/api/v3/files/$(sha256sum suspect.exe | cut -d' ' -f1)" \
-H "x-apikey: $VT_API_KEY" | jq '.data.attributes.last_analysis_stats'
# Get file type with magic bytes verification
file suspect.exe
Etapa 2: Examinar Cabeçalhos PE e Tabela de Seções
Abra a amostra no PEStudio e inspecione as propriedades estruturais:
PEStudio Analysis Points:
━━━━━━━━━━━━━━━━━━━━━━━━━
File Header: Compilation timestamp, target architecture (x86/x64)
Optional Header: Entry point address, image base, subsystem (GUI/console)
Section Table: Section names, virtual/raw sizes, entropy values
High entropy (>7.0) in .text/.rsrc suggests packing
Signatures: Authenticode signature presence and validity
Análise de Cabeçalhos PE com Scripts usando pefile:
import pefile
import hashlib
import math
pe = pefile.PE("suspect.exe")
# Compilation timestamp
import datetime
timestamp = pe.FILE_HEADER.TimeDateStamp
compile_time = datetime.datetime.utcfromtimestamp(timestamp)
print(f"Compile Time: {compile_time} UTC")
# Section analysis with entropy calculation
for section in pe.sections:
name = section.Name.decode().rstrip('\x00')
entropy = section.get_entropy()
raw_size = section.SizeOfRawData
virtual_size = section.Misc_VirtualSize
ratio = virtual_size / raw_size if raw_size > 0 else 0
print(f"Section: {name:8s} Entropy: {entropy:.2f} Raw: {raw_size:>10} Virtual: {virtual_size:>10} Ratio: {ratio:.2f}")
if entropy > 7.0:
print(f" [!] HIGH ENTROPY - likely packed or encrypted")
if ratio > 10:
print(f" [!] HIGH V/R RATIO - unpacking stub likely present")
Etapa 3: Analisar a Tabela de Endereços de Importação (IAT)
Identifique importações de API suspeitas que indiquem capacidades de malware:
# Extract and categorize imports
suspicious_imports = {
"Process Injection": ["VirtualAllocEx", "WriteProcessMemory", "CreateRemoteThread", "NtCreateThreadEx"],
"Keylogging": ["GetAsyncKeyState", "SetWindowsHookExA", "GetKeyState"],
"Persistence": ["RegSetValueExA", "CreateServiceA", "SchTasksCreate"],
"Evasion": ["IsDebuggerPresent", "CheckRemoteDebuggerPresent", "NtQueryInformationProcess"],
"Network": ["InternetOpenA", "HttpSendRequestA", "URLDownloadToFileA", "WSAStartup"],
"File Operations": ["CreateFileA", "WriteFile", "DeleteFileA", "MoveFileA"],
"Crypto": ["CryptEncrypt", "CryptDecrypt", "CryptAcquireContextA"],
}
for entry in pe.DIRECTORY_ENTRY_IMPORT:
dll_name = entry.dll.decode()
for imp in entry.imports:
if imp.name:
func_name = imp.name.decode()
for category, funcs in suspicious_imports.items():
if func_name in funcs:
print(f"[!] {category}: {dll_name} -> {func_name}")
Etapa 4: Extrair e Analisar Strings
Use o FLOSS para strings ofuscadas e extração de strings padrão:
# Extração de strings padrão (ASCII e Unicode)
…
Perguntas frequentes
O que é 'análise estática'?
É como examinar um carro sem ligar o motor. Você olha as peças, o design e os materiais para tentar entender como ele funciona e se há algo incomum.
Preciso instalar algo?
Sim, você precisa do programa PEStudio e de algumas ferramentas adicionais para fazer a análise completa.
Posso usar isso em qualquer tipo de arquivo?
Não, esta ferramenta é específica para arquivos executáveis do Windows (arquivos .exe e .dll).
Detalhes
Descrição original do autor
Performs static analysis of Windows PE malware samples using PEStudio to examine file headers, imports, strings, and resources without executing the binary, identifying packing, anti-analysis tricks, and malicious imports. Use for pre-execution triage of a suspicious Windows executable before sandbox detonation.
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6152
- 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
dashboard-builder
Ajuda seu agente a criar painéis de monitoramento úteis. Ele transforma dados em gráficos que respondem a perguntas importantes sobre o sistema.
affaan-m/ECC
dev-team
Simula uma equipe de desenvolvimento colaborativa, onde diferentes papéis respondem a um problema juntos. É útil para obter múltiplas perspectivas sem trocar de agente manualmente.
affaan-m/ECC
ecc-council
Faz seu agente reunir um conselho de quatro vozes para tomar decisões difíceis. É útil quando há várias opções boas e é preciso debater antes de escolher.
affaan-m/ECC