Quando eu estou investigando a suspeita da presença de um novo malware (código malicioso), não detectado pelo antivírus instalado, em um computador com Windows, em geral eu costumo utilizar duas ferramentas muito simples e extremamente úteis, explicadas a seguir.

Sysinternals – Autoruns e Process Explorer

Windows Sysinternals é um conjunto de utilitários de sistema avançados para Windows, criados e evoluídos desde 1996 por Mark Russinovich, co-fundador da empresa Winternals Software. Em 2006, a Microsoft adquiriu a Winternals e desde então os utilitários Sysnternals estão integrados no portal Microsoft TechNet, e continuam disponibilizados gratuitamente.

Dois destes utilitários são muito úteis para auxiliar na busca de malware presente no computador:

  • Autoruns: Este programa exibe todas as entradas existentes de executáveis instalados para iniciar automaticamente no Windows, durante o Logon e nos muitos outros meios que o sistema operacional permite para isso. Uma característica típica de vírus, vermes e outros malwares que se instalam no computador é registrar-se para ser executado automaticamente sempre que o sistema é iniciado. Portanto, é muito provável que se existe um malware instalado, que ele apareceça na listagem do Autoruns. A forma mais comum dos malwares se registrarem é em uma entrada de Logon no Registro do Windows, tipicamente em HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Autoruns lista informações básicas listadas de cada entrada, como nome registrado, descrição, fornecedor, caminho do executável, data. Você pode se assustar com quanta coisa existe em execução automática no seu Windows. Contudo, identificar uma entrada suspeita em meio à listagem do Autoruns não é trivial, em geral requer experiência em reconhecer o que é típico e legítimo, como utilitários de drivers, utilitários de atualização automática de softwares idôneos (exemplos: atualizador do Adobe Reader ou do Java) e outros programas desejados em execução constante em segundo plano (exemplo: Google Chrome), configurados para executar assim que o Windows iniciar (muitas vezes são programas que tem um ícone na bandeja do sistema perto do relógio, na parte direita da barra de tarefas).
  • Process Explorer (procexp): Este utilitário exibe informações detalhadas sobre todos os programas/processos em execução, em tempo real. O Gerenciador de Tarefas nativo do Windows (acionado pela combinação de teclas Ctrl+Shift+Esc) exibe informações similares, mas de forma muito resumida. No Windows 8 o Gerenciador evoluiu muito em informações exibidas, mas ainda assim o Process Explorer é uma ferramenta bem mais poderosa e com muitos recursos exploratórios exclusivos, como busca por Handle/DLL, identificar um processo a partir de uma janela aberta, e exibição de todos os recursos criados ou abertos por um processo (arquivos, chaves de registro, eventos do sistema, threads etc.). Se um malware estiver em execução, ele aparecerá na lista do procexp. Contudo, assim como no Autoruns, identificar um processo suspeito dentre os programas em execução não é nada trivial.

Autoruns: Screnshot (origem: Microsoft TechNet).

Os utilitários Sysinternals são fornecidos na forma de executáveis simples (em geral, acompanhados de arquivos de ajuda e licença de uso), distribuídos em arquivos ZIP. Você pode baixar o Autoruns e o Process Explorer, ou o Sysinternals Suite contendo todos os utilitários disponíveis de uma vez só.

Sugiro descompactar em uma pasta como C:\sysinternals e adicioná-la ao Path de execução do Windows (Propriedades Avançadas do Computador > Variáveis de Ambiente) para manter estes utilitários prontos para uso no computador, e andar com eles atualizados em um pendrive para poder executar em um computador qualquer.

VirusTotal.com

O segundo passo uma vez identificado um executável suspeito ou provável malware é utilizar o serviço web gratuito VirusTotal.com. No uso mais básico, você pode enviar um arquivo para o VirusTotal e ele o analisa executando 57 (quantitativo no momento em que escrevo este artigo) programas antivírus e antimalware, atualizados e configurados em suas opções de busca mais amplas (inclusive técnicas heurísticas) mostrando quais deles detecta algo. O VirusTotal mantém uma base histórica das assinaturas hash de todos os arquivos já analisados pelo serviço, de forma que se você submete um arquivo já analisado ou uma assinatura, o VirusTotal oferece para exibir a análise mais recente disponível ou (em caso do arquivo) re-analisar.

Ou seja, praticamente se algum programa antivírus atualmente reconhece um executável suspeito que você tem como malware, o VirusTotal lhe traz essa informação. Espetacular!

Os dois juntos – Perfeito!

Agora vem o melhor. Desde janeiro de 2014 no Process Explorer e de janeiro de 2015 no Autoruns, existe integração destes programas com o serviço VirusTotal.com!

No Autoruns, por exemplo, você pode ir na opção de menu Options > Scan Options e marcar Check VirusTotal.com, para que o Autoruns automaticamente submete a assinatura hash de cada entrada listada ao serviço VirusTotal, e exiba os resultados em uma coluna da listagem, colorindo de vermelho se alguma entrada tiver detecção positiva para malware. A opção Submit Unknown Images, embora mais demorada, ainda permite enviar o arquivo ao VirusTotal caso a sua assinatura ainda não exista na base histórica de análises do serviço. Para facilitar ainda mais a busca apenas pelos suspeitos, a opção Options > Hide VirusTotal Clean Entries permite ocultar da listagem do Autoruns todos os executáveis que foram identificados como limpos no VirusTotal.com, exibindo apenas os que tiveram alguma detecção positiva e os desconhecidos (ainda não analisados pelo VirusTotal).

No Procexp, a integração com o VirusTotal se dá pela opção Options > VirusTotal.com > Check VirusTotal.com (e Submit Unknown Executables).

Com ferramentas simples e integradas assim, fica bem prático, fácil e rápido tentar detectar um malware em um computador, mesmo se não houver um bom antivírus instalado, bastando ter em mãos o Autoruns e o Procexp, e acesso internet para o VirusTotal.