Académique Documents
Professionnel Documents
Culture Documents
Antes de executar um malware é necessário ter um ambiente seguro para evitar surpresas
desagradáveis. Antes de analisá-lo nunca sabemos o que ele pode provocar em nosso ambiente de
rede e computador, então de forma alguma devemos executá-lo diretamente em um computador de
produção ou de uso pessoal. Isso deverá ser feito em um sistema previamente preparado para essa
finalidade.
Atualmente o jeito mais comum e barato de se analisar um malware é com o uso máquinas
virtuais. Nesse curso iremos focar nesse tipo de ambiente, porém nada impede que tendo os
recursos necessários, a pessoa analise o malware um uma máquina real exclusiva para essa
finalidade.
Máquinas virtuais (virtual machines, VM) são como computadores dentro de outro
computador. Como é possível ver na figura abaixo, um SO convidado (guest) é instalado em um SO
hospedeiro (host) através de uma máquina virtual. Existem várias vantagens em utilizar essa
estrutura, algumas das princiapais são: o SO convidade fica isolado do host, os malwares que rodam
na máquina virtual não atingem o host (a menos que exista uma vulnerabilidade 0-day na VM), caso
o SO da VM seja danificado é só restaurar para o estado original, a VM toda está contida em poucos
arquivos, o que torna fácil o backup e duplicação, etc.
Existem muitas alternativas de máquinas virtuais disponíveis, cada um pode utilizar a
plataforma de sua preferência, porém como sugestão para utilização na análise de malware são
indicadas a VMWare (http://www.vmware.com) e a Oracle VirtualBox
(https://www.virtualbox.org/).
Quando lidamos com malware devemos tomar alguns cuidados mesmo em máquina virtuais.
Primeiramente sempre manter o software de virtualização atualizado. Além das atualizações
fornecerem recursos adicionais para a VM, elas são utilizadas para corrigir falhas de segurança da
plataforma. Atualizando assim que for disponibilizado pelo fabricante nos deixa com as VMs livres
de vulnerabilidades conhecidas assim o malware só conseguirá “escapar” da máquina virtual através
de uma vulnerabilidade 0-day.
Outra questão crítica que devemos ficar bastante atentos diz respeito à conexão de rede da
máquina virtual, caso ela esteja mal configurada o malware poderá infectar o computador
hospedeiro e até outros hosts da rede caso esteja em uma LAN, fora isso a VM ainda poderá se
tornar um bot para atacar máquinas de terceiros, enviar spams, hospedar conteúdo ilegal, etc.
Configuração da Rede
Lidar com a rede em máquinas virtuais requer o entendimento das configurações de rede que
são oferecidas nas plataformas de virtualização mais comuns. Vejamos na tabela abaixo os modos
de rede mais utilizados.
Host-only: Isso criada uma LAN privada compartilhada em o hospedeiro e suas VMs. VMs
não podem se comunicar com computadores externos.
NAT/Shared: VMs podem acessar outros computadores da LAN ou Internet, mas as
conexões aparecerão vindas do IP do hospedeiro. Os outros computadores não podem iniciar
conexões com a VM a menos que seja configurado um redirecionamento de portas (port-
forwarding) no computador hospedeiro.
OYS Academy – Ronaldo Pinheiro de Lima
CAPÍTULO 3 – LABORATÓRIO PARA ANÁLISE DE MALWARES | 42
Bridged: VMs compartilham o adaptador Ethernet físico do hospedeiro, mas possuem seus
próprios endereços IPs e MACs. As VMs aparecem na mesma subnet do hospedeiro. Essa é
a única configuração que permite outros computadores iniciarem conexões de entrada na
VM. E também é o único modo que permite que outras máquinas externas, como por
exemplo, um roteador ou firewall, distinguir o tráfego gerado pelo hospedeiro do tráfego das
VMs.
Informações Pessoais
Não deixe na máquina virtual nenhuma informação pessoal que possa identificar o
computador ou a pessoa que o utiliza. Por exemplo, devem ser utilizados nomes genéricos para
nome do computador, nome de usuário, nome de pastas, grupos de trabalho, etc.
Recursos Adicionais da VM
Pastas Compartilhadas
Um recurso que pode ser utilizado para a troca de arquivos entre o computador hospedeiro e
a máquina virtual é o de pastas compartilhadas. Permite mapear uma pasta do hospedeiro dentro da
máquina virtual, assim tudo que for colocado nessa pasta estará disponível para os dois sistemas.
Como medida de segurança caso utilize esse recurso, marque a pasta compartilhada como sendo
somente-leitura, assim a máquina virtual não conseguirá gravar nada nela e quando necessário
habilite a gravação.
Ferramentas
Após as configurações iniciais na máquina virtual é hora de instalar as ferramentas que serão
utilizadas na análise de malwares. É recomendado que se instale previamente todas as ferramentas
listadas no capítulo 1.4 para deixar o ambiente pronto para receber o malware.
Snapshots
Tirar snapshots é um conceito único das máquinas virtuais. Eles permitem salvar o estado
atual da VM e restaurá-lo posteriormente quando necessário. Isso é muito útil na análise de malware
porque após ter o código malicioso executado e coletado as informações que queríamos, podemos
retornar ao estado original do sistema, que estava limpo antes da execução.
Após ter instalado todas as ferramentas tire um snapshot da VM para servir de estado inicial
da análise. Quando for necessário atualizar ferramentas tire um novo snapshot.
Nesse Lab iremos trabalhar com as configurações de rede da máquina virtual. Simularemos
o ambiente de rede com a ferramenta FakeNet que permite responder requisições dos protocolos
HTTP, HTTPS, DNS, ICMP e SMTP. Utilizando essa estrutura de rede não é necessário deixar o
malware sair para redes externas, o que contribui para a segurança da análise. Vale dizer também
que há malwares que quando não encontram um ambiente de rede funcional eles não executam
nada, o que dificulta a análise, por isso é tão importante ter um ambiente de rede configurado,
mesmo que simulado.
Material necessário:
- Máquina virtual com Windows XP 32-bit
- FakeNet (http://practicalmalwareanalysis.com/fakenet/)
Para a ferramenta funcionar corretamente talvez seja necessário instalar o “C++ 2008
Redistributable Package” disponível no site da Microsoft:
http://www.microsoft.com/download/en/details.aspx?id=29.
- Wireshark
- Arquivo: Lab-03-01.exe
Passo a Passo
1- Na sua máquina virtual configure a placa de rede para o modo Host-only conforme figura
abaixo.
2- Através do CMD com o comando ipconfig podemos confirmar o IP atribuído à máquina virtual.
3- Se formos na máquina física e executarmos o mesmo comando podemos ver que na placa de rede
virtual foi atribuído um IP da mesma classe, formando assim uma rede privada entre as duas
máquinas (física e virtual).
4- Já com a ferramenta FakeNet instalada, execute-a através do FakeNet.exe. Com isso ela já está
escutando em diversas portas simulando um ambiente de rede completo.
5- Diferente de outras ferramentas que só simulam os serviços de rede, o FakeNet simula o serviço
e ainda responde de acordo com a solicitação. Por exemplo, se o malware solicitar o download do
arquivo http://www.evilsite.com/infected.exe, o FakeNet vai capturar essa solicitação e fornecer um
arquivo .EXE genérico para deixar a simulação mais realista. Isso vale também caso sejam
solicitados outros tipos de arquivos, que se encontram dentro da pasta FakeNet\defaultFiles\.
6- Agora vamos ver na prática como funciona, execute o malware Lab-03-01.exe e veja o que o
FakeNet irá retornar.
Cache-Control: no-cache
[Sent http response to client.]
Com isso já descobrimos que o malware faz download de quatro arquivos swf do site
dl.dropbox.com. Caso fossemos prosseguir com a análise poderíamos baixar esses arquivos
manualmente e analisá-los.