Ir para conteúdo
  • Cadastre-se
  • Entre para seguir isso  

    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.

    Entre para seguir isso  


    Feedback do Usuário

    Comentários Recomendados

    Fernando,

    Não acho interessante colocar a placa de rede em modo NAT.
    Tratando-se de um ambiente para análise de malware, eu uso a rede na máquina de análise em modo de "Rede  interna".
    Crio outra VM com um "Linux" para fazer a função de Gateway e firewall com 2 adatpadores de rede. Uma no modo "Rede  interna" e outra no modo "Gateway".
    Nesta VM instalo o IPFire, bloqueio toda a conexão da rede interna e só configuro saída pela porta http e https.
    No log do IPFire dá para verificar toda a lógica da infecção. Se o malware tentar conectar com IRC ou outra coisa, cria nova regra no firewall para permitir esta conexão e vejo no log o que está fazendo.

    Atenciosamente,
    Claudio

    Compartilhar este comentário


    Link para o comentário
    Compartilhar em outros sites

    Estou pegando um note antigo que está parado apenas para isso. Mesmo com as configurações para manter a segurança nunca me sinto confortável em realizar análises de malwares em VMs rodando em hosts de produção.

    Também vou aproveitar essa dica da VM linux como GW tanto para a análise de tráfego como proteção da minha rede interna.

    []'s

     

    Compartilhar este comentário


    Link para o comentário
    Compartilhar em outros sites

    @Douglas com note real é muito legal porque você fica livre das checagens de VM e sandbox que alguns malware fazem, mas tem que criar um jeito de restaurar "snapshot" também. Algo à lá Norton Ghost, mas deve existir coisa mais moderna. Compartilha aí como fizer. ;)

    Abraço,

    Fernando

    Compartilhar este comentário


    Link para o comentário
    Compartilhar em outros sites
    Em ‎14‎/‎04‎/‎2018 em 19:39, Fernando Mercês disse:

    @Douglas com note real é muito legal porque você fica livre das checagens de VM e sandbox que alguns malware fazem, mas tem que criar um jeito de restaurar "snapshot" também. Algo à lá Norton Ghost, mas deve existir coisa mais moderna. Compartilha aí como fizer. ;)

    Abraço,

    Fernando

    e verdade Fernando tem que ter um "Snapshot" do note real, existe um programa chamado @DeepFreeze

    ele "limpa" o seu computador toda vez que você reinicia o sistema operacional, restaurando suas configurações originais e acabando com qualquer nova ameaça ou programa indesejado que esteja instalado na sua estação de trabalho

     

    Abraço,

    @Aof

    Compartilhar este comentário


    Link para o comentário
    Compartilhar em outros sites


    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Criar uma conta

    Crie uma nova conta em nossa comunidade. É fácil!

    Crie uma nova conta

    Entrar

    Já tem uma conta? Faça o login.

    Entrar Agora

×