Pular para o conteúdo
Skillpedia
Diversos35 mil · #6152

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-static-malware-analysis-with-pe-studio/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-static-malware-analysis-with-pe-studio/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-studio

Ou 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.md
Conteú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 pefile para 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.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6152
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas