Análise de Malware em Dump de Memória com Volatility

37

Click here to load reader

description

Procura demonstrar e despertar aos administradores de rede sobre a grande quantidade de evidências ou vestígios presentes em memória RAM que podem ser analisadas a fim de descobrir comprometimento de uma máquina com um determinado tipo de malware utilizando-se do framework de análise de memória Volatility sob liçenca GNU GPL v2. Dentre as análises é possível analisar: Processos em execução, sockets de rede, conexões abertas de rede, registros e DLL carregados a cada processo, módulos de kernel do Sistema Operacional, Mapeamento de Endereços físicos e virtuais ocupado por cada processo e mapeamento de memória de cada processo

Transcript of Análise de Malware em Dump de Memória com Volatility

Page 1: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13

Fórum Internacional de Software Livre

Análise de Malware em Memória RAM com a Ferramenta Volatility

Eder Luís Oliveira GonçalvesCISSP, C|EH, OSCP, OSWP, ACE

[email protected] http://br.linkedin.com/pub/eder-luis-goncalves/49/8a/791

Page 2: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 2 de 36

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

Page 3: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 3 de 36

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.

Page 4: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 4 de 36

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.)

Page 5: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 5 de 36

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

Page 6: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 6 de 36

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.

Page 7: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 7 de 36

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.

Page 8: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 8 de 36

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.

Page 9: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 9 de 36

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/

Page 10: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 10 de 36

Informações do Dump

./vol.py -f dumpmemoria.vmem imageinfo

Page 11: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 11 de 36

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.

Page 12: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 12 de 36

Processos em Execução

./vol.py -f dumpmemoria.vmem pslist

Page 13: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 13 de 36

Processo por Ordem de Chamada

./vol.py -f dumpmemoria.vmem pstree

Page 14: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 14 de 36

Localiza alocação da Memória pelo Processo

./vol.py -f dumpmemoria.vmem psscan

Page 15: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 15 de 36

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.

Page 16: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 16 de 36

SID de cada Processo./vol.py -f dumpmemoria.vmem getsids

Page 17: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 17 de 36

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.

Page 18: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 18 de 36

DLLs em Utilização por Processo

./vol.py -f dumpmemoria.vmem dlllist

Page 19: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 19 de 36

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

Page 20: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 20 de 36

Situação do Firewall da Máquina

./vol.py printkey -f dumpmemoria.vmem -K 'ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile'

Firewall Desabilitado: REG_DWORD EnableFirewall: 0

Page 21: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 21 de 36

Data de AlteraçãoSecurity Accounts Manager (SAM)

Usuario$ ./vol.py printkey -f dumpmemoria.vmem userassist

Page 22: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 22 de 36

Alterações de Perfil existentes ./vol.py printkey -f dumpmemoria.vmem -K

'Software\Microsoft\Windows\CurrentVersion\Run'

Page 23: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 23 de 36

Última Alteração de Perfil

./vol.py printkey -f dumpmemoria.vmem -K 'Software\Microsoft\Windows NT\CurrentVersion\Windows'

Impressora fez a última atualização de perfil do sistema operacional presente nos vestígios da memória RAM

Page 24: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 24 de 36

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.

Page 25: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 25 de 36

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.

Page 26: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 26 de 36

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.

Page 27: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 27 de 36

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.

Page 28: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 28 de 36

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.

Page 29: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 29 de 36

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

Page 30: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 30 de 36

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;

Page 31: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 31 de 36

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 reiniciarAdds value: "ParseAutoexec"

With data: "1"

To subkey: HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

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;

Page 32: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 32 de 36

Vestígios do Malware Zeus

Procurando na memória vestígios do Zeus encontramos o malware para a confirmação da suspeita.

Page 33: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 33 de 36

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.

Page 34: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 34 de 36

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

Page 35: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 35 de 36

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.

Page 36: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 36 de 36

Obrigado

EDER LUÍS OLIVEIRA GONÇALVESCISSP, C|EH, OSCP, OSWP, ACE

[email protected]

http://br.linkedin.com/pub/eder-luis-goncalves/49/8a/791

Page 37: Análise de Malware em Dump de Memória com Volatility

Análise de Malware em Memória RAM com Volatility - FISL13 37 de 36

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%3AWin32%2FZbot.QW

http://www.wikipedia.org

http://computerforensikblog.de/en/