Click here to load reader
Upload
ederluis1973
View
1.219
Download
2
Embed Size (px)
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
Citation preview
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
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
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.
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.)
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
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.
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.
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.
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/
Análise de Malware em Memória RAM com Volatility - FISL13 10 de 36
Informações do Dump
./vol.py -f dumpmemoria.vmem imageinfo
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.
Análise de Malware em Memória RAM com Volatility - FISL13 12 de 36
Processos em Execução
./vol.py -f dumpmemoria.vmem pslist
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
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
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.
Análise de Malware em Memória RAM com Volatility - FISL13 16 de 36
SID de cada Processo./vol.py -f dumpmemoria.vmem getsids
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.
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
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
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
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
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'
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
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.
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.
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.
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.
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.
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
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;
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;
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.
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.
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
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.
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
http://br.linkedin.com/pub/eder-luis-goncalves/49/8a/791
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/