Análise de processos em execução revela processo suspeito se comunicando com endereço IP estrangeiro
Firewall encontrado desabilitado e arquivos característicos do malware Zeus detectados na memória RAM
Múltiplos vestígios apontam para comprometimento da máquina pelo malware bancário Zeus
1. Fórum Internacional de Software Livre
Análise de Malware em Memória
RAM com a Ferramenta Volatility
Eder Luís Oliveira Gonçalves
CISSP, C|EH, OSCP, OSWP, ACE
ederluis1973@gmail.com
http://br.linkedin.com/pub/eder-luis-goncalves/49/8a/791
Análise de Malware em Memória RAM com Volatility - FISL13
2. SUMÁRIO
Conceitos, cenário e informações do “dump”
Análise de processos, situação do firewall e registro
Tempo de criação de cada processo em execução
Pontos de entrada nos registros
Análise das conexões de rede
Varredura nos arquivos em execução
Confirmação de informações do malware na internet
Confirmação do Comprometimento da máquina
Conclusão
Análise de Malware em Memória RAM com Volatility - FISL13 2 de 36
3. Porque Analisar Memória ?
Grande parte das informações presentes em
memória RAM serão perdidas devido a volatilidade;
Volatilidade: Há perda de informação com o
tempo, assim como a capacidade de recuperação ou
validação dos dados, diminuindo a veracidade;
Área de grande quantidade de informações ou
evidências em tempo real, muitas das vezes,
desprezadas pelos administradores de rede.
Análise de Malware em Memória RAM com Volatility - FISL13 3 de 36
4. Ordem de Volatilidade
Dispositivos de Armazenamento do processador
(registradores e caches);
Memória de Periféricos (impressora, video, etc.);
Memória Principal do Sistema (RAM);
Tráfego de Rede;
Estado do Sistema Operacional;
Módulos de Kernel;
Dispositivo de Armazenamento Secundário
(HDs,etc.)
Análise de Malware em Memória RAM com Volatility - FISL13 4 de 36
5. Porque o Framework Volatility ?
O Volatility é uma coletânea de ferramentas
abertas em python formando um framework sob a
licença GNU GPL v2 para a extração de vestígios
digitais voláteis presentes em memória RAM de
máquinas com Sistema Operacional Microsoft
Windows:
- Microsoft Windows XP
- Microsoft Windows 2003, 2008
- Microsoft Windows Vista
- Microsoft Windows 7
Análise de Malware em Memória RAM com Volatility - FISL13 5 de 36
6. O que é Possível Extrair ?
Processos em execução;
Sockets de rede;
Conexões abertas de rede;
Arquivos e DLLs carregados para cada processo;
Registros utilizados para cada processo;
Módulos de Kernel do Sistema Operacional;
Mapeamento de Endereços físicos e virtuais;
Mapa de Memória de cada processo.
Análise de Malware em Memória RAM com Volatility - FISL13 6 de 36
7. Cenário e Ambientação
O time de segurança e/ou resposta a incidentes
de uma grande instituição confirmou a notificação de
que uma máquina com sistema operacional
Microsoft Windows possuía atividades anormais na
rede, detectadas pelo Intrusion Detection System
(IDS), o que poderia caracterizar um possível
comprometimento.
Análise de Malware em Memória RAM com Volatility - FISL13 7 de 36
8. Cenário e Ambientação (cont.)
a) A equipe de coleta foi designada ao local das
evidências e coletou o “dump” de memória da
máquina que permanecia ligada por meio da
ferramenta da Empresa Access Data FTK Image
disponível de forma gratuita pela mesma gerando o
arquivo de “dump” de memória com o nome:
“dumpmemoria.vmem” em 15/08/2010 ás 19:17:56;
b) Você como da equipe de análise de “malware”
deverá desvendar este mistério e descobrir que tipo
de comprometimento poderá ter submetido á
máquina.
Análise de Malware em Memória RAM com Volatility - FISL13 8 de 36
9. Cenário e Ambientação (cont.)
A ferramenta de análise foi baixada por você no
site: http://www.volatilesystems.com/default/volatility
A ferramenta foi descompactada no diretório /opt
do seu Linux e esta pronta para ser utilizada no
diretório:
/opt/volatility-2.0/
Análise de Malware em Memória RAM com Volatility - FISL13 9 de 36
10. Informações do Dump
./vol.py -f dumpmemoria.vmem imageinfo
Análise de Malware em Memória RAM com Volatility - FISL13 10 de 36
11. Análise dos Processos
Primeira tarefa da análise de processos:
Analisar os processos que estavam rodando
na máquina no exato momento do “dump” de
memória a fim de se encontrar algum processo
diferente do padrão do Sistema Operacional.
Análise de Malware em Memória RAM com Volatility - FISL13 11 de 36
12. Processos em Execução
./vol.py -f dumpmemoria.vmem pslist
Análise de Malware em Memória RAM com Volatility - FISL13 12 de 36
13. Processo por Ordem de Chamada
./vol.py -f dumpmemoria.vmem pstree
Análise de Malware em Memória RAM com Volatility - FISL13 13 de 36
14. Localiza alocação da Memória
pelo Processo
./vol.py -f dumpmemoria.vmem psscan
Análise de Malware em Memória RAM com Volatility - FISL13 14 de 36
15. Análise dos Processos
Segunda tarefa da análise dos processos:
Analisar os SID dos usuários pertencentes a
cada processo se mostram alguma coisa de
anormal na operação do Sistema Operacional.
Terceira tarefa da análise dos processos:
Analisar se existe algum usuário dono de um
processo que não é o padrão da máquina ou
da politíca de segurança da instituição.
Análise de Malware em Memória RAM com Volatility - FISL13 15 de 36
16. SID de cada Processo
./vol.py -f dumpmemoria.vmem getsids
Análise de Malware em Memória RAM com Volatility - FISL13 16 de 36
17. Análise dos Processos e DLL
Quarta tarefa:
Analisar as DLL utilizadas ou referenciadas por
cada processo se apresentam alguma anomalia
em tempo de execução.
Análise de Malware em Memória RAM com Volatility - FISL13 17 de 36
18. DLLs em Utilização por Processo
./vol.py -f dumpmemoria.vmem dlllist
Análise de Malware em Memória RAM com Volatility - FISL13 18 de 36
19. Pontos de Entrada em Registros
Uma boa fonte de pesquisa de evidências em
dump de memória é analisar os pontos de entrada
das chaves de registro presentes no Sistema;
Uma preciosa lista de todas as chaves de entrada
do S.O. “Microsoft Windows” pode ser consulta em:
http://www.silentrunners.org/sr_launchpoints.html
Análise de Malware em Memória RAM com Volatility - FISL13 19 de 36
20. Situação do Firewall da Máquina
./vol.py printkey -f dumpmemoria.vmem -K
'ControlSet001ServicesSharedAccessParametersFirewallPolicyStandardProfile'
Firewall Desabilitado: REG_DWORD EnableFirewall: 0
Análise de Malware em Memória RAM com Volatility - FISL13 20 de 36
21. Data de Alteração
Security Accounts Manager (SAM)
Usuario$ ./vol.py printkey -f dumpmemoria.vmem userassist
Análise de Malware em Memória RAM com Volatility - FISL13 21 de 36
22. Alterações de Perfil existentes
./vol.py printkey -f dumpmemoria.vmem -K
'SoftwareMicrosoftWindowsCurrentVersionRun'
Análise de Malware em Memória RAM com Volatility - FISL13 22 de 36
23. Última Alteração de Perfil
./vol.py printkey -f dumpmemoria.vmem -K 'SoftwareMicrosoftWindows
NTCurrentVersionWindows'
Impressora fez a última atualização de perfil do sistema operacional
presente nos vestígios da memória RAM
Análise de Malware em Memória RAM com Volatility - FISL13 23 de 36
24. Conexões de Rede no momento
do dump de memória
./vol.py -f dumpmemoria.vmem connections
–> No momento da realização do dump de memória a máquina não
possuía nenhuma conexão de rede estabelecida, o que novamente
não nos dá nenhuma pista da presença de algum malware, o próximo
passo é analisar se houve alguma conexão de rede estabelecida
previamente encerrada que ainda consta nos registros da memória.
Análise de Malware em Memória RAM com Volatility - FISL13 24 de 36
25. Conexões de Rede
previamente encerradas
./vol.py -f dumpmemoria.vmem connscan
–> Interessante, pois percebe-se que existe presença na memória de
conexões que foram estabelecidas recentemente para o endereço IP
193.104.41.75 pela porta 80.
Análise de Malware em Memória RAM com Volatility - FISL13 25 de 36
26. Origem das Conexões
“Whois” revela um destino suspeito “República da
Moldova”, totalmente inadequado ao padrão de acesso
da máquina ou a política de segurança da instituição .
Análise de Malware em Memória RAM com Volatility - FISL13 26 de 36
27. Consulta IP na Internet
Fazendo uma busca no Oráculo “google” para
verificarmos se este IP nos leva para alguma suspeita,
verificamos que sim, isto é indícios do malware ZEUS.
Análise de Malware em Memória RAM com Volatility - FISL13 27 de 36
28. Dúvida
Até o presente momento, encontramos vestígios da
presença do malware ZEUS presente em memória
RAM da máquina analisada, mas por mais que
tenhamos as evidências de conexão, devemos entender
um pouco melhor das características deste Malware
a fim de encontrarmos mais vestígios e poder afirmar
que realmente este equipamento estava comprometido
com o malware.
Análise de Malware em Memória RAM com Volatility - FISL13 28 de 36
29. Entendendo malware Zeus
De acordo com o boletim da “Microsoft” no “google”
http://www.microsoft.com/security/portal/Threat/Encyclopedia/Entry.aspx?Name=PWS%3AWin32%2FZbot.QW
Análise de Malware em Memória RAM com Volatility - FISL13 29 de 36
30. Entendendo o malware Zeus
O “Zeus ou Zbot” é um trojan que rouba nomes e
senhas de acessos a internet relacionados a “internet
banking” bem como permite um atacante remoto acessar
um backdoor deixado ou presente na máquina;
Desabilita o firewall da máquina;
Geralmente disseminado por e-mail por meio de SPAM;
Cria um arquivo com nome mutex “AVIRA_210X” que
realiza um “bypass” no firewall para depois ser copiado
com um arquivo de nome “sdra64.exe” de forma
escondida para o Sistema Operacional;
Análise de Malware em Memória RAM com Volatility - FISL13 30 de 36
31. Entendendo malware Zeus
(cont.)
Modifica as entradas de registro do windows para que o
arquivo autoexec.bat rode o malware toda vez que o sistema
operacional reiniciar
Adds value: "ParseAutoexec"
With data: "1"
To subkey: HKCUSoftwareMicrosoftWindows NTCurrentVersionWinlogon
Conecta-se no IP 193.104.41.75 para baixar o arquivo de
configuração do malware e salva como local.ds onde irá
conter diversos sites relacionados a internet banking;
Armazena as informações roubadas no arquivo user.ds;
Análise de Malware em Memória RAM com Volatility - FISL13 31 de 36
32. Vestígios do Malware Zeus
Procurando na memória vestígios do Zeus encontramos o
malware para a confirmação da suspeita.
Análise de Malware em Memória RAM com Volatility - FISL13 32 de 36
33. Vestígios do Malware ZEUS
./vol.py -f dumpmemoria.vmem filescan | egrep -i 'sdra64|user.ds|local.ds|AVIRA'
Arquivos e diretórios suspeitos, caracterizando a presença de
malware “ZEUS” na máquina.
Análise de Malware em Memória RAM com Volatility - FISL13 33 de 36
34. Conclusão
Mediante todos os aspectos analisados no boletim da
Microsoft, podemos com certeza afirmar a presença do
malware, haja vista termos conseguido encontrar
diversos vestígios importantes relacionados ao ZEUS:
Firewall Desabilitado;
Presença dos arquivos de controle do malware:
“user.ds”, “local.ds”;
Presença do arquivo de ativação do malware
“sdra64.exe”;
Conexões realizadas ao controle de IP 193.104.41.75
Análise de Malware em Memória RAM com Volatility - FISL13 34 de 36
35. Conclusão (cont.)
Pense duas vezes antes de desligar uma máquina
ou querer formatá-la, pois sempre há grande
quantidade de vestígios ou informação que possa
ser analisada para elucidar os fatos.
Análise de Malware em Memória RAM com Volatility - FISL13 35 de 36
36. Obrigado
EDER LUÍS OLIVEIRA GONÇALVES
CISSP, C|EH, OSCP, OSWP, ACE
ederluis1973@gmail.com
http://br.linkedin.com/pub/eder-luis-goncalves/49/8a/791
Análise de Malware em Memória RAM com Volatility - FISL13 36 de 36
37. Referências Bibliográficas
https://malwarereversing.wordpress.com/2011/09/23/zeus-analysis-in-volatility-2-0/
http://code.google.com/volatility/wiki/CommandReference
http://www.volatilesystems.com/default/volatility
http://www.microsoft.com/security/portal/Threat/Encyclopedia/Entry.aspx?Name=PWS%3AWin
http://www.wikipedia.org
http://computerforensikblog.de/en/
Análise de Malware em Memória RAM com Volatility - FISL13 37 de 36