Ir para conteúdo
  • Montando sua máquina virtual para engenharia reversa em Windows

       (0 análises)

    Fernando Mercês

    Resolvi montar este tutorial depois do grande trabalho que tive pra atualizar a máquina virtual que utilizo para analisar malware. Perdi horas procurando e instalando programas. Minha vontade era de distribuir um OVA com a máquina já pronta e talvez faça isso no futuro mas por hora vou discutir aqui os programas que utilizo para uma análise básica de malware ou engenharia reversa de algum software.

    desktop.png.9405a44c6808797ffc7e9305995b31cb.png

    Máquina virtual

    • 512 MB de memória
    • Placa de rede em modo NAT

    Sistema operacional

    Utilizo o Windows 7 64-bits em Português do Brasil, para facilitar na análise de malware brasileiro que teste o idioma do SO. Claro que em alguns casos vale a pena você ter máquinas virtuais de outras versões do Windows e em diferentes idiomas para ver se o comportamento do seu alvo muda. “Alvo” aqui significa o arquivo que você vai analisar, seja porque ele é suspeito seja porque você quer conhecer seu funcionamento.

    Algums dicas durante de instalação:

    • Não utilizar seu nome verdadeiro na criação da conta de usuário do Windows durante a instalação. Não há necessidade.
    • Não instalar as extensões do software virtualizador como VMware Tools ou VirtualBox Guest Additions.
    • Não instalar nenhum antivírus, firewall ou qualquer software de proteção.
    • Desabilitar todos os itens na “Central de Segurança” do Windows, incluindo as atualizações automáticas.

    Arquivos diversos

    Costumo espalhar uns arquivos .doc, .xls etc pela máquina, a fim de parecer que é uma máquina real. Algumas ameaças (principalmente ransomware) tentam encriptar ou mesmo destruir arquivos das vítimas.

    Software geral

    • 7-Zip: Descomprime qualquer formato! E é livre.
    • Firefox: Browser livre.
    • Flash: Caso precise analisar SWF ou visualizar algum site que exija, mas cuidado pra não baixar tralha da McAfee junto.
    • Java: Somente a JRE (Java Runtime Environment), para analisar classes Java.
    • .NET Framework: Para permitir que ferramentas e alvos escritos nesta linguagem rodem.
    • Notepad++: o único editor de arquivos que você precisa no Windows!

    Software específico

    • API Monitor: Pode monitorar qualquer chamada a uma função específica da API do Windows ou de uma DLL específica. Muito bom.
    • DeDe: Descompilador para Delphi. Extremamente útil para os malwares brasileiros!
    • Dis#: Descompilador para .NET.
    • E2A (Event to Address): Somente para alvos escritos em Borland C++, dá os endereços dos eventos, como o clique de um botão por exemplo. Impressionante.
    • FileGrab: Monitora o filesystem e copia para um diretório qualquer arquivo criado nele. Útil pra monitorar comportamento de malware que se deleta.
    • Hex Workshop: Editor hexa animal, mas pago (não se preocupe, há um livre no final da lista).
    • IDA Free: Disassembler e debugger. Tem uma função graph muito útil, além de suporte a vários tipos de binários e muitos recursos.
    • JD-GUI: Descompilador Java (gera código Java a partir dos .class).
    • .NET Reflector: Outro descompilador pra .NET. Assim como o Dis#, gera MSIL (Microsoft Intermeddiate Language) como saída, não Assembly.
    • OllyDbg: Debugger e disassembler. O principal programa para análise.
    • pev: Toolkit para análise de binários.
    • ProcessExplorer: Monitora o que os processos estão fazendo no sitema (chaves de registro que estão abrindo, outros arquivos etc).
    • RawCap: Sniffer de pacotes que usa raw sockets. É muito rápido e simples de usar. Gera o PCAP pra ser analisado no Wireshark futuramente, o que pode ser feito fora da máquina virtual.
    • RegShot: Usado para tirar uma “foto” do sistema antes e outra depois da execução de um aplicativo, a fim de compará-las para investigar o que foi alterado.
    • wxHexEditor: Editor hexadecimal livre, cheio de recursos. Tem a capacidade de editar discos inclusive.

    Software opcional, caso precise programar

    • Orwell Dev-C++: Versão em constante atualização do Dev-C++, para quem precisar codar em C/C++ para ver o comportamento de uma função da API do Windows por exemplo.
    • Visual Studio Express: Para desenvolver em .NET, a Microsoft oferece uma versão gratuita (Express) do Visual Studio.

    IMPORTANTE: Após instalar todos os softwares, é de extrema utilidade criar um snapshot da máquina virtual, pra você voltar facilmente a este estado limpo após analisar um arquivo suspeito, por exemplo.

    Se você é iniciante, recomendo baixar e testar um programa de cada vez, até entender o motivo pelo qual ele pode ser útil. Alguns programas da lista acima são redundantes entre si pois possuem o mesmo objetivo, mas às vez um é mais preciso que outro dependendo do alvo, por isso é interessante mantê-los.

    Recomendo colocar as ferramentas que não possuem programa de instalação, como o E2A, num diretório tipo C:tools e criar atalhos para os executáveis principais na área de trabalho.

    O artigo é curto mas o trabalho que o leitor terá é grande.


    Revisão: Leandro Fróes
    • Agradecer 1

    Feedback do Usuário

    Participe da conversa

    Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.
    Nota: Sua postagem exigirá aprovação do moderador antes de ficar visível.

    Visitante

    • Isso não será mostrado para outros usuários.
    • Adicionar um análise...

      ×   Você colou conteúdo com formatação.   Remover formatação

        Apenas 75 emojis são permitidos.

      ×   Seu link foi automaticamente incorporado.   Mostrar como link

      ×   Seu conteúdo anterior foi restaurado.   Limpar o editor

      ×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.


  • Conteúdo Similar

×
×
  • Criar Novo...