
Ferramenta
PEStudio: análise estática de malware Windows sem executar a amostra
O que é
O PEStudio (escrito em minúsculas como pestudio pelo próprio autor) é uma ferramenta gratuita de análise estática de binários Windows criada pelo analista de malware Marc Ochsenmeier, mantida desde 2009 no site winitor.com e utilizada por CERTs (Computer Emergency Response Teams, equipes de resposta a incidentes), SOCs (Security Operations Centers, centros de operações de segurança) e profissionais de DFIR (Digital Forensics and Incident Response, forense digital e resposta a incidentes) em todo o mundo — inclusive como material de apoio do curso SANS FOR610, referência em engenharia reversa de malware. Diferente de um sandbox, o PEStudio nunca executa o arquivo analisado: ele abre o binário, decompõe sua estrutura e apresenta em segundos o que o arquivo revela — hashes, metadados, seções, bibliotecas importadas, funções, strings, entropia e assinaturas — sem nenhum risco de infecção para a máquina que faz a análise. O alvo é o formato PE (Portable Executable, o formato padrão de executáveis, bibliotecas e drivers do Windows), reconhecido pelos bytes "MZ" (4D 5A em hexadecimal) gravados no início de todo arquivo .exe, .dll ou .sys.
O nome da ferramenta resume seu papel: ela entrega a triagem (avaliação inicial rápida para decidir se uma amostra merece investigação aprofundada), o primeiro passo de todo fluxo de análise de malware. Antes de detonar um binário em um sandbox ou abrir um depurador, o analista precisa responder três perguntas: o arquivo é malicioso? O que ele é capaz de fazer? E como procurá-lo na rede? O PEStudio responde às três com dados concretos — o score no VirusTotal (serviço que agrega detecções de dezenas de antivírus por hash) dá a primeira resposta, os imports e as strings revelam capacidades, e os hashes viram IOCs (Indicators of Compromise, indicadores de comprometimento) para busca nos endpoints. Como a ferramenta é portátil — não exige instalação e roda a partir de um pendrive, sem tocar no registro do Windows — ela pode ser levada para qualquer máquina de investigação sem deixar rastros.
Análise de malware, mesmo estática, deve ser feita em uma máquina isolada e descartável — uma VM (máquina virtual) com snapshot (cópia de estado do sistema que permite restaurar o ambiente) e, de preferência, sem acesso à rede. O PEStudio não executa o arquivo, mas o analista nunca sabe de antemão o que um binário desconhecido pode fazer.
Principais características
O PEStudio organiza tudo o que extrai do binário em visões laterais que funcionam como camadas de uma investigação: cada aba revela um aspecto do arquivo e alimenta a seguinte. A tabela abaixo resume as visões principais e o que cada uma contribui para a triagem:
| Visão | O que revela | Valor na triagem |
|---|---|---|
| Main | Hashes MD5 e SHA-1, imphash, tamanho, entropia do arquivo, primeiros bytes, timestamp de compilação, arquitetura (32/64 bits), compilador/empacotador detectado e score do VirusTotal | Identidade do arquivo e primeira leitura de suspeita |
| Indicators | Lista de anomalias classificadas por nível de confiança (1 a 3), como seções executáveis, imports blacklistados, bibliotecas suspeitas e arquivos embutidos | Roteiro da análise: indica exatamente onde olhar primeiro |
| Sections | Nome, tamanho, permissões e entropia de cada seção do PE | Detecção de packing (empacotamento, técnica que comprime e ofusca o código) e de código auto-modificável |
| Libraries | DLLs (Dynamic Link Libraries, bibliotecas de vínculo dinâmico) importadas pelo binário, com marcação de blacklist e grupos | Capacidades por biblioteca: rede, áudio, registro, criptografia |
| Imports | Funções importadas, também conhecidas como IAT (Import Address Table, tabela de endereços de importação), com grupos e dicas por função | O que o malware "sabe fazer" sem precisar ser executado |
| Strings | Strings ASCII e Unicode com tipo, localização no arquivo, blacklist, dicas e grupos | URLs, IPs, chaves de registro, user-agents e caminhos de arquivo |
| VirusTotal | Score e detecções dos antivírus por hash da amostra | Reputação pública: quantos AVs já classificaram o arquivo |
| Recursos | Manifesto (metadados de identidade do aplicativo), ícones, recursos embutidos e overlay (dados anexados após o fim do PE), com extração | Arquivos escondidos dentro do binário, como um segundo estágio |
O coração da ferramenta é a visão Indicators: cada anomalia detectada recebe um nível de confiança de 1 a 3, em que 1 é o indicador mais confiável de malícia e 3 é apenas uma observação a ser verificada. Os exemplos abaixo, retirados da apresentação do próprio autor no Black Hat London 2019, mostram como os indicadores traduzem a análise em pistas acionáveis:
| Indicador (traduzido) | Nível |
|---|---|
| O arquivo referencia strings marcadas como blacklist (25 ocorrências) | 1 |
| O arquivo importa símbolos marcados como blacklist (14 ocorrências) | 1 |
| O arquivo contém outro arquivo embutido (localização: overlay) | 1 |
| O arquivo é pontuado pelo VirusTotal (59/69 detecções) | 1 |
| A última seção do arquivo é executável | 1 |
| O arquivo referencia bibliotecas marcadas como blacklist (3 ocorrências) | 1 |
| O tamanho do DOS stub (pequeno programa exibido quando o executável roda em DOS) é suspeito (2.696 bytes) | 2 |
| O checksum (soma de verificação) do arquivo é inválido (0x00000000) | 2 |
| O arquivo contém várias seções executáveis (2) | 2 |
| O manifesto do aplicativo foi detectado | 3 |
Além desses, a ferramenta calcula métricas que o analista não enxerga a olho nu: a entropia (medida de aleatoriedade dos dados, em uma escala de 0 a 8) de cada seção e do arquivo inteiro, o imphash (hash MD5 calculado sobre o conjunto de funções importadas, que permanece igual entre variantes da mesma família de malware mesmo quando o arquivo muda), o file-ratio (proporção entre o tamanho do arquivo e o das seções, que expõe discrepâncias de compactação) e o rich header (estrutura que registra a cadeia de compiladores e linkers usados para gerar o binário). Valores de entropia entre 7 e 8 em seções como .text, .data ou .rsrc indicam código empacotado ou criptografado; a detecção automática de empacotadores como o UPX (empacotador de executáveis de código aberto) confirma a suspeita em um clique.
O PEStudio existe em duas versões, com a mesma base de análise e recursos diferentes:
| Recurso | Básica (grátis) | Professional |
|---|---|---|
| Assinatura de arquivo, URLs/IPs hard-coded, metadados, imports, exports e strings | Sim | Sim |
| Manifesto, recursos, overlay, entropia, imphash, rich header, TLS callbacks e DOS stub | Sim | Sim |
| Score do VirusTotal (envia apenas o hash MD5, nunca o arquivo) | Sim | Sim |
| Execução em lote via linha de comando (pestudiox.exe) | — | Sim |
| Relatório XML para integração com outras ferramentas | — | Sim |
| Mapeamento de táticas e técnicas do MITRE ATT&CK | — | Sim |
| Análise de .NET (plataforma da Microsoft para aplicações gerenciadas): namespaces, recursos e arquivos embutidos | — | Sim |
| Detecção de imports e bibliotecas duplicados e spoofados (falsificados) | — | Sim |
| Agrupamento e coloração de itens, tabelas de exceções e realocações | — | Sim |
A versão basic é gratuita e suficiente para aprender e para uso pessoal de estudo; a professional custa 159 euros por usuário/ano e destina-se a uso profissional, tema que retomamos na seção de riscos porque envolve a licença de uso.
Casos de uso práticos
Triagem rápida de um binário suspeito: o workflow completo
O cenário clássico é um arquivo recebido por e-mail, baixado de um site de download ou encontrado em uma máquina comprometida — por exemplo, um hipotético suspeito.exe descoberto em uma pasta de Downloads durante uma investigação. O primeiro passo é arrastar o arquivo para a janela do PEStudio; em poucos segundos, a visão Main confirma que o arquivo é um PE legítimo (os bytes iniciais 4D 5A, o "MZ") e apresenta os hashes MD5 e SHA-1, o timestamp de compilação, a arquitetura de 64 bits e a entropia geral de 7,9 — valor alto, típico de código empacotado. O score do VirusTotal mostra 3 detecções em 70 antivírus: um sinal fraco, mas não suficiente para descartar a amostra, já que famílias novas e evasivas demoram a acumular detecções.
Em seguida, a visão Indicators resume o veredito preliminar em uma lista ordenada por nível: strings blacklistadas (nível 1), imports blacklistados (nível 1), outro arquivo embutido no overlay (nível 1) e checksum inválido (nível 2). O caminho é claro — a amostra não é um binário inocente. O passo seguinte é confirmar o empacotamento na visão Sections: as seções UPX0 e UPX1, com nomes característicos e entropia acima de 7, indicam que o suspeito.exe foi compactado com UPX; a seção UPX1 ocupa quase 88% do arquivo, e é nela que o código real está escondido.
Depois, a visão Imports mostra o que o binário é capaz de fazer, mesmo antes de ser desempacotado — as funções importadas sobrevivem ao empacotamento porque o carregador do Windows precisa delas:
| Import | Grupo | Capacidade indicada |
|---|---|---|
| URLDownloadToFileA | Rede | Baixar arquivos adicionais da internet |
| RegCreateKeyA / RegSetValueExA | Registro | Criar persistência em chaves de inicialização |
| VirtualAlloc / WriteProcessMemory | Memória | Alocar e escrever em memória de outros processos (injeção) |
| CreateServiceA | Serviço | Instalar-se como serviço do Windows |
| GetProcAddress | Execução | Resolver APIs dinamicamente, padrão de ofuscação |
| ShellExecuteA | Execução | Executar outros programas |
Por fim, a visão Strings completa o retrato com o texto embutido no binário: um user-agent (identificador enviado em requisições HTTP) antigo e incomum, o caminho Software\Microsoft\Windows\CurrentVersion\Run — a chave de registro clássica de persistência — e um domínio que não aparece em nenhuma listagem de reputação, provável C2 (Command and Control, servidor de comando e controle). Com isso, o analista tem elementos para decidir: a amostra é empacotada, com indicadores de nível 1 e capacidades de download, injeção e persistência. O próximo passo natural é desempacotar o binário para aprofundar a análise estática ou detoná-lo em um sandbox para observar o comportamento dinâmico — e, em paralelo, os hashes e o domínio já podem ser usados para caçar a amostra em outros hosts da rede.
Caça a variantes e escrita de regras YARA
Além da triagem de um arquivo isolado, o PEStudio é uma ferramenta de agrupamento: o imphash permite identificar, entre dezenas de amostras coletadas, quais pertencem à mesma família — duas amostras com o mesmo conjunto de imports provavelmente vieram do mesmo kit de construção, mesmo que os hashes MD5 e SHA-1 sejam diferentes. É o ponto de partida para a caça a variantes em um diretório de amostras ou em um feed de threat intelligence (inteligência de ameaças, a coleta e análise de informações sobre ataques).
O mesmo material alimenta a escrita de regras YARA (linguagem de assinaturas para identificar padrões em arquivos, amplamente usada para detectar malware): as strings distintivas reveladas na visão Strings — o domínio de C2, o user-agent, a chave de registro e o caminho de instalação — viram os padrões da regra. O PEStudio não executa regras YARA nativamente; o motor de avaliação roda em ferramentas dedicadas, mas é o ponto de partida ideal para identificá-las. Uma regra mínima baseada nos achados do suspeito.exe teria a seguinte forma:
rule Suspeito_Familia_2026 {
meta:
author = "Zero Day Security"
description = "Detecta amostras da familia suspeito.exe"
strings:
$ua = "Mozilla/4.0 (compatible; MSIE 8.0; Win32)"
$c2 = "hxxp://malicioso[.]example/delivery"
$key = "Software\\Microsoft\\Windows\\CurrentVersion\\Run"
condition:
uint16(0) == 0x5A4D and 2 of them
}A condição uint16(0) == 0x5A4D exige que o arquivo seja um PE (os bytes "MZ") e que pelo menos duas das três strings estejam presentes — um bom equilíbrio entre sensibilidade e precisão. Na notação acima, o domínio aparece defangado (com [.] no lugar do ponto) para evitar que a própria regra seja tratada como link ou IOC acidental.
Triagem em lote, relatórios e análise de .NET no SOC
Em um SOC com fluxo de alertas constante, a versão professional adiciona duas capacidades que mudam de escala: o pestudiox.exe, a versão em linha de comando, processa arquivos em lote e gera um relatório XML por amostra — um formato que pode ser consumido por outras ferramentas da cadeia de análise, integrando a triagem estática a um pipeline maior. O relatório organiza os achados por estrutura do arquivo, como mostra o trecho real da documentação do autor, com o mapeamento de táticas e técnicas:
<mitre hint="6">
<mitre-tactic name="Initial Access" ta="TA0001"/>
<mitre-tactic name="Defense Evasion" ta="TA0005">
<mitre-technique name="Process Injection" ti="T1055"/>
</mitre-tactic>
<mitre-tactic name="Discovery" ta="TA0007">
<mitre-technique name="Process Discovery" ti="T1057"/>
</mitre-tactic>
</mitre>Essa visão de táticas e técnicas vem do mapeamento nativo da versão professional para o MITRE ATT&CK (base de conhecimento de táticas e técnicas de ataque observadas em ataques reais), que transforma os imports e strings em técnicas catalogadas — como Process Injection (T1055) e Process Discovery (T1057) — e acelera a escrita de relatórios padronizados.
Outro caso recorrente é a análise de malwares escritos em .NET, cada vez mais comuns entre stealers (programas que roubam credenciais, cookies e dados de navegadores), como o XWORM, analisado aqui no Zero Day Security. Para binários gerenciados, a visão .NET da versão professional lista namespaces, classes, funções, streams e permite extrair os arquivos embutidos — uma vantagem enorme, porque grande parte do código ofensivo fica visível como metadados legíveis, sem precisar de engenharia reversa.
Como se defender e riscos
Ambiente de análise isolado. O PEStudio não executa a amostra, mas ainda assim analisa arquivos não confiáveis — e um PE malformado, projetado para explorar falhas em parsers, é um risco real em qualquer ferramenta de análise. A análise deve acontecer sempre em uma VM descartável, com snapshot antes de cada amostra, rede bloqueada ou controlada e o PEStudio atualizado; a mesma máquina nunca deve ser usada para trabalho de produção, e o pendrive com as amostras não deve ser conectado a máquinas comuns.
Controle sobre o que sai da máquina. A consulta ao VirusTotal é o único ponto em que o PEStudio toca a rede, e seu modelo de privacidade é bem desenhado: ele envia apenas o hash MD5 do arquivo — a amostra em si nunca sai da máquina, e o envio pode ser completamente desabilitado por uma chave de configuração nos arquivos XML da ferramenta. Em investigações sensíveis, vale desabilitar a consulta ou executar a análise offline e fazer a consulta de reputação em um ambiente controlado, porque até o hash é um dado que pode identificar a amostra.
Reconhecer os limites da análise estática. Empacotamento e criptografia escondem o código real, e é comum malware usar API hashing (ofuscação que substitui nomes de funções por valores numéricos calculados) para esconder os imports — nesses casos, a visão Imports fica vazia e as strings legíveis praticamente somem. Entropia alta não é prova de malícia: softwares legítimos usam empacotadores e protetores comerciais, e um score baixo no VirusTotal não significa arquivo limpo — amostras novas, sob medida ou de famílias evasivas frequentemente acumulam zero detecções. Indicadores são heurísticas, não vereditos: um programa legítimo pode muito bem usar APIs de rede e chaves de inicialização. O analista deve tratar o PEStudio como gerador de hipóteses, nunca como juiz final.
Respeitar a licença de uso. A versão gratuita é licenciada para uso privado e educacional, e a documentação oficial é explícita: a versão standard "não pode ser usada em ambiente profissional". Um SOC, uma equipe de resposta a incidentes ou um consultor que use a versão gratuita no trabalho está violando a licença — o uso profissional exige a licença professional (159 euros por usuário/ano), que inclusive adiciona os recursos de lote, relatório XML e mapeamento ATT&CK que o trabalho profissional normalmente exige.
Sempre confirmar com análise dinâmica. A análise estática responde o que o binário pode fazer; a análise dinâmica responde o que ele faz de fato. Após a triagem, o fluxo completo exige detonar a amostra em um sandbox para observar processos, rede e persistência reais, e usar um depurador como o x64dbg (depurador de código aberto para Windows) para acompanhar a execução instrução por instrução quando o código estiver desempacotado. Na ponta da defesa, os IOCs extraídos — hashes, domínios, chaves de registro e strings — alimentam EDRs (Endpoint Detection and Response, soluções que monitoram endpoints), SIEMs (Security Information and Event Management, plataformas de correlação de logs) e regras YARA na rede, transformando a triagem estática em detecção contínua.
Conclusão
O PEStudio é, para a análise de malware, o que uma radiografia é para a medicina: um exame rápido, não invasivo e revelador, que mostra o que está por dentro antes de qualquer procedimento mais agressivo. Em segundos, ele transforma um binário opaco em um conjunto ordenado de pistas — hashes, entropia, seções, imports, strings e indicadores de nível 1 — que permitem ao analista decidir se a amostra merece investigação aprofundada, o que ela é capaz de fazer e como procurá-la na rede. Sua combinação de portabilidade, ausência de risco de infecção e profundidade técnica o tornou o primeiro passo padrão de triagem em CERTs, SOCs e laboratórios de DFIR do mundo inteiro. O profissional que domina o PEStudio não apenas acelera seu fluxo de análise: aprende a ler a anatomia do executável Windows, uma habilidade que permanece útil em qualquer estágio da carreira de segurança ofensiva ou defensiva — desde que mantenha a humildade de confirmar com a análise dinâmica o que a estática apenas sugeriu.
Fontes e leituras adicionais
- winitor.com — PEStudio — site oficial — 04/09/2026
- winitor.com — Download — versões e licenças — 04/09/2026
- winitor.com — Matriz de recursos pestudio vs pestudio-pro (PDF) — 04/09/2026
- winitor.com — Referências e usos do PEStudio — 04/09/2026
- Varonis — PeStudio Overview: Setup, Tutorial and Tips — 31/10/2025
- Black Hat — Malware Initial Assessment with pestudio (Black Hat London 2019) — 05/12/2019
- SANS Internet Storm Center — Triaging suspicious files with pestudio — 11/08/2017
- Matthew Aubert (Medium) — PeStudio Standard — introdução à ferramenta — 31/08/2016
- MITRE ATT&CK — Base de conhecimento de táticas e técnicas — 04/09/2026