Escolar Documentos
Profissional Documentos
Cultura Documentos
1
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
Este e-book tem como finalidade auxiliar na compreensão sobre aquisição de
memória ao vivo (live) e sua análise forense. Lembrando que a aquisição de memória live
é um método usado para coletar dados quando o sistema é encontrado em estado ativo na
cena do crime.
MEMORIA FORENSE
AQUISIÇÃO DE MEMÓRIA
VOLATILITY FRAMEWORK
volatility -h
IMAGEINFO
3
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
Um perfil é uma categorização de sistemas operacionais específicos, versões e sua
arquitetura de hardware. Um perfil geralmente inclui informações de metadados,
informações de chamadas do sistema etc. Você pode perceber que vários perfis seriam
sugeridos a você.
KDGBSCAN
Este plugin encontra e analisa os perfis com base no bloco de dados do depurador
do kernel. O Kdgbscan fornece assim o perfil correto relacionado à imagem bruta. É
extremamente importante obter o perfil correto para análise de memória. Para fornecer o
perfil correto para a análise de memória digite:
4
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
PROCESSOS: Quando um sistema está em estado ativo, é normal que ele tenha
vários processos em execução em segundo plano possam ser encontrados na memória
volátil. Consiste em código de programa executável, bibliotecas importadas, memória
alocada e threads de execução. A presença de qualquer processo encerrados recentemente
antes da reinicialização também pode ser registrado e analisado no despejo da memória.
Existem alguns plugins que podem ser usados para listar os processos para realizar a
Investigação Forense.
PSlist
PSscan
Este plugin pode ser usado para fornecer uma lista detalhada dos processos
encontrados no despejo de memória. Ao executar este comando, a lista de processos em
execução é exibida, seu respectivo ID de processo atribuído a eles e o ID do processo pai
5
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
também é exibido. Os detalhes sobre os threads, sessões, handles também são
mencionados. O timestamp de acordo com o início do processo também é exibido. Isso
ajuda a identificar se um processo desconhecido está em execução ou foi executado em
um horário incomum.
PStree
6
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
DLL: é extremamente importante saber quais DLLs (bibliotecas vinculadas
dinâmicas) são importadas para o processo durante a análise do despejo de memória. Uma
DLL pode conter código executável mal-intencionado que pode ter um processo benigno
para introduzir atividades mal-intencionadas. Portanto, examinar os vários processos
quanto à presença de DLLs maliciosas ou injeções de código semelhantes é crucial para
a análise. Volatility possui vários tipos de plugins para essa análise.
DLLLIST
Várias ferramentas só têm o potencial de detectar as DLLs que são usadas por um
processo consultando a primeira das três listas de DLL armazenadas no PEB, que rastreia
a ordem em que cada DLL é carregada. Como resultado, o malware às vezes modifica
essa lista para ocultar a presenta de uma DLL. Volatility possui um plugin que também
analisa a mesma lista.
DLLDump
Este plugin é usado para despejar as DLLs do espaço de memória dos processos
em outro local para analisá-lo. Para fazer um dump das DLLs que você pode digitar.
7
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
volatility -f <arquivo de despejo> --profile=WinXPSP2x86 dlldump --dump-dir
<local de despejar>
HANDLES
Este plugin é usado para exibir as alças abertas que estão presentes em um
processo. Este plugin se aplica a arquivos, chaves de registro, eventos, desktops, threads
e todos os outros tipos de objetos.
8
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
GETSIDS
Este plugin é usado para visualizar os SIDs para identificadores de segurança que
estão associados a um processo. Este plugin pode ajudar a identificar processos que têm
privilégios escalados de forma maliciosa e quais processos pertencem a usuários
específicos.
NETSCAN
(Lembrando que este comando funciona para versões do windows a partir do Win7).
Para Windows XP utilize o connections.
HIVELIST
Este plugin pode ser usado para localizar os endereços virtuais presentes nos hives
de registro na memória e seus caminhos inteiros para hive no disco.
9
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
volatility -f <arquivo de despejo> --profile=WinXPSP2x86 hivelist
TIMELINER
Este plugin geralmente cria uma linha do tempo dos vários artefatos encontrados
no despejo de memória, onde foi visitado o que foi aberto etc.
HASHDUMP
Este plugin pode ser usado para extrair e desciptografar credenciais de domínio em cache
armazenadas no registro que podem ser aproveitadas no despejo de memória. Os hashes
aproveitados do dump de memória podem ser quebrados usando John The Ripper,
Hashcat etc.
10
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
LSADUMP
É um plugin usado para despejar segredos LSA do registro no despejo de memória. Este
plugin fornece informações como a senha padrão, chave pública RDP etc.
MODSCAN
11
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
FILESCAN
SVCSCAN
Este plugin é usado para ver os serviços registrados em sua imagem de memória,
use o comando svcscan. A saída mostra o ID do processo de cada serviço, o nome do
serviço, nome do serviço, nome de exibição, tipo de serviço, estado do serviço e mostra
o caminho binário para o serviço registrado, que será um .exe para serviços de modo de
usuário e nome de driver para serviços executados no modo kernel.
CMDSCAN
12
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
volatility -f <arquivo de despejo> --profile=<perfil> cmdscan
IEHISTORY
DUMPREGISTRY
MODDUM
13
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
PROCDUMP
MEMDUMP
14
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
DETECÇÃO DE INJEÇÃO DE CÓDIGO MALICIOSO
Lembrando que todos os registros de eventos são registrados durante todo o tempo
de execução de um sistema, logo poderá encontrar tais arquivos de eventos na memória.
O plugin evtlogs (somente XP e 2003) encontra e analisa os registros de log de
eventos automaticamente.
Uma dica é que os logs de eventos mais recentes são mapeados na memória, logo
você poderá realizar o dump completo dos eventos e realizar a análise ou recuperação dos
15
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
registros com uma ferramenta externa, como por exemplo o EVTXtract, pois irá tentar
além de analisar reconstruir eventos corrompidos ou ausentes.
AVML
Após a captura você terá um arquivo .lime que constam informações da memória
volátil obtida do referido sistema.
16
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
LiME
(Caso enfrente problemas com o headers do linux, este guia poderá te auxiliar:
https://hackersgrid.com/2022/01/install-linux-headers-kali-2022.html )
Observe ainda que você pode realizar a aquisição baseada em rede, fornecendo o
seguinte comando para um soquete de escuta na porta TCP 4444.
Logo a sua estação forense estará pronta para utilizar o netcat para adquirir o
arquivo, por meio do comando, por exemplo:
17
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
nc <ip> 4444 > <arquivo do despejo>.lime
Usando o Lime:
https://www.youtube.com/watch?v=_7Tq8dcmP0k
Mas claro que você pode realizar a criação de perfil de forma manual, conforme
abaixo utilizando alguns softwares, como o dwarfdump, ferramentas de compilador e
claro o cabeçalho do kernel.
UTILIZANDO O VOLATILITY
18
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
volatility --profile=Linux<build> -f <despejo da memória> linux_pstree
É possível identificar da lista de map de cada processo e com isto consegue relatar
e descrever cada região específica da memória relacionado ao referido processo. O plugin
linux_proc_map percorre a task_struct -> mm -> lista de map.
O importante deste comando é que pode ver vários processos que tem opções de
configurações importantes, como o local em que foi executado ou qualquer outra
informação ou parâmetro repassado que auxilia na análise.
IDENTIFICADORES DE ARQUIVO
HISTÓRICO DO BASH
ARTEFATOS DE REDE
20
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
O plugin linux_netstat mostra a saída para a conexão TCP estabelecida, um
ouvindo conexão TCP e uma conexão UDP.
INTERFACES DE REDE
O sistema Linux suporta várias interfaces de rede que você pode configurar para
diferentes rotas e subredes. Para entender completamente o fluxo de dados da rede por
meio de um serviço com várias interfaces, você deve recuperar informações sobre cada
dispositivo.
21
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
volatility --profile=Linux<build> -f <despejo da memória> linux_mount
Cada uma das colunas apresentada pelo plugin é recuperada da seguinte maneira:
AQUISIÇÃO DE MEMÓRIA
Vale salientar que o Mac em seu início permitiu que programas de software
realizassem aquisição de memória física por meio de um dispositivo exposto ao userland.
Em sistemas MAC antes da mudança completa para a Arquitetura Intel, fato que ocorreu
com o lançamento do 10.6, a memória física foi exposta por meio do /dev/mem e o espaço
de endereço virtual do kernel foi exposto por meio do /dev/kmem. Por razões de
segurança, esta funcionalidade não foi realizada para o MAC baseado em sistemas Intel.
Assim, para adquirir memória das máquinas, você deve utilizar uma ferramenta que
carrega o módulo do kernel para acessar os dados.
Para realizar a aquisição segura da RAM e evitar áreas não mapeadas de memória
física e memória do dispositivo, ferramentas de aquisição muitas vezes encontram onde
a RAM é mapeada dentro do sistema. Ferramentas utilizadas para aquisição são:
OSXPmem, Mac Memory Reader e Mac Memoryze.
22
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
Utilize o curl para download do pacote e posteriormente realize o armazenamento
dos mesmos em pasta correta do Volatility.
unzip MacProfiles.zip
cp XXX_10.5.3_Intel.zip ~/volatility/volatility/plugins/overlays/mac
PERFIS DE CONSTRUÇÃO
23
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
ENUMERAÇÃO DE PROCESSOS
RELAÇÕES DE PROCESSOS
CONCLUSÃO
REFERENCIAS:
https://www.amazon.com.br/Art-Memory-Forensics-Detecting-
Malware/dp/1118825098/ref=asc_df_1118825098/?tag=googleshopp00-
20&linkCode=df0&hvadid=379726160779&hvpos=&hvnetw=g&hvrand=1630136717
4813560020&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocp
hy=1031510&hvtargid=pla-451268129738&psc=1
https://github.com/volatilityfoundation/volatility3
https://downloads.volatilityfoundation.org/volatility3/symbols/linux.zip
https://downloads.volatilityfoundation.org/volatility3/symbols/mac.zip
https://downloads.volatilityfoundation.org/volatility3/symbols/windows.zip
https://volatility3.readthedocs.io/en/latest/
https://www.volatilityfoundation.org/
https://www.volatilityfoundation.org/releases
24
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/
https://www.youtube.com/watch?v=Uk3DEgY5Ue8
https://www.youtube.com/watch?v=3xAEsDT-4NA
https://github.com/volatilityfoundation/volatility/wiki/Mac-Command-Reference
https://github.com/volatilityfoundation/volatility/wiki/Linux-Command-Reference
https://github.com/volatilityfoundation/volatility/wiki/Command-Reference
25
Ebook criado por Caique Barqueta - https://www.linkedin.com/in/caique-barqueta-635613129/