Você está na página 1de 48

Memory Analysis

Fundamentals
Rodrigo Albernaz Bezerra
Conhecendo o Volatility
~ 1h / 1h30m

Caso Prático 1: Insider


~ 20m
Agenda
Caso Prático 2: Ransomware
~ 2h:30 de duração ~ 20m

Brinde (Questão)
~5m

2
Apresentação
Pessoal

3
Alb3rn@z > Whoami
• Currículo Acadêmico:
• Bacharelado em Engenharia Elétrica com ênfase em
Computação (UFG/GO)
• Bacharelado em Direito (UFG/GO)
• Tecnólogo em Redes de Comunicações: ênfase em
Telecomunicações (IFG/GO)
• Especialização em Criptografia (UFF/RJ)
• Mestrado em Informática Forense e Segurança da
Informação (UnB/DF)
• Doutorando em Ciências da Computação (UFG/GO)

• Atividades profissionais:
• Perito Criminal Federal (14+ anos)
• Docente (5+ anos)

• Sem certificações (por enquanto...)


• DPO (Exin) – em andamento
• Blockchain (Exin) – em andamento
• OSCP/OSCE (Offensive Security) – em andamento
4
Agradecimentos

5
6
Mensagem Inicial

7
Conhecendo o
Volatility

8
Ferramentas de Análise de Memória

Memory Analysis Tools


Volatility (Open Source)
Redline (FireEye – Free Software)
Rekall (Google – Open Source)
MemGator (Free Software)

9
Ferramentas de Análise de Memória

Memory Analysis Tools


Redline (FireEye)

10
Ferramentas de Análise de Memória

Memory Analysis Tools


Rekall (Google)

11
Ferramentas de Análise de Memória

Memory Analysis Tools


MemGator

12
Referências

Volatility Foundation
http://volatilityfoundation.org

13
Introdução ao Volatility

• Volatility Framework developers:


• Aaron Walters
• Andreas Schuster
• Michael Hale Ligh
• Andrew Case
• Jamie Levy
• Volatility
• Open Source (GPLv2) – 2007 (Blackhat)
• Escrito em Python
• Multiplataforma (32 e 64 bits)
• Suporta múltiplos formatos

14
Introdução ao Volatility

• Website/Download:
• http://www.volatilityfoundation.org/releases
• Referência de Comandos (Plugins):
• https://github.com/volatilityfoundation/volatility/wiki/Command-
Reference
• Exemplos de Dumps de Memória:
• https://github.com/volatilityfoundation/volatility/wiki/Memory-Samples
• Github:
• https://github.com/volatilityfoundation

15
Introdução ao Volatility

• Volatility Cheat Sheet


• Https://downloads.volatilityfoundation.org//releases/2.4/CheatSheet_v2.4.pdf
• Sans Cheat Sheets
• https://digital-forensics.sans.org/community/cheat-sheets
• Memory Forensics Cheat Sheet:
• https://digital-forensics.sans.org/media/volatility-memory-forensics-cheat-sheet.pdf
• SANS DFIR Poster Hunting Evil:
• https://digital-forensics.sans.org/media/poster_2014_find_evil.pdf
• https://digital-forensics.sans.org/media/SANS_Poster_2018_Hunt_Evil_FINAL.pdf

16
Uso Básico Volatility

❖Volatility Framework

• $ vol.py --info
• $ vol.py –f arquivo_dump –-profile=X plugin

17
Global Options

18
Uso Básico Volatility

❖Variáveis de ambiente:

• $ export VOLATILITY_PROFILE=Win7SP1x86
• $ export VOLATILITY_LOCATION=/tmp/file.dmp

19
Identificação do Profile

❖Volatility Framework

• $ vol.py –f arquivo_dump –-profile=X imageinfo

20
Identificação do Profile

Versões do Windows 10

Fonte: Pavel Yosifovich


21
Identificação do Profile

Versões do Windows 10

Fonte: Richard Davis


22
Listagem de Processos

❖Volatility Framework

• $ vol.py –f arquivo_dump –-profile=X pslist


• $ vol.py –f arquivo_dump –-profile=X pstree
• $ vol.py –f arquivo_dump –-profile=X psscan
• $ vol.py –f arquivo_dump –-profile=X psxview

23
Listagem de Processos

Fonte: Richard Davis

24
Listagem de Processos

Fonte: Richard Davis

25
Listagem de Processos

❖Volatility Framework

• $ vol.py –f arquivo_dump –-profile=X pslist


• $ vol.py –f arquivo_dump –-profile=X pstree
• $ vol.py –f arquivo_dump –-profile=X psscan
• $ vol.py –f arquivo_dump –-profile=X psxview

26
Artefatos de Rede

❖Volatility Framework
• $ vol.py –f arquivo_dump –-profile=X connections/sockets
• (XP e 2003)
• $ vol.py –f arquivo_dump –-profile=X connscan/sockscan
• (XP e 2003)
• $ vol.py –f arquivo_dump –-profile=X netscan
• (Vista, 2008, 7 e 10)

27
Artefatos de Registro

❖Volatility Framework

• $ vol.py –f arquivo_dump –-profile=X hivelist


• $ vol.py –f arquivo_dump –-profile=X hashdump
• $ vol.py –f arquivo_dump –-profile=X dumpregistry

28
Identificação de Malwares

❖Volatility Framework

• $ vol.py --info
• $ vol.py –f arquivo_dump –-profile=X malfind

29
Cenários
Práticos

30
Are you
ready?

31
Case #1

32
Demonstração #1
Case #1 – Intruder/Insider
• Background:
• Sede da GoHacking em Brasília no Lago Sul sofreu uma tentativa
de invasão física

33
Demonstração #1
Case #1 - Intruder
• Background:
• A invasão foi detectada e o invasor encontrado quando tentava se
conectar nos servidores de alto desempenho da GoHacking
• Invasor conseguiu fugir, mas deixou o laptop na sala cofre

34
Demonstração #1
Case #1 - Intruder
• Background:
• ETIR foi chamada e chegou segundos após o chamado (ligação
pessoal do Laios “furioso”)

35
Demonstração #1
Case #1
• Questões:
• 1) O que o invasor estava fazendo nos servidores da GoHacking?

• 2) É possível identificar alguma informação do invasor no sistema?

• 3) Houve exfiltração de dados?

36
Case #2

37
Demonstração #1
Case #2
• Background:
• Manoelt estava criando seus exercícios para o curso EHMWX e
durante alguns testes foi contaminado com algum malware;
• Os arquivos do curso foram criptografados e ele não tinha backup
(confiava muito nos seus conhecimentos de Segurança da
Informação, mas descuidou brevemente e....);

38
Demonstração #1
Case #2

39
Demonstração #1
Case #2

40
Demonstração #1
Pânico total

41
Demonstração #1
Case #2
• Questões:
• 1) Seria possível Identificar o processo malicioso no sistema?

• 2) É possível recuperar os arquivos cifrados e ajudar o Manoelt a


recuperar seu curso EHMWX?

42
Demonstração #1
Case #2
• Alerta:
• Cuidados redobrados nos procedimentos realizados em virtude
de arquivos maliciosos existentes nesse dump de memória.

• Senha do infected.7z: gohacking

43
Demonstração #1
Case #2
• Alerta:
• The labs covered nearly all of the memory analysis steps that the SANS Institute, well-known
computer security, and certification organization, lists in their Memory Forensics Cheat Sheet:
1. Identify rogue processes
2. Analyze process DLLs and handles
3. Review network artifacts
4. Look for evidence of code injection
5. Check for signs of a rootkit
6. Extract processes, drivers, and objects.

44
45
Contato

darth.vader@starwars.com

46
Contato

treinamentos@gohacking.com.br

47
Contato
101 110 103 46 97 108 98 101 114 110 97 122 64
103 109 97 105 108 46 99 111 109

6c696e6b6564696e2e636f6d2f696e2f726f64726
9676f2d616c6265726e617a2d37303830336236
36

01101000 01110100 01110100 01110000


01110011 00111010 00101111 00101111
01110111 01110111 01110111 00101110
01101001 01101110 01110011 01110100
01100001 01100111 01110010 01100001
01101101 00101110 01100011 01101111
01101101 00101111 01110000 01110010
01101111 01100110 00101110 01100001
01101100 01100010 01100101 01110010
01101110 01100001 01111010

48

Você também pode gostar