220 KiB
Volatility - CheatSheet
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de cibersegurança? Você quer ver sua empresa anunciada no HackTricks? ou quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e para o repositório hacktricks-cloud.
RootedCON é o evento de cibersegurança mais relevante na Espanha e um dos mais importantes na Europa. Com a missão de promover o conhecimento técnico, este congresso é um ponto de encontro fervilhante para profissionais de tecnologia e cibersegurança em todas as disciplinas.
{% embed url="https://www.rootedcon.com/" %}
Se você quer algo rápido e louco que lançará vários plugins do Volatility em paralelo, você pode usar: https://github.com/carlospolop/autoVolatility
python autoVolatility.py -f MEMFILE -d OUT_DIRECTORY -e /home/user/tools/volatility/vol.py # It will use the most important plugins (could use a lot of space depending on the size of the memory)
Instalação
volatility3
git clone https://github.com/volatilityfoundation/volatility3.git
cd volatility3
python3 setup.py install
python3 vol.py —h
volatility2
{% tabs %} {% tab title="Método1" %}
Comandos básicos
volatility2 -f <archivo> imageinfo
: muestra información sobre el archivo de memoria.volatility2 -f <archivo> pslist
: muestra una lista de procesos.volatility2 -f <archivo> pstree
: muestra un árbol de procesos.volatility2 -f <archivo> psscan
: muestra una lista de procesos utilizando el escaneo de proceso.volatility2 -f <archivo> netscan
: muestra una lista de conexiones de red.volatility2 -f <archivo> connscan
: muestra una lista de conexiones de red utilizando el escaneo de conexión.volatility2 -f <archivo> filescan
: muestra una lista de archivos abiertos.volatility2 -f <archivo> hivelist
: muestra una lista de claves del registro.volatility2 -f <archivo> printkey -K <clave>
: muestra el contenido de una clave del registro.volatility2 -f <archivo> dumpregistry -K <clave> -D <directorio>
: guarda el contenido de una clave del registro en un archivo.volatility2 -f <archivo> malfind
: busca malware en la memoria.volatility2 -f <archivo> apihooks
: muestra los hooks de API.volatility2 -f <archivo> dlllist
: muestra una lista de DLL cargadas.volatility2 -f <archivo> handles
: muestra una lista de handles abiertos.volatility2 -f <archivo> mutantscan
: muestra una lista de objetos mutantes.volatility2 -f <archivo> svcscan
: muestra una lista de servicios.volatility2 -f <archivo> driverirp
: muestra una lista de IRP manejados por los drivers.volatility2 -f <archivo> devicetree
: muestra una lista de dispositivos.volatility2 -f <archivo> modscan
: muestra una lista de módulos cargados.volatility2 -f <archivo> moddump -D <directorio> -n <nombre>
: guarda el contenido de un módulo en un archivo.volatility2 -f <archivo> memdump -p <pid> -D <directorio>
: guarda el contenido de un proceso en un archivo.volatility2 -f <archivo> memdump -b <dirección> -s <tamaño> -D <directorio>
: guarda un bloque de memoria en un archivo.
Plugins adicionales
volatility2 -f <archivo> windows.handles
: muestra una lista de handles abiertos con información adicional.volatility2 -f <archivo> windows.verinfo
: muestra información sobre la versión del sistema operativo.volatility2 -f <archivo> windows.pslist
: muestra una lista de procesos con información adicional.volatility2 -f <archivo> windows.pstree
: muestra un árbol de procesos con información adicional.volatility2 -f <archivo> windows.filescan
: muestra una lista de archivos abiertos con información adicional.volatility2 -f <archivo> windows.netscan
: muestra una lista de conexiones de red con información adicional.volatility2 -f <archivo> windows.connscan
: muestra una lista de conexiones de red utilizando el escaneo de conexión con información adicional.volatility2 -f <archivo> windows.registry.hivelist
: muestra una lista de claves del registro con información adicional.volatility2 -f <archivo> windows.registry.printkey -K <clave>
: muestra el contenido de una clave del registro con información adicional.volatility2 -f <archivo> windows.registry.dumpregistry -K <clave> -D <directorio>
: guarda el contenido de una clave del registro en un archivo con información adicional.volatility2 -f <archivo> windows.malfind
: busca malware en la memoria con información adicional.volatility2 -f <archivo> windows.apihooks
: muestra los hooks de API con información adicional.volatility2 -f <archivo> windows.dlldump -D <directorio> -n <nombre>
: guarda el contenido de una DLL en un archivo con información adicional.volatility2 -f <archivo> windows.svcscan
: muestra una lista de servicios con información adicional.volatility2 -f <archivo> windows.driverirp
: muestra una lista de IRP manejados por los drivers con información adicional.volatility2 -f <archivo> windows.devicetree
: muestra una lista de dispositivos con información adicional.volatility2 -f <archivo> windows.moddump -D <directorio> -n <nombre>
: guarda el contenido de un módulo en un archivo con información adicional.volatility2 -f <archivo> windows.memdump -p <pid> -D <directorio>
: guarda el contenido de un proceso en un archivo con información adicional.volatility2 -f <archivo> windows.memdump -b <dirección> -s <tamaño> -D <directorio>
: guarda un bloque de memoria en un archivo con información adicional.
{% endtab %} {% endtabs %}
Download the executable from https://www.volatilityfoundation.org/26
{% endtab %}
{% tab title="Método 2" %}
git clone https://github.com/volatilityfoundation/volatility.git
cd volatility
python setup.py install
{% endtab %} {% endtabs %}
Comandos do Volatility
Acesse a documentação oficial em Referência de comandos do Volatility
Uma nota sobre plugins "list" vs. "scan"
O Volatility tem duas abordagens principais para plugins, que às vezes são refletidas em seus nomes. Plugins "list" tentarão navegar pelas estruturas do Kernel do Windows para recuperar informações como processos (localizar e percorrer a lista vinculada de estruturas _EPROCESS
na memória), alças do SO (localizar e listar a tabela de alças, desreferenciando quaisquer ponteiros encontrados, etc). Eles mais ou menos se comportam como a API do Windows se solicitado, por exemplo, para listar processos.
Isso torna os plugins "list" bastante rápidos, mas tão vulneráveis quanto a API do Windows à manipulação por malware. Por exemplo, se o malware usa DKOM para desvincular um processo da lista vinculada _EPROCESS
, ele não aparecerá no Gerenciador de Tarefas e nem no pslist.
Os plugins "scan", por outro lado, adotarão uma abordagem semelhante à escultura da memória para coisas que podem fazer sentido quando desreferenciadas como estruturas específicas. psscan
, por exemplo, lerá a memória e tentará fazer objetos _EPROCESS
com ela (ele usa a varredura de pool-tag, que está procurando por strings de 4 bytes que indicam a presença de uma estrutura de interesse). A vantagem é que ele pode desenterrar processos que saíram e, mesmo que o malware manipule a lista vinculada _EPROCESS
, o plugin ainda encontrará a estrutura deitada na memória (já que ainda precisa existir para o processo ser executado). A desvantagem é que os plugins "scan" são um pouco mais lentos que os plugins "list" e às vezes podem produzir falsos positivos (um processo que saiu há muito tempo e teve partes de sua estrutura sobrescritas por outras operações).
De: http://tomchop.me/2016/11/21/tutorial-volatility-plugins-malware-analysis/
Perfis de SO
Volatility3
Como explicado no readme, você precisa colocar a tabela de símbolos do SO que deseja suportar dentro de volatility3/volatility/symbols.
Os pacotes de tabela de símbolos para vários sistemas operacionais estão disponíveis para download em:
- https://downloads.volatilityfoundation.org/volatility3/symbols/windows.zip
- https://downloads.volatilityfoundation.org/volatility3/symbols/mac.zip
- https://downloads.volatilityfoundation.org/volatility3/symbols/linux.zip
Volatility2
Perfil externo
Você pode obter a lista de perfis suportados fazendo:
./volatility_2.6_lin64_standalone --info | grep "Profile"
Se você deseja usar um novo perfil que você baixou (por exemplo, um perfil linux), você precisa criar em algum lugar a seguinte estrutura de pastas: plugins/overlays/linux e colocar dentro desta pasta o arquivo zip contendo o perfil. Em seguida, obtenha o número de perfis usando:
./vol --plugins=/home/kali/Desktop/ctfs/final/plugins --info
Volatility Foundation Volatility Framework 2.6
Profiles
--------
LinuxCentOS7_3_10_0-123_el7_x86_64_profilex64 - A Profile for Linux CentOS7_3.10.0-123.el7.x86_64_profile x64
VistaSP0x64 - A Profile for Windows Vista SP0 x64
VistaSP0x86 - A Profile for Windows Vista SP0 x86
Você pode baixar perfis do Linux e Mac em https://github.com/volatilityfoundation/profiles
No trecho anterior, você pode ver que o perfil é chamado LinuxCentOS7_3_10_0-123_el7_x86_64_profilex64
, e você pode usá-lo para executar algo como:
./vol -f file.dmp --plugins=. --profile=LinuxCentOS7_3_10_0-123_el7_x86_64_profilex64 linux_netscan
Descobrir Perfil
volatility imageinfo -f file.dmp
volatility kdbgscan -f file.dmp
Diferenças entre imageinfo e kdbgscan
Ao contrário do imageinfo, que simplesmente fornece sugestões de perfil, o kdbgscan é projetado para identificar positivamente o perfil correto e o endereço KDBG correto (se houver vários). Este plugin procura as assinaturas KDBGHeader vinculadas aos perfis do Volatility e aplica verificações de integridade para reduzir falsos positivos. A verbosidade da saída e o número de verificações de integridade que podem ser realizadas dependem se o Volatility pode encontrar um DTB, portanto, se você já conhece o perfil correto (ou se tem uma sugestão de perfil do imageinfo), certifique-se de usá-lo (de aqui).
Sempre dê uma olhada no número de processos que o kdbgscan encontrou. Às vezes, o imageinfo e o kdbgscan podem encontrar mais de um perfil adequado, mas apenas o válido terá alguma relação com processos (isso ocorre porque o endereço KDBG correto é necessário para extrair processos).
# GOOD
PsActiveProcessHead : 0xfffff800011977f0 (37 processes)
PsLoadedModuleList : 0xfffff8000119aae0 (116 modules)
# BAD
PsActiveProcessHead : 0xfffff800011947f0 (0 processes)
PsLoadedModuleList : 0xfffff80001197ac0 (0 modules)
KDBG
O bloco de depuração do kernel (chamado de KdDebuggerDataBlock do tipo _KDDEBUGGER_DATA64, ou KDBG pelo Volatility) é importante para muitas coisas que o Volatility e os depuradores fazem. Por exemplo, ele tem uma referência ao PsActiveProcessHead, que é a cabeça da lista de todos os processos necessários para a listagem de processos.
Informações do SO
#vol3 has a plugin to give OS information (note that imageinfo from vol2 will give you OS info)
./vol.py -f file.dmp windows.info.Info
O plugin banners.Banners
pode ser usado no vol3 para tentar encontrar banners do linux no dump.
Hashes/Senhas
Extraia hashes SAM, credenciais em cache do domínio e segredos lsa.
{% tabs %} {% tab title="vol3" %}
./vol.py -f file.dmp windows.hashdump.Hashdump #Grab common windows hashes (SAM+SYSTEM)
./vol.py -f file.dmp windows.cachedump.Cachedump #Grab domain cache hashes inside the registry
./vol.py -f file.dmp windows.lsadump.Lsadump #Grab lsa secrets
{% endtab %}
{% tab title="volatility-cheatsheet" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> profileinfo
: exibe informações sobre o perfil da imagem de memóriavolatility -f <file> pslist
: exibe a lista de processos em execuçãovolatility -f <file> pstree
: exibe a árvore de processos em execuçãovolatility -f <file> psscan
: exibe a lista de processos em execução usando o scanner de processovolatility -f <file> dlllist -p <pid>
: exibe a lista de DLLs carregadas por um processovolatility -f <file> handles -p <pid>
: exibe a lista de handles abertos por um processovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> netscan
: exibe a lista de conexões de rede
Análise de processo
volatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de memória de um processovolatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo (alternativa ao procdump)volatility -f <file> cmdline -p <pid>
: exibe a linha de comando usada para iniciar um processovolatility -f <file> consoles -p <pid>
: exibe a lista de consoles usados por um processovolatility -f <file> getsids -p <pid>
: exibe a lista de SIDs associados a um processovolatility -f <file> envars -p <pid>
: exibe a lista de variáveis de ambiente usadas por um processovolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso em um processo
Análise de sistema de arquivos
volatility -f <file> hivelist
: exibe a lista de arquivos de registro carregadosvolatility -f <file> printkey -o <offset>
: exibe o conteúdo de uma chave de registrovolatility -f <file> dumpregistry -o <offset> -D <output_directory>
: cria um dump de uma chave de registrovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> dumpfiles -Q <file_path_regex> -D <output_directory>
: cria dumps de arquivos correspondentes a um regex de caminho
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> connscan -s
: exibe a lista de conexões de rede com informações de socketvolatility -f <file> sockets
: exibe a lista de sockets abertosvolatility -f <file> sockscan
: exibe a lista de sockets abertos usando o scanner de socket
Plugins adicionais
Análise de malware
volatility -f <file> malfind
: procura por código malicioso em processos e módulosvolatility -f <file> malprocfind
: procura por processos maliciososvolatility -f <file> malfind
: procura por arquivos maliciosos na memóriavolatility -f <file> apihooks
: exibe a lista de ganchos de API instaladosvolatility -f <file> svcscan
: exibe a lista de serviços em execuçãovolatility -f <file> svcscan -v
: exibe a lista de serviços em execução com informações detalhadasvolatility -f <file> driverirp
: exibe a lista de IRPs (pacotes de solicitação de entrada/saída) manipulados por driversvolatility -f <file> callbacks
: exibe a lista de callbacks registrados
Análise de memória
volatility -f <file> memmap
: exibe o mapa de memóriavolatility -f <file> memdump
: cria um dump de memóriavolatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processovolatility -f <file> memstrings
: procura por strings na memóriavolatility -f <file> memdump --dump-dir <output_directory> --dump-headers -p <pid>
: cria um dump de memória de um processo com cabeçalhos
Análise de sistema de arquivos
volatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> dumpfiles -Q <file_path_regex> -D <output_directory>
: cria dumps de arquivos correspondentes a um regex de caminhovolatility -f <file> dumpregistry -o <offset> -D <output_directory>
: cria um dump de uma chave de registro
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> connscan -s
: exibe a lista de conexões de rede com informações de socketvolatility -f <file> sockets
: exibe a lista de sockets abertosvolatility -f <file> sockscan
: exibe a lista de sockets abertos usando o scanner de socket
Referências
- Volatility Cheat Sheet por James Habben
- Volatility Command Reference no wiki do Volatility Foundation {% endtab %}
volatility --profile=Win7SP1x86_23418 hashdump -f file.dmp #Grab common windows hashes (SAM+SYSTEM)
volatility --profile=Win7SP1x86_23418 cachedump -f file.dmp #Grab domain cache hashes inside the registry
volatility --profile=Win7SP1x86_23418 lsadump -f file.dmp #Grab lsa secrets
Despejo de Memória
O despejo de memória de um processo irá extrair tudo do estado atual do processo. O módulo procdump irá apenas extrair o código.
volatility -f file.dmp --profile=Win7SP1x86 memdump -p 2168 -D conhost/
RootedCON é o evento de cibersegurança mais relevante na Espanha e um dos mais importantes na Europa. Com a missão de promover o conhecimento técnico, este congresso é um ponto de encontro fervilhante para profissionais de tecnologia e cibersegurança em todas as disciplinas.
{% embed url="https://www.rootedcon.com/" %}
Processos
Listar processos
Tente encontrar processos suspeitos (por nome) ou inesperados processos filhos (por exemplo, um cmd.exe como filho de iexplorer.exe).
Pode ser interessante comparar o resultado do pslist com o de psscan para identificar processos ocultos.
python3 vol.py -f file.dmp windows.pstree.PsTree # Get processes tree (not hidden)
python3 vol.py -f file.dmp windows.pslist.PsList # Get process list (EPROCESS)
python3 vol.py -f file.dmp windows.psscan.PsScan # Get hidden process list(malware)
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> psscan
: lista os processos em execução na imagem de memória (busca em todos os processos)volatility -f <file> pstree
: exibe a árvore de processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> handles -p <pid>
: lista os handles abertos por um processo específicovolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> connscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)volatility -f <file> hivelist
: lista os arquivos de registro na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registro específicavolatility -f <file> dumpregistry -D <output_directory> -K <key>
: extrai uma chave de registro específica para um diretório de saída
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: extrai o espaço de endereço virtual de um processo específico para um diretório de saídavolatility -f <file> procdump -p <pid> -D <output_directory>
: extrai o arquivo executável de um processo específico para um diretório de saídavolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso na memória de um processo específico e extrai-o para um diretório de saída
Análise de sistema de arquivos
volatility -f <file> hivelist
: lista os arquivos de registro na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registro específicavolatility -f <file> dumpregistry -D <output_directory> -K <key>
: extrai uma chave de registro específica para um diretório de saídavolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -D <output_directory> --name <filename>
: extrai um arquivo específico para um diretório de saída
Outros comandos úteis
volatility -f <file> hashdump -y <profile>
: extrai as hashes de senha da imagem de memóriavolatility -f <file> truecryptpassphrase
: extrai a senha do TrueCrypt da imagem de memóriavolatility -f <file> clipboard
: exibe o conteúdo da área de transferência da imagem de memóriavolatility -f <file> shellbags
: exibe as informações de shellbags da imagem de memória
Plugins adicionais
Análise de malware
volatility -f <file> malfind
: procura por código malicioso na imagem de memóriavolatility -f <file> malprocfind
: procura por processos maliciosos na imagem de memóriavolatility -f <file> maldriverscan
: procura por drivers maliciosos na imagem de memóriavolatility -f <file> apihooks
: exibe os ganchos de API na imagem de memória
Análise de rede
volatility -f <file> connscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)volatility -f <file> sockets
: lista os sockets abertos na imagem de memóriavolatility -f <file> sockscan
: lista os sockets abertos na imagem de memória (busca em todos os processos)
Análise de sistema de arquivos
volatility -f <file> shimcache
: exibe as informações do cache de compatibilidade do aplicativo da imagem de memóriavolatility -f <file> usnjrnl
: exibe as informações do diário de alterações do NTFS da imagem de memóriavolatility -f <file> mftparser
: exibe as informações do arquivo de tabela mestre do NTFS da imagem de memóriavolatility -f <file> mftparser -D <output_directory>
: extrai o arquivo de tabela mestre do NTFS para um diretório de saídavolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -D <output_directory> --name <filename>
: extrai um arquivo específico para um diretório de saída
Análise de memória
volatility -f <file> memmap
: exibe o mapa de memória da imagem de memóriavolatility -f <file> memdump
: extrai a imagem de memória completa para um arquivovolatility -f <file> memdump --dump-dir <output_directory>
: extrai a imagem de memória completa para um diretório de saídavolatility -f <file> memdump -p <pid> -D <output_directory>
: extrai o espaço de endereço virtual de um processo específico para um diretório de saídavolatility -f <file> memdump --offset <offset> --length <length> -D <output_directory>
: extrai uma região específica da imagem de memória para um diretório de saída
Referências
- Volatility Cheat Sheet por James Habben
- The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory por Michael Hale Ligh, Andrew Case, Jamie Levy e Aaron Walters {% endtab %}
volatility --profile=PROFILE pstree -f file.dmp # Get process tree (not hidden)
volatility --profile=PROFILE pslist -f file.dmp # Get process list (EPROCESS)
volatility --profile=PROFILE psscan -f file.dmp # Get hidden process list(malware)
volatility --profile=PROFILE psxview -f file.dmp # Get hidden process list
Dump de processos
{% tabs %} {% tab title="vol3" %}
Para despejar um processo específico, use o comando procdump
:
procdump -p <pid> -d <dump_directory>
Para despejar um processo que atenda a um determinado critério, use o comando procdump
com a opção -ma
:
procdump -ma -t -n 3 -s 5 -d <dump_directory> <image_name>
O comando acima despejará o processo que atenda aos seguintes critérios:
- Nome da imagem:
<image_name>
- CPU média superior a 5%:
-s 5
- Utilização da CPU superior a 3%:
-n 3
- Tempo de espera de 10 segundos:
-t
Para despejar todos os processos em execução, use o comando procdump
com a opção -a
:
procdump -a -d <dump_directory>
{% endtab %} {% endtabs %}
./vol.py -f file.dmp windows.dumpfiles.DumpFiles --pid <pid> #Dump the .exe and dlls of the process in the current directory
{% endtab %}
{% tab title="volatility-cheatsheet" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> profileinfo
: exibe informações sobre o perfil da imagem de memóriavolatility -f <file> pslist
: exibe a lista de processos em execuçãovolatility -f <file> pstree
: exibe a árvore de processos em execuçãovolatility -f <file> psscan
: exibe a lista de processos em execução usando o scanner de processovolatility -f <file> dlllist -p <pid>
: exibe a lista de DLLs carregadas por um processovolatility -f <file> handles -p <pid>
: exibe a lista de handles abertos por um processovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> netscan
: exibe a lista de conexões de rede
Análise de processo
volatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de memória de um processovolatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo (alternativa ao procdump)volatility -f <file> cmdline -p <pid>
: exibe a linha de comando usada para iniciar um processovolatility -f <file> consoles -p <pid>
: exibe a lista de consoles usados por um processovolatility -f <file> getsids -p <pid>
: exibe a lista de SIDs associados a um processovolatility -f <file> envars -p <pid>
: exibe a lista de variáveis de ambiente usadas por um processovolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso em um processo
Análise de sistema de arquivos
volatility -f <file> hivelist
: exibe a lista de arquivos de registro carregadosvolatility -f <file> printkey -o <offset>
: exibe o conteúdo de uma chave de registrovolatility -f <file> dumpregistry -o <offset> -D <output_directory>
: cria um dump de uma chave de registrovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> dumpfiles -Q <file_path_regex> -D <output_directory>
: cria dumps de arquivos correspondentes a um regex de caminho
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> connscan -s
: exibe a lista de conexões de rede com informações de socketvolatility -f <file> sockets
: exibe a lista de sockets abertosvolatility -f <file> sockscan
: exibe a lista de sockets abertos usando o scanner de socket
Plugins adicionais
Análise de malware
volatility -f <file> malfind
: procura por código malicioso em processos e módulosvolatility -f <file> malprocfind
: procura por processos maliciososvolatility -f <file> malfind
: procura por arquivos maliciosos na memóriavolatility -f <file> apihooks
: exibe a lista de ganchos de API instaladosvolatility -f <file> svcscan
: exibe a lista de serviços em execuçãovolatility -f <file> svcscan -v
: exibe a lista de serviços em execução com informações detalhadasvolatility -f <file> driverirp
: exibe a lista de IRPs (pacotes de solicitação de entrada/saída) manipulados por driversvolatility -f <file> callbacks
: exibe a lista de callbacks registrados
Análise de memória
volatility -f <file> memmap
: exibe o mapa de memóriavolatility -f <file> memdump
: cria um dump de memóriavolatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processovolatility -f <file> memstrings
: procura por strings na memóriavolatility -f <file> memdump --dump-dir <output_directory> --dump-headers -p <pid>
: cria um dump de memória de um processo com cabeçalhos
Análise de sistema de arquivos
volatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> dumpfiles -Q <file_path_regex> -D <output_directory>
: cria dumps de arquivos correspondentes a um regex de caminhovolatility -f <file> printkey -o <offset>
: exibe o conteúdo de uma chave de registrovolatility -f <file> dumpregistry -o <offset> -D <output_directory>
: cria um dump de uma chave de registro
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> connscan -s
: exibe a lista de conexões de rede com informações de socketvolatility -f <file> sockets
: exibe a lista de sockets abertosvolatility -f <file> sockscan
: exibe a lista de sockets abertos usando o scanner de socket
Referências
- Volatility Cheat Sheet por James Habben
- Volatility Command Reference no wiki do Volatility Foundation {% endtab %}
volatility --profile=Win7SP1x86_23418 procdump --pid=3152 -n --dump-dir=. -f file.dmp
Linha de comando
Alguma coisa suspeita foi executada?
{% tabs %} {% tab title="vol3" %}
python3 vol.py -f file.dmp windows.cmdline.CmdLine #Display process command-line arguments
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> psscan
: lista os processos em execução na imagem de memória (busca em todos os processos)volatility -f <file> pstree
: exibe a árvore de processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> handles -p <pid>
: lista os handles abertos por um processo específicovolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> connscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)volatility -f <file> hivelist
: lista os arquivos de registro na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registro específicavolatility -f <file> dumpregistry -D <output_directory> -K <key>
: extrai uma chave de registro específica para um diretório de saída
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: extrai o espaço de endereço virtual de um processo específico para um diretório de saídavolatility -f <file> procdump -p <pid> -D <output_directory>
: extrai o arquivo executável de um processo específico para um diretório de saídavolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso na memória de um processo específico e extrai-o para um diretório de saída
Análise de sistema de arquivos
volatility -f <file> hivelist
: lista os arquivos de registro na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registro específicavolatility -f <file> dumpregistry -D <output_directory> -K <key>
: extrai uma chave de registro específica para um diretório de saídavolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -D <output_directory> --name <filename>
: extrai um arquivo específico para um diretório de saída
Análise de rede
volatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> connscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)volatility -f <file> sockets
: lista os sockets abertos na imagem de memóriavolatility -f <file> sockscan
: lista os sockets abertos na imagem de memória (busca em todos os processos)
Plugins adicionais
Malware
volatility -f <file> malfind
: procura por código malicioso na imagem de memóriavolatility -f <file> malprocfind
: procura por processos maliciosos na imagem de memóriavolatility -f <file> maldriverscan
: procura por drivers maliciosos na imagem de memóriavolatility -f <file> apihooks
: lista os ganchos de API na imagem de memória
Análise de rede
volatility -f <file> connscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)volatility -f <file> sockets
: lista os sockets abertos na imagem de memóriavolatility -f <file> sockscan
: lista os sockets abertos na imagem de memória (busca em todos os processos)
Análise de sistema de arquivos
volatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -D <output_directory> --name <filename>
: extrai um arquivo específico para um diretório de saídavolatility -f <file> shimcache
: lista as entradas do cache de compatibilidade do aplicativo na imagem de memória
Análise de processo
volatility -f <file> memdump
: extrai o espaço de endereço virtual de um processo específico para um arquivovolatility -f <file> procdump
: extrai o arquivo executável de um processo específico para um arquivovolatility -f <file> vadinfo
: exibe informações sobre as regiões de memória alocadas para um processo específicovolatility -f <file> vadtree
: exibe a árvore de regiões de memória alocadas para um processo específicovolatility -f <file> dlldump -p <pid> -D <output_directory>
: extrai uma DLL carregada por um processo específico para um diretório de saídavolatility -f <file> handles -p <pid>
: lista os handles abertos por um processo específicovolatility -f <file> deskscan
: lista as janelas de desktop na imagem de memóriavolatility -f <file> getsids
: lista os SIDs (identificadores de segurança) na imagem de memóriavolatility -f <file> getsid -p <pid>
: exibe o SID (identificador de segurança) de um processo específicovolatility -f <file> envars -p <pid>
: lista as variáveis de ambiente de um processo específico
Análise de usuário
volatility -f <file> hivelist
: lista os arquivos de registro na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registro específicavolatility -f <file> dumpregistry -D <output_directory> -K <key>
: extrai uma chave de registro específica para um diretório de saídavolatility -f <file> userassist
: lista as entradas do UserAssist na imagem de memóriavolatility -f <file> shellbags
: lista as entradas do ShellBags na imagem de memóriavolatility -f <file> chromehistory
: lista o histórico de navegação do Google Chrome na imagem de memóriavolatility -f <file> chromecookies
: lista os cookies do Google Chrome na imagem de memóriavolatility -f <file> firefoxhistory
: lista o histórico de navegação do Mozilla Firefox na imagem de memóriavolatility -f <file> firefoxcookies
: lista os cookies do Mozilla Firefox na imagem de memóriavolatility -f <file> iehistory
: lista o histórico de navegação do Internet Explorer na imagem de memóriavolatility -f <file> iecookies
: lista os cookies do Internet Explorer na imagem de memóriavolatility -f <file> pslist -u
: lista os processos em execução na imagem de memória, exibindo informações do usuáriovolatility -f <file> getsids
: lista os SIDs (identificadores de segurança) na imagem de memóriavolatility -f <file> getsid -u <user>
: lista os processos em execução na imagem de memória para um usuário específicovolatility -f <file> envars -u <user>
: lista as variáveis de ambiente para um usuário específico
Referências
- Volatility Cheat Sheet por James Habben
- The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory por Michael Hale Ligh, Andrew Case, Jamie Levy e Aaron Walters {% endtab %}
volatility --profile=PROFILE cmdline -f file.dmp #Display process command-line arguments
volatility --profile=PROFILE consoles -f file.dmp #command history by scanning for _CONSOLE_INFORMATION
{% endtab %} {% tab title="Portuguese" %} Os comandos inseridos no cmd.exe são processados pelo conhost.exe (csrss.exe antes do Windows 7). Então, mesmo que um invasor tenha conseguido matar o cmd.exe antes de obtermos um dump de memória, ainda há uma boa chance de recuperar o histórico da sessão da linha de comando da memória do conhost.exe. Se você encontrar algo estranho (usando os módulos do console), tente fazer o dump da memória do processo associado ao conhost.exe e procurar por strings dentro dele para extrair as linhas de comando.
Ambiente
Obtenha as variáveis de ambiente de cada processo em execução. Pode haver alguns valores interessantes.
python3 vol.py -f file.dmp windows.envars.Envars [--pid <pid>] #Display process environment variables
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> pstree
: exibe uma árvore de processos em execução na imagem de memóriavolatility -f <file> psscan
: procura por processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> connscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> hivelist
: lista as chaves do registro presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro na imagem de memóriavolatility -f <file> hashdump -y <offset>
: extrai hashes de senha da imagem de memória
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo específicovolatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de processo de um processo específicovolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por malwares na memória de um processo específicovolatility -f <file> apihooks -p <pid>
: exibe informações sobre os hooks de API em um processo específicovolatility -f <file> vadinfo -p <pid>
: exibe informações sobre as regiões de memória alocadas para um processo específicovolatility -f <file> vadtree -p <pid>
: exibe uma árvore das regiões de memória alocadas para um processo específicovolatility -f <file> handles -p <pid>
: lista os handles abertos por um processo específicovolatility -f <file> cmdscan -p <pid>
: procura por comandos executados por um processo específicovolatility -f <file> consoles -p <pid>
: exibe informações sobre as consoles alocadas para um processo específicovolatility -f <file> getsids -p <pid>
: exibe informações sobre os SIDs associados a um processo específicovolatility -f <file> envars -p <pid>
: exibe as variáveis de ambiente definidas para um processo específico
Plugins adicionais
Análise de malware
volatility -f <file> yarascan -Y <rules_file>
: procura por malwares usando regras YARAvolatility -f <file> malfind
: procura por malwares na imagem de memóriavolatility -f <file> malfind --dump-dir <output_directory>
: procura por malwares na imagem de memória e cria dumps dos arquivos encontradosvolatility -f <file> malfind --dump-dir <output_directory> --disassemble
: procura por malwares na imagem de memória, cria dumps dos arquivos encontrados e desmonta o código
Análise de rede
volatility -f <file> connscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> sockets
: exibe informações sobre os sockets na imagem de memóriavolatility -f <file> sockscan
: procura por sockets na imagem de memória
Análise de registro
volatility -f <file> hivelist
: lista as chaves do registro presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro na imagem de memóriavolatility -f <file> printkey -K <key> --output-file <output_file>
: exibe o conteúdo de uma chave do registro na imagem de memória e salva em um arquivovolatility -f <file> userassist
: exibe informações sobre as entradas do UserAssist no registrovolatility -f <file> shimcache
: exibe informações sobre as entradas do ShimCache no registrovolatility -f <file> ldrmodules
: exibe informações sobre os módulos carregados na imagem de memóriavolatility -f <file> ldrmodules -p <pid>
: exibe informações sobre os módulos carregados por um processo específicovolatility -f <file> printkey -K "Software\Microsoft\Windows\CurrentVersion\Run"
: exibe as entradas de inicialização do registrovolatility -f <file> printkey -K "Software\Microsoft\Windows\CurrentVersion\RunOnce"
: exibe as entradas de inicialização única do registro
Análise de sistema de arquivos
volatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -Q <address>
: cria um dump de um arquivo específicovolatility -f <file> dumpfiles -Q <address> --dump-dir <output_directory>
: cria um dump de um arquivo específico e salva em um diretóriovolatility -f <file> dumpfiles -Q <address> --dump-dir <output_directory> --name <filename>
: cria um dump de um arquivo específico, salva em um diretório e renomeia o arquivovolatility -f <file> mftparser
: exibe informações sobre o Master File Table (MFT)volatility -f <file> usnjrnl
: exibe informações sobre o USN Journalvolatility -f <file> usnjrnl -o <offset>
: exibe informações sobre o USN Journal a partir de um determinado offsetvolatility -f <file> usnjrnl -U <usn_number>
: exibe informações sobre o USN Journal a partir de um determinado número USN
Análise de virtualização
volatility -f <file> vboxinfo
: exibe informações sobre as máquinas virtuais do VirtualBoxvolatility -f <file> vboxguestinfo -p <pid>
: exibe informações sobre o processo do Guest Additions do VirtualBoxvolatility -f <file> vmwareinfo
: exibe informações sobre as máquinas virtuais do VMwarevolatility -f <file> vmwarecheck
: verifica se a imagem de memória é de uma máquina virtual do VMwarevolatility -f <file> xeninfo
: exibe informações sobre as máquinas virtuais do Xenvolatility -f <file> xenpmap
: exibe informações sobre o mapeamento de memória do Xen
Análise de memória física
volatility -f <file> hibernateinfo
: exibe informações sobre o arquivo de hibernaçãovolatility -f <file> hiberfilscan
: procura por arquivos de hibernação na imagem de memóriavolatility -f <file> windowspcap
: exibe informações sobre os pacotes capturados pelo WinPcapvolatility -f <file> physmap
: exibe informações sobre o mapeamento de memória físicavolatility -f <file> memmap
: exibe informações sobre o mapeamento de memória virtual e física
Referências
- Volatility Cheat Sheet por 413x90
- Volatility Command Reference no GitHub do Volatility Foundation {% endtab %}
volatility --profile=PROFILE envars -f file.dmp [--pid <pid>] #Display process environment variables
volatility --profile=PROFILE -f file.dmp linux_psenv [-p <pid>] #Get env of process. runlevel var means the runlevel where the proc is initated
Privilégios de token
Verifique os tokens de privilégios em serviços inesperados.
Pode ser interessante listar os processos que usam algum token privilegiado.
#Get enabled privileges of some processes
python3 vol.py -f file.dmp windows.privileges.Privs [--pid <pid>]
#Get all processes with interesting privileges
python3 vol.py -f file.dmp windows.privileges.Privs | grep "SeImpersonatePrivilege\|SeAssignPrimaryPrivilege\|SeTcbPrivilege\|SeBackupPrivilege\|SeRestorePrivilege\|SeCreateTokenPrivilege\|SeLoadDriverPrivilege\|SeTakeOwnershipPrivilege\|SeDebugPrivilege"
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> psscan
: lista os processos em execução na imagem de memória (busca em todos os processos)volatility -f <file> pstree
: exibe a árvore de processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> handles -p <pid>
: lista os handles abertos por um processo específicovolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> connscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)volatility -f <file> hivelist
: lista os arquivos de registro na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registro específicavolatility -f <file> dumpregistry -D <output_directory> -K <key>
: extrai uma chave de registro específica para um diretório de saída
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: extrai o espaço de endereço virtual de um processo específico para um diretório de saídavolatility -f <file> procdump -p <pid> -D <output_directory>
: extrai o arquivo executável de um processo específico para um diretório de saídavolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso na memória de um processo específico e extrai-o para um diretório de saída
Análise de sistema de arquivos
volatility -f <file> hivelist
: lista os arquivos de registro na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registro específicavolatility -f <file> dumpregistry -D <output_directory> -K <key>
: extrai uma chave de registro específica para um diretório de saídavolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -D <output_directory> --name <filename>
: extrai um arquivo específico para um diretório de saída
Análise de rede
volatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> connscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)volatility -f <file> sockets
: lista os sockets abertos na imagem de memóriavolatility -f <file> sockscan
: lista os sockets abertos na imagem de memória (busca em todos os processos)
Plugins úteis
Malware
malfind
: procura por código malicioso na memória e extrai-o para um diretório de saídamalsysproc
: lista os processos suspeitos na imagem de memóriamalfind
: procura por código malicioso na memória e extrai-o para um diretório de saídaapihooks
: lista as funções do sistema que foram modificadas por um rootkitldrmodules
: lista os módulos carregados por um processo específicoldrmodules
: lista os módulos carregados por um processo específicoldrmodules
: lista os módulos carregados por um processo específico
Registro
hivelist
: lista os arquivos de registro na imagem de memóriaprintkey
: exibe o conteúdo de uma chave de registro específicadumpregistry
: extrai uma chave de registro específica para um diretório de saída
Processos
handles
: lista os handles abertos por um processo específicomemdump
: extrai o espaço de endereço virtual de um processo específico para um diretório de saídaprocdump
: extrai o arquivo executável de um processo específico para um diretório de saídadlllist
: lista as DLLs carregadas por um processo específico
Rede
netscan
: lista as conexões de rede na imagem de memóriaconnscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)sockets
: lista os sockets abertos na imagem de memóriasockscan
: lista os sockets abertos na imagem de memória (busca em todos os processos)
Outros
filescan
: lista os arquivos abertos na imagem de memóriapstree
: exibe a árvore de processos na imagem de memóriapslist
: lista os processos em execução na imagem de memóriapsscan
: lista os processos em execução na imagem de memória (busca em todos os processos)kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memória
Referências
- Volatility Cheat Sheet por superponible
- Volatility Command Reference por Volatility Foundation
#Get enabled privileges of some processes
volatility --profile=Win7SP1x86_23418 privs --pid=3152 -f file.dmp | grep Enabled
#Get all processes with interesting privileges
volatility --profile=Win7SP1x86_23418 privs -f file.dmp | grep "SeImpersonatePrivilege\|SeAssignPrimaryPrivilege\|SeTcbPrivilege\|SeBackupPrivilege\|SeRestorePrivilege\|SeCreateTokenPrivilege\|SeLoadDriverPrivilege\|SeTakeOwnershipPrivilege\|SeDebugPrivilege"
SIDs
Verifique cada SSID possuído por um processo.
Pode ser interessante listar os processos que usam um SID de privilégios (e os processos que usam algum SID de serviço).
./vol.py -f file.dmp windows.getsids.GetSIDs [--pid <pid>] #Get SIDs of processes
./vol.py -f file.dmp windows.getservicesids.GetServiceSIDs #Get the SID of services
{% endtab %}
{% tab title="volatility-cheatsheet" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> profileinfo
: exibe informações sobre o perfil da imagem de memóriavolatility -f <file> pslist
: exibe a lista de processos em execuçãovolatility -f <file> pstree
: exibe a árvore de processos em execuçãovolatility -f <file> psscan
: exibe a lista de processos em execução usando o scanner de processovolatility -f <file> dlllist -p <pid>
: exibe a lista de DLLs carregadas por um processovolatility -f <file> handles -p <pid>
: exibe a lista de handles abertos por um processovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> netscan
: exibe a lista de conexões de rede
Análise de processo
volatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de memória de um processovolatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo (mais rápido que o procdump)volatility -f <file> malfind -p <pid> -D <output_directory>
: procura por malwares na memória de um processovolatility -f <file> apihooks -p <pid>
: exibe a lista de ganchos de API instalados em um processovolatility -f <file> vadinfo -p <pid>
: exibe informações sobre as regiões de memória de um processovolatility -f <file> vadtree -p <pid>
: exibe a árvore de regiões de memória de um processovolatility -f <file> vadwalk -p <pid> -v <address>
: exibe informações sobre uma região de memória específica de um processo
Análise de sistema de arquivos
volatility -f <file> hivelist
: exibe a lista de arquivos de registro carregadosvolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registrovolatility -f <file> dumpregistry -D <output_directory>
: cria um dump do registro do sistemavolatility -f <file> filescan -S <offset> -E <offset>
: exibe a lista de arquivos abertos em um intervalo de endereços
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> connscan -s
: exibe a lista de conexões de rede com informações de socketvolatility -f <file> sockets
: exibe a lista de socketsvolatility -f <file> sockscan
: exibe a lista de sockets usando o scanner de socket
Plugins úteis
volatility -f <file> malfind
: procura por malwares na memóriavolatility -f <file> apihooks
: exibe a lista de ganchos de API instaladosvolatility -f <file> svcscan
: exibe a lista de serviços em execuçãovolatility -f <file> getsids
: exibe a lista de SIDs de segurançavolatility -f <file> printkey
: exibe o conteúdo de uma chave de registrovolatility -f <file> dumpregistry
: cria um dump do registro do sistemavolatility -f <file> hivelist
: exibe a lista de arquivos de registro carregadosvolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> netscan
: exibe a lista de conexões de redevolatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> sockets
: exibe a lista de sockets
Referências
- https://github.com/volatilityfoundation/volatility/wiki/Command-Reference
- https://github.com/volatilityfoundation/volatility/wiki/Plugins
volatility --profile=Win7SP1x86_23418 getsids -f file.dmp #Get the SID owned by each process
volatility --profile=Win7SP1x86_23418 getservicesids -f file.dmp #Get the SID of each service
Handles
Útil para saber a quais outros arquivos, chaves, threads, processos... um processo tem um handle (aberto).
vol.py -f file.dmp windows.handles.Handles [--pid <pid>]
{% endtab %}
{% tab title="volatility-cheatsheet" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> profileinfo
: exibe informações sobre o perfil da imagem de memóriavolatility -f <file> pslist
: exibe a lista de processos em execuçãovolatility -f <file> pstree
: exibe a árvore de processos em execuçãovolatility -f <file> psscan
: exibe a lista de processos em execução usando o scanner de processovolatility -f <file> dlllist -p <pid>
: exibe a lista de DLLs carregadas por um processovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> netscan
: exibe a lista de conexões de redevolatility -f <file> connections
: exibe a lista de conexões de rede usando o pluginconnections
volatility -f <file> connscan
: exibe a lista de conexões de rede usando o scanner de conexãovolatility -f <file> cmdline -p <pid>
: exibe a linha de comando usada para iniciar um processovolatility -f <file> consoles
: exibe a lista de consoles interativosvolatility -f <file> getsids
: exibe a lista de SIDs de segurançavolatility -f <file> hivelist
: exibe a lista de chaves do registro do Windowsvolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro do Windowsvolatility -f <file> dumpregistry -D <dir> -S <key>
: extrai uma subárvore do registro do Windows para um diretório
Análise de processo
volatility -f <file> procdump -p <pid> -D <dir>
: cria um dump de memória de um processovolatility -f <file> memdump -p <pid> -D <dir>
: cria um dump de memória de um processo usando o pluginmemdump
volatility -f <file> memmap -p <pid>
: exibe o mapeamento de memória de um processovolatility -f <file> memdump -p <pid> -D <dir> --dump-dir <dir>
: cria um dump de memória de um processo em um diretório específicovolatility -f <file> memdump -p <pid> -D <dir> --dump-dir <dir> --name <name>
: cria um dump de memória de um processo com um nome específico
Análise de driver
volatility -f <file> modules
: exibe a lista de módulos do kernelvolatility -f <file> moddump -n <name> -D <dir>
: cria um dump de memória de um módulo do kernelvolatility -f <file> moddump -n <name> -D <dir> --dump-dir <dir>
: cria um dump de memória de um módulo do kernel em um diretório específicovolatility -f <file> moddump -n <name> -D <dir> --dump-dir <dir> --name <name>
: cria um dump de memória de um módulo do kernel com um nome específico
Análise de sistema de arquivos
volatility -f <file> mftparser
: exibe a lista de entradas do MFTvolatility -f <file> mftparser -o <offset>
: exibe a entrada do MFT em um determinado deslocamentovolatility -f <file> filescan -S <offset>
: exibe informações sobre um arquivo em um determinado deslocamentovolatility -f <file> dumpfiles -Q <offset> -D <dir>
: extrai um arquivo em um determinado deslocamento para um diretório
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> connscan -p <pid>
: exibe a lista de conexões de rede de um processovolatility -f <file> connscan -s <src_ip>
: exibe a lista de conexões de rede de um endereço IP de origemvolatility -f <file> connscan -d <dst_ip>
: exibe a lista de conexões de rede de um endereço IP de destinovolatility -f <file> connscan -p <pid> -s <src_ip> -d <dst_ip>
: exibe a lista de conexões de rede de um processo com um endereço IP de origem e destino específicos
Plugins adicionais
Análise de processo
volatility -f <file> procdumpex -p <pid> -D <dir>
: cria um dump de memória de um processo, incluindo as regiões de memória desprotegidasvolatility -f <file> memdump -p <pid> -D <dir> --dump-dir <dir> --dump-privs
: cria um dump de memória de um processo, incluindo as chaves de registro e tokens de segurançavolatility -f <file> memdump -p <pid> -D <dir> --dump-dir <dir> --dump-privs --dump-dir-privs
: cria um dump de memória de um processo, incluindo as chaves de registro e tokens de segurança, e extrai os arquivos de diretórios protegidos
Análise de driver
volatility -f <file> moddump -n <name> -D <dir> --dump-dir <dir> --dump-driver
: cria um dump de memória de um módulo do kernel, incluindo o arquivo do driver
Análise de sistema de arquivos
volatility -f <file> filescan -F
: exibe informações sobre arquivos excluídosvolatility -f <file> dumpfiles -Q <offset> -D <dir> --dump-dir <dir> --dump-unallocated
: extrai um arquivo em um determinado deslocamento, incluindo o espaço não alocado
Análise de rede
volatility -f <file> netscan -R <ip_range>
: exibe a lista de conexões de rede em um intervalo de endereços IPvolatility -f <file> netscan -r <ip_range>
: exibe a lista de conexões de rede em um intervalo de endereços IP, incluindo conexões fechadas
Referências
- Volatility Cheat Sheet por James Habben
- The Art of Memory Forensics por Michael Hale Ligh, Andrew Case, Jamie Levy e Aaron Walters
- Volatility Labs por Volatility Foundation {% endtab %}
volatility --profile=Win7SP1x86_23418 -f file.dmp handles [--pid=<pid>]
DLLs
{% tabs %} {% tab title="vol3" %} As DLLs são bibliotecas de vínculo dinâmico que contêm código e dados que podem ser usados por mais de um programa ao mesmo tempo. Eles são carregados na memória quando um programa que os usa é iniciado e permanecem lá até que o programa seja encerrado. DLLs podem ser usados para compartilhar código comum entre programas, reduzindo o tamanho do executável e melhorando a eficiência do sistema. No entanto, eles também podem ser usados para fins maliciosos, como injetar código em um processo em execução ou roubar informações confidenciais. O Volatility pode ser usado para analisar DLLs carregados na memória e identificar quais processos estão usando-os. {% endtab %} {% endtabs %}
./vol.py -f file.dmp windows.dlllist.DllList [--pid <pid>] #List dlls used by each
./vol.py -f file.dmp windows.dumpfiles.DumpFiles --pid <pid> #Dump the .exe and dlls of the process in the current directory process
{% endtab %}
{% tab title="volatility-cheatsheet" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> psscan
: lista os processos em execução na imagem de memória (busca em todos os processos)volatility -f <file> pstree
: exibe a árvore de processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> connections
: lista as conexões de rede na imagem de memória (versão mais recente do Volatility)volatility -f <file> connscan
: lista as conexões de rede na imagem de memória (versão mais antiga do Volatility)volatility -f <file> hivelist
: lista as chaves do registro presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro na imagem de memóriavolatility -f <file> hashdump -y <syskey> -s <system> -a <security>
: extrai hashes de senha da imagem de memória
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo específicovolatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de processo de um processo específicovolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso na memória de um processo específicovolatility -f <file> apihooks -p <pid>
: lista as funções do sistema que foram modificadas por um processo específicovolatility -f <file> vadinfo -p <pid>
: exibe informações sobre as regiões de memória alocadas por um processo específicovolatility -f <file> vadtree -p <pid>
: exibe a árvore de regiões de memória alocadas por um processo específicovolatility -f <file> vadwalk -p <pid> -s <start_address>
: exibe a árvore de regiões de memória alocadas por um processo específico, começando em um endereço específicovolatility -f <file> handles -p <pid>
: lista os handles abertos por um processo específicovolatility -f <file> mutantscan -p <pid>
: lista os objetos de mutex criados por um processo específicovolatility -f <file> thrdscan -p <pid>
: lista as threads criadas por um processo específicovolatility -f <file> callbacks -p <pid>
: lista os callbacks registrados por um processo específicovolatility -f <file> deskscan -p <pid>
: lista as janelas criadas por um processo específico
Plugins adicionais
Análise de malware
volatility -f <file> yarascan -Y <yara_rule_file>
: procura por padrões de YARA na imagem de memóriavolatility -f <file> malfind
: procura por código malicioso na imagem de memóriavolatility -f <file> malfind --dump-dir <output_directory>
: procura por código malicioso na imagem de memória e cria dumps dos arquivos encontradosvolatility -f <file> malfind --dump-dir <output_directory> --disassemble
: procura por código malicioso na imagem de memória, cria dumps dos arquivos encontrados e desmonta o código
Análise de rede
volatility -f <file> connscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> sockets
: lista os sockets na imagem de memóriavolatility -f <file> sockscan
: lista os sockets na imagem de memória
Análise de registro
volatility -f <file> hivelist
: lista as chaves do registro presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro na imagem de memóriavolatility -f <file> printkey -K <key> --output-file <output_file>
: exibe o conteúdo de uma chave do registro na imagem de memória e salva em um arquivovolatility -f <file> userassist
: lista as entradas do UserAssist na imagem de memóriavolatility -f <file> shellbags
: lista as entradas do ShellBags na imagem de memória
Análise de sistema de arquivos
volatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -Q <file_offset>
: extrai um arquivo da imagem de memóriavolatility -f <file> dumpfiles -Q <file_offset> --dump-dir <output_directory>
: extrai um arquivo da imagem de memória e salva em um diretóriovolatility -f <file> dumpfiles -Q <file_offset> --dump-dir <output_directory> --name <file_name>
: extrai um arquivo da imagem de memória, salva em um diretório e renomeia o arquivovolatility -f <file> timeliner
: lista as atividades do sistema de arquivos na imagem de memóriavolatility -f <file> timeliner --output-file <output_file>
: lista as atividades do sistema de arquivos na imagem de memória e salva em um arquivo
Análise de virtualização
volatility -f <file> vboxinfo
: exibe informações sobre as máquinas virtuais do VirtualBox presentes na imagem de memóriavolatility -f <file> vboxguestinfo -p <pid>
: exibe informações sobre o processo do VBoxGuest presente na imagem de memóriavolatility -f <file> vboxsf
: lista os diretórios compartilhados do VirtualBox presentes na imagem de memória
Análise de Android
volatility -f <file> androidinfo
: exibe informações sobre o dispositivo Android presente na imagem de memóriavolatility -f <file> androiddump -n <name> -D <output_directory>
: cria um dump de memória de um processo específico do Androidvolatility -f <file> androiddump --all -D <output_directory>
: cria dumps de memória de todos os processos do Android presentes na imagem de memória
Referências
- Volatility Cheat Sheet por James Habben
- Volatility Command Reference no GitHub do Volatility Foundation {% endtab %}
volatility --profile=Win7SP1x86_23418 dlllist --pid=3152 -f file.dmp #Get dlls of a proc
volatility --profile=Win7SP1x86_23418 dlldump --pid=3152 --dump-dir=. -f file.dmp #Dump dlls of a proc
Strings por processos
O Volatility permite verificar a qual processo uma string pertence.
{% tabs %} {% tab title="vol3" %}
strings file.dmp > /tmp/strings.txt
./vol.py -f /tmp/file.dmp windows.strings.Strings --strings-file /tmp/strings.txt
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> pstree
: exibe uma árvore de processos em execução na imagem de memóriavolatility -f <file> psscan
: procura por processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> connscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> hivelist
: lista as chaves do registro presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro na imagem de memóriavolatility -f <file> hashdump -y <offset>
: extrai hashes de senha da imagem de memória
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo específicovolatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de processo de um processo específicovolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso na memória de um processo específicovolatility -f <file> apihooks -p <pid>
: exibe informações sobre os ganchos de API em um processo específicovolatility -f <file> vadinfo -p <pid>
: exibe informações sobre as regiões de memória virtuais de um processo específicovolatility -f <file> vadtree -p <pid>
: exibe uma árvore das regiões de memória virtuais de um processo específicovolatility -f <file> handles -p <pid>
: lista os identificadores de objeto abertos por um processo específicovolatility -f <file> cmdscan -p <pid>
: procura por comandos executados por um processo específicovolatility -f <file> consoles -p <pid>
: exibe informações sobre as janelas do console de um processo específicovolatility -f <file> getsids -p <pid>
: exibe informações sobre os SIDs (identificadores de segurança) associados a um processo específico
Plugins adicionais
Análise de malware
volatility -f <file> yarascan -Y <rule_file>
: procura por padrões de YARA na imagem de memóriavolatility -f <file> malfind
: procura por código malicioso na imagem de memóriavolatility -f <file> malfind --dump-dir <output_directory>
: cria dumps de memória de regiões suspeitas encontradas pelomalfind
volatility -f <file> malfind --dump-dir <output_directory> --disassemble
: cria dumps de memória e desmonta o código de regiões suspeitas encontradas pelomalfind
volatility -f <file> malfind --dump-dir <output_directory> --disassemble --no-follow-jumps
: cria dumps de memória e desmonta o código de regiões suspeitas encontradas pelomalfind
, sem seguir saltos
Análise de rede
volatility -f <file> connscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connscan --ip
: procura por conexões de rede na imagem de memória e exibe os endereços IPvolatility -f <file> connscan --ip --output-file <output_file>
: procura por conexões de rede na imagem de memória, exibe os endereços IP e salva a saída em um arquivovolatility -f <file> connscan --ip --output-file <output_file> --output-format csv
: procura por conexões de rede na imagem de memória, exibe os endereços IP, salva a saída em um arquivo e usa o formato CSV
Análise de registro
volatility -f <file> hivelist
: lista as chaves do registro presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro na imagem de memóriavolatility -f <file> printkey -K <key> --output-file <output_file>
: exibe o conteúdo de uma chave do registro na imagem de memória e salva a saída em um arquivovolatility -f <file> printkey -K <key> --output-file <output_file> --output-format csv
: exibe o conteúdo de uma chave do registro na imagem de memória, salva a saída em um arquivo e usa o formato CSV
Análise de sistema de arquivos
volatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> filescan --name <file_name>
: procura por arquivos com um nome específico na imagem de memóriavolatility -f <file> filescan --output-file <output_file>
: procura por arquivos abertos na imagem de memória e salva a saída em um arquivovolatility -f <file> filescan --output-file <output_file> --output-format csv
: procura por arquivos abertos na imagem de memória, salva a saída em um arquivo e usa o formato CSV
Análise de memória virtual
volatility -f <file> vadinfo
: exibe informações sobre as regiões de memória virtuais presentes na imagem de memóriavolatility -f <file> vadinfo --output-file <output_file>
: exibe informações sobre as regiões de memória virtuais presentes na imagem de memória e salva a saída em um arquivovolatility -f <file> vadinfo --output-file <output_file> --output-format csv
: exibe informações sobre as regiões de memória virtuais presentes na imagem de memória, salva a saída em um arquivo e usa o formato CSV
Referências
- Volatility Cheat Sheet por James Habben
- Volatility Command Reference no GitHub do Volatility Foundation {% endtab %}
strings file.dmp > /tmp/strings.txt
volatility -f /tmp/file.dmp windows.strings.Strings --string-file /tmp/strings.txt
volatility -f /tmp/file.dmp --profile=Win81U1x64 memdump -p 3532 --dump-dir .
strings 3532.dmp > strings_file
{% endtab %} {% tab title="volatility" %} Também permite pesquisar por strings dentro de um processo usando o módulo yarascan:
{% tabs %} {% tab title="vol3" %}
./vol.py -f file.dmp windows.vadyarascan.VadYaraScan --yara-rules "https://" --pid 3692 3840 3976 3312 3084 2784
./vol.py -f file.dmp yarascan.YaraScan --yara-rules "https://"
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> pstree
: exibe uma árvore de processos em execução na imagem de memóriavolatility -f <file> psscan
: procura por processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> handles -p <pid>
: lista os identificadores de objeto abertos por um processo específicovolatility -f <file> filescan
: procura por arquivos na imagem de memóriavolatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> consoles
: lista as janelas de console abertas na imagem de memóriavolatility -f <file> hivelist
: lista as chaves do registro presentes na imagem de memóriavolatility -f <file> printkey -o <offset>
: exibe o conteúdo de uma chave do registro em um determinado deslocamentovolatility -f <file> dumpregistry -o <offset> -D <output_directory>
: extrai uma chave do registro em um determinado deslocamento para um diretório de saídavolatility -f <file> malfind
: procura por processos suspeitos na imagem de memóriavolatility -f <file> apihooks
: exibe informações sobre os ganchos de API na imagem de memóriavolatility -f <file> mutantscan
: procura por objetos de mutante na imagem de memóriavolatility -f <file> svcscan
: lista os serviços em execução na imagem de memóriavolatility -f <file> driverirp
: exibe informações sobre as solicitações de E/S (IRPs) de driver na imagem de memóriavolatility -f <file> modscan
: lista os módulos carregados na imagem de memóriavolatility -f <file> moddump -n <name> -D <output_directory>
: extrai um módulo específico para um diretório de saídavolatility -f <file> envars -p <pid>
: lista as variáveis de ambiente de um processo específicovolatility -f <file> cmdline -p <pid>
: exibe a linha de comando usada para iniciar um processo específicovolatility -f <file> consoles -p <pid>
: exibe informações sobre as janelas de console associadas a um processo específicovolatility -f <file> getsids
: lista os SIDs (identificadores de segurança) presentes na imagem de memóriavolatility -f <file> getsid -o <offset>
: exibe informações sobre um SID em um determinado deslocamentovolatility -f <file> dumpfiles -Q <string> -D <output_directory>
: extrai arquivos que contenham uma determinada string para um diretório de saídavolatility -f <file> dumpfiles -S <start_address> -E <end_address> -D <output_directory>
: extrai arquivos que estejam dentro de um determinado intervalo de endereços para um diretório de saída
Análise de processo
volatility -f <file> procdump -p <pid> -D <output_directory>
: extrai o espaço de endereço de um processo específico para um diretório de saídavolatility -f <file> memdump -p <pid> -D <output_directory>
: extrai o conteúdo da memória de um processo específico para um diretório de saídavolatility -f <file> memmap -p <pid>
: exibe informações sobre o espaço de endereço de um processo específicovolatility -f <file> vadinfo -p <pid>
: exibe informações sobre as regiões de memória alocadas para um processo específicovolatility -f <file> vadtree -p <pid>
: exibe uma árvore de regiões de memória alocadas para um processo específicovolatility -f <file> vadwalk -p <pid> -s <start_address>
: exibe informações sobre a região de memória que contém um determinado endereço em um processo específicovolatility -f <file> memdump -p <pid> -D <output_directory> --dump-dir <dump_directory>
: extrai o conteúdo da memória de um processo específico para um diretório de saída, com arquivos separados para cada região de memória
Análise de sistema de arquivos
volatility -f <file> hivelist
: lista as chaves do registro presentes na imagem de memóriavolatility -f <file> printkey -o <offset>
: exibe o conteúdo de uma chave do registro em um determinado deslocamentovolatility -f <file> dumpregistry -o <offset> -D <output_directory>
: extrai uma chave do registro em um determinado deslocamento para um diretório de saídavolatility -f <file> filescan
: procura por arquivos na imagem de memóriavolatility -f <file> dumpfiles -Q <string> -D <output_directory>
: extrai arquivos que contenham uma determinada string para um diretório de saídavolatility -f <file> dumpfiles -S <start_address> -E <end_address> -D <output_directory>
: extrai arquivos que estejam dentro de um determinado intervalo de endereços para um diretório de saída
Análise de rede
volatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memória
Plugins adicionais
Dump de senhas
volatility -f <file> mimikatz
: extrai senhas da memória usando o plugin Mimikatzvolatility -f <file> mimikatz_command -m <module> <command>
: executa um comando do Mimikatz em um determinado módulo
Análise de malware
volatility -f <file> malfind
: procura por processos suspeitos na imagem de memóriavolatility -f <file> malprocfind
: procura por processos suspeitos na imagem de memória usando técnicas de detecção de malwarevolatility -f <file> malfilter -D <output_directory>
: filtra processos suspeitos e extrai o conteúdo da memória para um diretório de saídavolatility -f <file> malfilter -p <pid> -D <output_directory>
: filtra um processo suspeito e extrai o conteúdo da memória para um diretório de saída
Análise de rootkit
volatility -f <file> ldrmodules
: lista os módulos carregados na imagem de memória, incluindo os ocultos por rootkitsvolatility -f <file> ldrmodules -p <pid>
: lista os módulos carregados por um processo específico, incluindo os ocultos por rootkitsvolatility -f <file> apihooks
: exibe informações sobre os ganchos de API na imagem de memória, incluindo os instalados por rootkitsvolatility -f <file> svcscan
: lista os serviços em execução na imagem de memória, incluindo os ocultos por rootkitsvolatility -f <file> driverirp
: exibe informações sobre as solicitações de E/S (IRPs) de driver na imagem de memória, incluindo as manipuladas por rootkits
Análise de virtualização
volatility -f <file> vboxinfo
: exibe informações sobre as máquinas virtuais do VirtualBox presentes na imagem de memóriavolatility -f <file> vboxguestinfo -p <pid>
: exibe informações sobre o processo do Guest Additions do VirtualBox em um processo específicovolatility -f <file> vboxsf
: lista os compartilhamentos de pasta do VirtualBox presentes na imagem de memóriavolatility -f <file> vmwareinfo
: exibe informações sobre as máquinas virtuais do VMware presentes na imagem de memóriavolatility -f <file> vmwarecheck
: verifica se a imagem de memória é de uma máquina virtual do VMwarevolatility -f <file> vmwareregistry
: exibe informações sobre o registro do VMware presente na imagem de memória
Análise de sistema de arquivos
volatility -f <file> filescan
: procura por arquivos na imagem de memóriavolatility -f <file> dumpfiles -Q <string> -D <output_directory>
: extrai arquivos que contenham uma determinada string para um diretório de saídavolatility -f <file> dumpfiles -S <start_address> -E <end_address> -D <output_directory>
: extrai arquivos que estejam dentro de um determinado intervalo de endereços para um diretório de saídavolatility -f <file> mftparser
: exibe informações sobre o Master File Table (MFT) do NTFSvolatility -f <file> usnjrnl
: exibe informações sobre o journal de alterações do NTFSvolatility -f <file> shimcache
: exibe informações sobre o cache de compatibilidade do Windowsvolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro específicavolatility -f <file> dumpregistry -K <key> -D <output_directory>
: extrai uma chave do registro específica para um diretório de saída
Análise de memória física
volatility -f <file> hibernateinfo
: exibe informações sobre o arquivo de hibernação do Windowsvolatility -f <file> hiberfilscan
: procura por arquivos de hibernação na imagem de memóriavolatility -f <file> windowspcap
: extrai pacotes de rede capturados pelo WinPcapvolatility -f <file> raw2dmp -i <input_file> -o <output_file>
: converte um arquivo de memória bruta em um arquivo de despejo de memória (DMP) do Windows
Referências
volatility --profile=Win7SP1x86_23418 yarascan -Y "https://" -p 3692,3840,3976,3312,3084,2784
UserAssist
Os sistemas Windows mantêm um conjunto de chaves no banco de dados do registro (chaves UserAssist) para acompanhar os programas que são executados. O número de execuções e a data e hora da última execução estão disponíveis nessas chaves.
./vol.py -f file.dmp windows.registry.userassist.UserAssist
{% endtab %}
{% tab title="volatility-cheatsheet" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> profileinfo
: exibe informações sobre o perfil da imagem de memóriavolatility -f <file> pslist
: exibe a lista de processos em execuçãovolatility -f <file> pstree
: exibe a árvore de processos em execuçãovolatility -f <file> psscan
: exibe a lista de processos em execução usando o scanner de processovolatility -f <file> dlllist -p <pid>
: exibe a lista de DLLs carregadas por um processovolatility -f <file> handles -p <pid>
: exibe a lista de handles abertos por um processovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> netscan
: exibe a lista de conexões de rede
Análise de processo
volatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de memória de um processovolatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo (alternativa ao procdump)volatility -f <file> cmdline -p <pid>
: exibe a linha de comando usada para iniciar um processovolatility -f <file> consoles -p <pid>
: exibe a lista de consoles usados por um processovolatility -f <file> getsids -p <pid>
: exibe a lista de SIDs associados a um processovolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso em um processovolatility -f <file> apihooks -p <pid>
: exibe a lista de ganchos de API instalados em um processovolatility -f <file> envars -p <pid>
: exibe a lista de variáveis de ambiente usadas por um processo
Análise de sistema de arquivos
volatility -f <file> hivelist
: exibe a lista de arquivos de registro carregadosvolatility -f <file> printkey -o <offset>
: exibe o conteúdo de uma chave de registrovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> dumpfiles -Q <path>
: extrai arquivos do sistema de arquivos
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> sockets
: exibe a lista de sockets abertos
Plugins adicionais
Análise de malware
volatility -f <file> malfind
: procura por código malicioso em todos os processosvolatility -f <file> malprocfind
: procura por processos maliciososvolatility -f <file> maldriverscan
: procura por drivers maliciososvolatility -f <file> apihooks
: exibe a lista de ganchos de API instalados em todos os processos
Análise de memória física
volatility -f <file> pagedump -o <offset> -D <output_directory>
: cria um dump de uma página físicavolatility -f <file> physmap
: exibe o mapeamento de páginas físicas
Análise de virtualização
volatility -f <file> vboxinfo
: exibe informações sobre máquinas virtuais VirtualBoxvolatility -f <file> vboxguestinfo -p <pid>
: exibe informações sobre o processo do Guest Additions do VirtualBoxvolatility -f <file> vmwareinfo
: exibe informações sobre máquinas virtuais VMwarevolatility -f <file> vmwarecheck
: verifica se a imagem de memória é de uma máquina virtual VMware
Análise de sistema de arquivos
volatility -f <file> lsmod
: exibe a lista de módulos do kernel carregadosvolatility -f <file> moddump -n <name> -D <output_directory>
: cria um dump de um módulo do kernelvolatility -f <file> modscan
: exibe a lista de módulos do kernel carregadosvolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registrovolatility -f <file> printkey -K <key> -o <offset>
: exibe o conteúdo de uma chave de registro em um arquivo de registro específico
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> sockets
: exibe a lista de sockets abertosvolatility -f <file> sockscan
: exibe a lista de sockets abertos usando o scanner de socket
Referências
- Volatility Cheat Sheet por James Habben
- Volatility Command Reference no wiki do Volatility Foundation {% endtab %}
volatility --profile=Win7SP1x86_23418 -f file.dmp userassist
{% endtab %} {% tab title="Português" %} {% endtab %} {% endtabs %}
RootedCON é o evento de cibersegurança mais relevante na Espanha e um dos mais importantes na Europa. Com a missão de promover o conhecimento técnico, este congresso é um ponto de encontro fervilhante para profissionais de tecnologia e cibersegurança em todas as disciplinas.
{% embed url="https://www.rootedcon.com/" %}
Serviços
./vol.py -f file.dmp windows.svcscan.SvcScan #List services
./vol.py -f file.dmp windows.getservicesids.GetServiceSIDs #Get the SID of services
{% endtab %}
{% tab title="volatility-cheatsheet" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> profileinfo
: exibe informações sobre o perfil da imagem de memóriavolatility -f <file> pslist
: exibe a lista de processos em execuçãovolatility -f <file> pstree
: exibe a árvore de processos em execuçãovolatility -f <file> psscan
: exibe a lista de processos em execução usando o scanner de processovolatility -f <file> dlllist -p <pid>
: exibe a lista de DLLs carregadas por um processovolatility -f <file> handles -p <pid>
: exibe a lista de handles abertos por um processovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> netscan
: exibe a lista de conexões de rede
Análise de processo
volatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de memória de um processovolatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo (alternativa ao procdump)volatility -f <file> cmdline -p <pid>
: exibe a linha de comando usada para iniciar um processovolatility -f <file> consoles -p <pid>
: exibe a lista de consoles usados por um processovolatility -f <file> getsids -p <pid>
: exibe a lista de SIDs associados a um processovolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso em um processovolatility -f <file> apihooks -p <pid>
: exibe a lista de ganchos de API instalados em um processovolatility -f <file> envars -p <pid>
: exibe a lista de variáveis de ambiente usadas por um processo
Análise de sistema de arquivos
volatility -f <file> hivelist
: exibe a lista de arquivos de registro carregadosvolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registrovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> dumpfiles -Q <address_range> -D <output_directory>
: extrai arquivos da memória
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> sockets
: exibe a lista de sockets abertos
Plugins adicionais
Análise de malware
volatility -f <file> malfind
: procura por código malicioso na imagem de memóriavolatility -f <file> malprocfind
: procura por processos maliciosos na imagem de memóriavolatility -f <file> maldriverscan
: procura por drivers maliciosos na imagem de memóriavolatility -f <file> malfind
: procura por código malicioso na imagem de memória
Análise de sistema de arquivos
volatility -f <file> timeliner
: exibe uma linha do tempo dos arquivos acessadosvolatility -f <file> shellbags
: exibe a lista de pastas abertas recentementevolatility -f <file> usnparser
: exibe a lista de entradas do USN Journal
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> sockets
: exibe a lista de sockets abertosvolatility -f <file> connscan -s
: exibe a lista de conexões de rede ordenadas por tamanho de pacote
Análise de memória
volatility -f <file> memmap
: exibe o mapa de memóriavolatility -f <file> memdump
: cria um dump de memória da imagem de memóriavolatility -f <file> memstrings
: procura por strings na imagem de memóriavolatility -f <file> memdiff
: compara dois dumps de memória
Análise de processo
volatility -f <file> procdump
: cria um dump de memória de um processovolatility -f <file> memdump
: cria um dump de memória de um processo (alternativa ao procdump)volatility -f <file> vadinfo -p <pid>
: exibe informações sobre as regiões de memória de um processovolatility -f <file> vadtree -p <pid>
: exibe a árvore de regiões de memória de um processovolatility -f <file> vadwalk -p <pid> -r <vaddr>
: exibe informações sobre uma região de memória específica de um processovolatility -f <file> dlldump -p <pid> -b <base_address> -D <output_directory>
: cria um dump de uma DLL carregada por um processovolatility -f <file> handles -p <pid>
: exibe a lista de handles abertos por um processovolatility -f <file> deskscan
: exibe a lista de janelas abertasvolatility -f <file> deskview -D <output_directory>
: cria uma captura de tela da área de trabalho
Análise de registro
volatility -f <file> hivelist
: exibe a lista de arquivos de registro carregadosvolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registrovolatility -f <file> printkey -K <key> -o <output_format>
: exibe o conteúdo de uma chave de registro em um formato específico (ex: csv, json)volatility -f <file> hashdump -y <system_hive> -s <sam_hive> -o <output_file>
: extrai hashes de senha do SAM e do SYSTEM hives
Análise de virtualização
volatility -f <file> vboxinfo
: exibe informações sobre as máquinas virtuais do VirtualBoxvolatility -f <file> vboxguestinfo -p <pid>
: exibe informações sobre o processo do VBoxGuestvolatility -f <file> vboxsf
: exibe informações sobre os compartilhamentos do VirtualBoxvolatility -f <file> vboxsfinfo -p <pid>
: exibe informações sobre o processo do VBoxSF
Análise de criptografia
volatility -f <file> truecryptpassphrase
: exibe a senha usada para montar um volume TrueCryptvolatility -f <file> bitlockerrecovery
: exibe a chave de recuperação do BitLocker
Análise de sistema operacional
volatility -f <file> svcscan
: exibe a lista de serviços em execuçãovolatility -f <file> driverirp
: exibe a lista de IRPs (I/O Request Packets) de driversvolatility -f <file> printd
: exibe a lista de impressoras instaladasvolatility -f <file> printd -u
: exibe a lista de trabalhos de impressãovolatility -f <file> printd -j <job_id>
: exibe informações sobre um trabalho de impressão específicovolatility -f <file> printd -s <printer_name>
: exibe informações sobre uma impressora específica
Análise de memória de kernel
volatility -f <file> kdbgscan
: exibe a lista de depuradores do kernelvolatility -f <file> kpcrscan
: exibe a lista de KPCRs (Kernel Process Control Region)volatility -f <file> kprocess
: exibe informações sobre um processo do kernelvolatility -f <file> kthread
: exibe informações sobre uma thread do kernelvolatility -f <file> modscan
: exibe a lista de módulos do kernelvolatility -f <file> moddump -b <base_address> -D <output_directory>
: cria um dump de um módulo do kernelvolatility -f <file> ssdt
: exibe a lista de funções do SSDT (System Service Descriptor Table)volatility -f <file> idt
: exibe a lista de entradas da IDT (Interrupt Descriptor Table)volatility -f <file> gdt
: exibe a lista de entradas da GDT (Global Descriptor Table)volatility -f <file> ldrmodules
: exibe a lista de módulos carregados pelo LDR (Loader)volatility -f <file> ldrmodules -p <pid>
: exibe a lista de módulos carregados por um processo específicovolatility -f <file> ldrmodules -s
: exibe a lista de módulos ordenados por tamanho
Análise de memória física
volatility -f <file> hibernateinfo
: exibe informações sobre o arquivo de hibernaçãovolatility -f <file> hiberfilscan
: exibe a lista de processos encontrados no arquivo de hibernaçãovolatility -f <file> hibinfo
: exibe informações sobre o arquivo de hibernaçãovolatility -f <file> memdump
: cria um dump de memória da imagem de memóriavolatility -f <file> memdump --dump-dir <output_directory> --physical
: cria um dump de memória físicavolatility -f <file> memdump --dump-dir <output_directory> --profile <profile> --physical-offset <offset>
: cria um dump de memória física com um perfil e um offset específicos
Referências
- Volatility Cheat Sheet por James Habben
- Volatility Command Reference no GitHub
- Volatility Documentation no GitHub {% endtab %}
#Get services and binary path
volatility --profile=Win7SP1x86_23418 svcscan -f file.dmp
#Get name of the services and SID (slow)
volatility --profile=Win7SP1x86_23418 getservicesids -f file.dmp
Rede
{% tabs %} {% tab title="vol3" %}
./vol.py -f file.dmp windows.netscan.NetScan
#For network info of linux use volatility2
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> pstree
: exibe a árvore de processos na imagem de memóriavolatility -f <file> psscan
: procura por processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> netscan
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memória (alternativa para o comandonetscan
)volatility -f <file> connscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> hivelist
: lista as chaves do registro do Windows presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro do Windows na imagem de memóriavolatility -f <file> hashdump -y <offset>
: extrai hashes de senha do SAM (Security Account Manager) na imagem de memória
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória para um processo específicovolatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de memória para um processo específico (alternativa para o comandomemdump
)volatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso injetado em um processo específicovolatility -f <file> apihooks -p <pid>
: exibe informações sobre os hooks de API em um processo específicovolatility -f <file> cmdscan -p <pid>
: procura por comandos executados em um processo específicovolatility -f <file> consoles -p <pid>
: exibe informações sobre as janelas de console em um processo específicovolatility -f <file> getsids -p <pid>
: exibe informações sobre os SIDs (Security Identifiers) associados a um processo específicovolatility -f <file> handles -p <pid>
: exibe informações sobre os handles abertos por um processo específicovolatility -f <file> privs -p <pid>
: exibe informações sobre os privilégios de um processo específicovolatility -f <file> psxview
: exibe informações sobre os processos ocultos na imagem de memória
Plugins adicionais
Análise de malware
volatility -f <file> yarascan -Y <rule_file>
: procura por padrões de malware usando regras YARAvolatility -f <file> malfind
: procura por código malicioso injetado em processosvolatility -f <file> malprocfind
: procura por processos maliciosos na imagem de memóriavolatility -f <file> malfind
: procura por arquivos maliciosos na imagem de memória
Análise de rede
volatility -f <file> connscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> netscan
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> sockets
: exibe informações sobre os sockets na imagem de memória
Análise de registro
volatility -f <file> hivelist
: lista as chaves do registro do Windows presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro do Windows na imagem de memóriavolatility -f <file> userassist
: exibe informações sobre os programas executados pelo usuário na imagem de memóriavolatility -f <file> shellbags
: exibe informações sobre as pastas abertas pelo usuário na imagem de memória
Análise de sistema de arquivos
volatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -Q <address>
: extrai um arquivo da imagem de memóriavolatility -f <file> dumpfiles -Q <address> -D <output_directory>
: extrai um arquivo da imagem de memória para um diretório específicovolatility -f <file> mftparser
: exibe informações sobre o Master File Table (MFT) do sistema de arquivos NTFSvolatility -f <file> usnjrnl
: exibe informações sobre o journal de alterações do sistema de arquivos NTFS
Análise de virtualização
volatility -f <file> vboxinfo
: exibe informações sobre as máquinas virtuais do VirtualBox presentes na imagem de memóriavolatility -f <file> vboxguestinfo -p <pid>
: exibe informações sobre o processo do Guest Additions do VirtualBox em um processo específicovolatility -f <file> vmwareinfo
: exibe informações sobre as máquinas virtuais do VMware presentes na imagem de memóriavolatility -f <file> vmwarecheck
: verifica se a imagem de memória é de uma máquina virtual do VMware
Análise de memória física
volatility -f <file> hibernateinfo
: exibe informações sobre o arquivo de hibernação presente na imagem de memóriavolatility -f <file> hiberfilscan
: procura por arquivos de hibernação na imagem de memóriavolatility -f <file> windowspcap
: exibe informações sobre os pacotes capturados pelo driver WinPcap na imagem de memória
Referências
volatility --profile=Win7SP1x86_23418 netscan -f file.dmp
volatility --profile=Win7SP1x86_23418 connections -f file.dmp#XP and 2003 only
volatility --profile=Win7SP1x86_23418 connscan -f file.dmp#TCP connections
volatility --profile=Win7SP1x86_23418 sockscan -f file.dmp#Open sockets
volatility --profile=Win7SP1x86_23418 sockets -f file.dmp#Scanner for tcp socket objects
volatility --profile=SomeLinux -f file.dmp linux_ifconfig
volatility --profile=SomeLinux -f file.dmp linux_netstat
volatility --profile=SomeLinux -f file.dmp linux_netfilter
volatility --profile=SomeLinux -f file.dmp linux_arp #ARP table
volatility --profile=SomeLinux -f file.dmp linux_list_raw #Processes using promiscuous raw sockets (comm between processes)
volatility --profile=SomeLinux -f file.dmp linux_route_cache
Registro do hive
Imprimir hives disponíveis
{% tabs %} {% tab title="vol3" %}
./vol.py -f file.dmp windows.registry.hivelist.HiveList #List roots
./vol.py -f file.dmp windows.registry.printkey.PrintKey #List roots and get initial subkeys
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> pstree
: exibe uma árvore de processos em execução na imagem de memóriavolatility -f <file> psscan
: procura por processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> handles -p <pid>
: lista os identificadores de objeto abertos por um processo específicovolatility -f <file> filescan
: procura por arquivos na imagem de memóriavolatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> consoles
: exibe informações sobre as janelas do console na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro do Windows na imagem de memóriavolatility -f <file> hivelist
: lista as chaves do registro do Windows na imagem de memória
Análise de processo
volatility -f <file> procdump -p <pid> -D <output_directory>
: cria um despejo de memória para um processo específicovolatility -f <file> memdump -p <pid> -D <output_directory>
: cria um despejo de memória para um processo específico (alternativa aoprocdump
)volatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso em um processo específicovolatility -f <file> apihooks -p <pid>
: exibe informações sobre os ganchos de API em um processo específicovolatility -f <file> cmdscan -p <pid>
: procura por comandos executados em um processo específicovolatility -f <file> consoles -p <pid>
: exibe informações sobre as janelas do console em um processo específicovolatility -f <file> filescan -p <pid>
: procura por arquivos abertos por um processo específicovolatility -f <file> handles -p <pid>
: lista os identificadores de objeto abertos por um processo específicovolatility -f <file> privs -p <pid>
: lista os privilégios de um processo específicovolatility -f <file> psxview
: exibe informações sobre os processos ocultos na imagem de memória
Análise de sistema de arquivos
volatility -f <file> hivelist
: lista as chaves do registro do Windows na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro do Windows na imagem de memóriavolatility -f <file> filescan
: procura por arquivos na imagem de memóriavolatility -f <file> dumpfiles -Q <address_range> -D <output_directory>
: extrai arquivos da imagem de memóriavolatility -f <file> timeliner -f <image> -o <output_directory>
: cria uma linha do tempo dos arquivos modificados na imagem de memória
Análise de rede
volatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> connscan
: procura por conexões de rede na imagem de memória (alternativa aonetscan
)volatility -f <file> sockscan
: procura por sockets na imagem de memória
Plugins adicionais
Análise de malware
volatility -f <file> malfind
: procura por código malicioso na imagem de memóriavolatility -f <file> malprocfind
: procura por processos maliciosos na imagem de memóriavolatility -f <file> maldriverscan
: procura por drivers maliciosos na imagem de memóriavolatility -f <file> apihooks
: exibe informações sobre os ganchos de API na imagem de memóriavolatility -f <file> svcscan
: lista os serviços do Windows na imagem de memóriavolatility -f <file> svcscan -t
: lista os serviços do Windows na imagem de memória (incluindo os serviços ocultos)volatility -f <file> ldrmodules
: lista os módulos carregados na imagem de memóriavolatility -f <file> ldrmodules -p <pid>
: lista os módulos carregados por um processo específicovolatility -f <file> modscan
: procura por módulos na imagem de memóriavolatility -f <file> moddump -n <name> -D <output_directory>
: cria um despejo de memória para um módulo específicovolatility -f <file> moddump -m <base_address> -D <output_directory>
: cria um despejo de memória para um módulo específicovolatility -f <file> idt
: exibe informações sobre a tabela de interrupção do descritor na imagem de memóriavolatility -f <file> gdt
: exibe informações sobre a tabela de descritor global na imagem de memóriavolatility -f <file> ssdt
: exibe informações sobre a tabela de descritor de serviço do sistema na imagem de memóriavolatility -f <file> callbacks
: exibe informações sobre os callbacks do kernel na imagem de memóriavolatility -f <file> driverirp
: exibe informações sobre as solicitações de E/S do driver na imagem de memóriavolatility -f <file> devicetree
: exibe informações sobre a árvore de dispositivos na imagem de memóriavolatility -f <file> devicetree -t <type>
: exibe informações sobre a árvore de dispositivos de um tipo específico na imagem de memóriavolatility -f <file> handles
: lista os identificadores de objeto abertos na imagem de memóriavolatility -f <file> handles -t <type>
: lista os identificadores de objeto abertos de um tipo específico na imagem de memóriavolatility -f <file> privs
: lista os privilégios na imagem de memóriavolatility -f <file> privs -p <pid>
: lista os privilégios de um processo específico na imagem de memóriavolatility -f <file> envars
: lista as variáveis de ambiente na imagem de memóriavolatility -f <file> envars -p <pid>
: lista as variáveis de ambiente de um processo específico na imagem de memóriavolatility -f <file> deskscan
: lista as janelas do desktop na imagem de memóriavolatility -f <file> deskscan -p <pid>
: lista as janelas do desktop de um processo específico na imagem de memóriavolatility -f <file> atomscan
: lista os átomos na imagem de memóriavolatility -f <file> atomscan -p <pid>
: lista os átomos de um processo específico na imagem de memóriavolatility -f <file> wndscan
: lista as janelas na imagem de memóriavolatility -f <file> wndscan -p <pid>
: lista as janelas de um processo específico na imagem de memória
Análise de sistema de arquivos
volatility -f <file> filescan
: procura por arquivos na imagem de memóriavolatility -f <file> dumpfiles -Q <address_range> -D <output_directory>
: extrai arquivos da imagem de memóriavolatility -f <file> timeliner -f <image> -o <output_directory>
: cria uma linha do tempo dos arquivos modificados na imagem de memóriavolatility -f <file> shimcache
: exibe informações sobre o cache de compatibilidade do aplicativo na imagem de memóriavolatility -f <file> usnjrnl
: exibe informações sobre o diário de alterações do NTFS na imagem de memóriavolatility -f <file> usnjrnl -J <path>
: extrai o diário de alterações do NTFS da imagem de memóriavolatility -f <file> mftparser
: exibe informações sobre a tabela de arquivos mestre (MFT) na imagem de memóriavolatility -f <file> mftparser -o <output_directory>
: extrai a tabela de arquivos mestre (MFT) da imagem de memóriavolatility -f <file> mftparser -u <inode>
: extrai um arquivo específico da tabela de arquivos mestre (MFT) na imagem de memóriavolatility -f <file> mftparser --output-file=<output_file> -u <inode>
: extrai um arquivo específico da tabela de arquivos mestre (MFT) na imagem de memória e salva em um arquivovolatility -f <file> shimcache
: exibe informações sobre o cache de compatibilidade do aplicativo na imagem de memória
Análise de rede
volatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> connscan
: procura por conexões de rede na imagem de memória (alternativa aonetscan
)volatility -f <file> sockscan
: procura por sockets na imagem de memóriavolatility -f <file> sockscan -p <pid>
: procura por sockets em um processo específico na imagem de memóriavolatility -f <file> sockscan -P <port>
: procura por sockets em uma porta específica na imagem de memóriavolatility -f <file> sockscan -a
: exibe informações sobre todos os sockets na imagem de memória
Referências
volatility --profile=Win7SP1x86_23418 -f file.dmp hivelist #List roots
volatility --profile=Win7SP1x86_23418 -f file.dmp printkey #List roots and get initial subkeys
Obter um valor
{% tabs %}
{% tab title="vol3" %}
Para obter um valor específico de um processo, você pode usar o comando vol3 memdump -p <pid> --dump-dir <dir>
. Em seguida, você pode usar o comando vol3 printkey -K <key> -o <output_file> <dump_file>
para imprimir o valor da chave especificada em um arquivo de saída. Por exemplo, para obter o valor da chave ImageFile
do processo com PID 1234, você pode executar os seguintes comandos:
vol3 memdump -p 1234 --dump-dir /tmp/
vol3 printkey -K "ControlSet001\Services\MyService" -o /tmp/output.txt /tmp/memdump.1234
Isso imprimirá o valor da chave ImageFile
do serviço MyService
em um arquivo de saída em /tmp/output.txt
.
{% endtab %}
{% endtabs %}
./vol.py -f file.dmp windows.registry.printkey.PrintKey --key "Software\Microsoft\Windows NT\CurrentVersion"
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> pstree
: exibe uma árvore de processos em execução na imagem de memóriavolatility -f <file> psscan
: procura por processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> connscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> hivelist
: lista as chaves do registro presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro na imagem de memóriavolatility -f <file> hashdump -y <offset>
: extrai hashes de senha da imagem de memória
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo específicovolatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de processo de um processo específicovolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por malwares na memória de um processo específicovolatility -f <file> apihooks -p <pid>
: exibe informações sobre os hooks de API em um processo específicovolatility -f <file> vadinfo -p <pid>
: exibe informações sobre as regiões de memória virtuais de um processo específicovolatility -f <file> vadtree -p <pid>
: exibe uma árvore das regiões de memória virtuais de um processo específicovolatility -f <file> vadwalk -p <pid> -v <start_address>
: exibe informações sobre a região de memória virtual que contém um endereço específico em um processo específicovolatility -f <file> handles -p <pid>
: exibe informações sobre os handles abertos por um processo específicovolatility -f <file> mutantscan -p <pid>
: procura por objetos de mutex em um processo específicovolatility -f <file> thrdscan -p <pid>
: exibe informações sobre as threads em um processo específicovolatility -f <file> callbacks -p <pid>
: exibe informações sobre os callbacks registrados por um processo específicovolatility -f <file> deskscan -p <pid>
: exibe informações sobre as janelas de desktop em um processo específicovolatility -f <file> getsids -p <pid>
: exibe informações sobre os SIDs associados a um processo específico
Plugins adicionais
Análise de malware
volatility -f <file> malfind
: procura por malwares na imagem de memóriavolatility -f <file> malprocfind
: procura por processos maliciosos na imagem de memóriavolatility -f <file> maldriverscan
: procura por drivers maliciosos na imagem de memóriavolatility -f <file> apihooks
: exibe informações sobre os hooks de API na imagem de memóriavolatility -f <file> svcscan
: exibe informações sobre os serviços na imagem de memóriavolatility -f <file> svcscan -v
: exibe informações detalhadas sobre os serviços na imagem de memóriavolatility -f <file> ldrmodules
: exibe informações sobre os módulos carregados na imagem de memóriavolatility -f <file> ldrmodules -v
: exibe informações detalhadas sobre os módulos carregados na imagem de memóriavolatility -f <file> modscan
: procura por módulos na imagem de memóriavolatility -f <file> moddump -n <name> -D <output_directory>
: cria um dump de um módulo específico na imagem de memóriavolatility -f <file> moddump -p <pid> -D <output_directory>
: cria um dump de todos os módulos carregados por um processo específico na imagem de memóriavolatility -f <file> moddump -D <output_directory>
: cria um dump de todos os módulos carregados na imagem de memóriavolatility -f <file> iehistory
: exibe o histórico de navegação do Internet Explorer na imagem de memóriavolatility -f <file> chromehistory
: exibe o histórico de navegação do Google Chrome na imagem de memóriavolatility -f <file> firefoxhistory
: exibe o histórico de navegação do Mozilla Firefox na imagem de memória
Análise de rede
volatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connscan -s
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> sockets
: exibe informações sobre os sockets na imagem de memóriavolatility -f <file> sockscan
: procura por sockets na imagem de memóriavolatility -f <file> sockscan -p <pid>
: procura por sockets abertos por um processo específico na imagem de memóriavolatility -f <file> tcpvconnections
: exibe informações sobre as conexões TCP na imagem de memóriavolatility -f <file> connscan -p <pid>
: exibe informações sobre as conexões de rede abertas por um processo específico na imagem de memória
Análise de registro
volatility -f <file> hivelist
: lista as chaves do registro presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro na imagem de memóriavolatility -f <file> printkey -K <key> -o <offset>
: exibe o conteúdo de uma chave do registro em um determinado deslocamento na imagem de memóriavolatility -f <file> userassist
: exibe informações sobre os programas executados pelo usuário na imagem de memóriavolatility -f <file> userassist -o
: exibe informações detalhadas sobre os programas executados pelo usuário na imagem de memóriavolatility -f <file> shellbags
: exibe informações sobre as pastas abertas recentemente na imagem de memóriavolatility -f <file> shellbags -o
: exibe informações detalhadas sobre as pastas abertas recentemente na imagem de memóriavolatility -f <file> shimcache
: exibe informações sobre os programas executados recentemente na imagem de memóriavolatility -f <file> shimcache -o
: exibe informações detalhadas sobre os programas executados recentemente na imagem de memória
Análise de virtualização
volatility -f <file> vboxinfo
: exibe informações sobre as máquinas virtuais do VirtualBox na imagem de memóriavolatility -f <file> vboxguestinfo -p <pid>
: exibe informações sobre o processo do Guest Additions do VirtualBox em um processo específico na imagem de memóriavolatility -f <file> vboxsf
: exibe informações sobre os compartilhamentos de pasta do VirtualBox na imagem de memóriavolatility -f <file> vmwareinfo
: exibe informações sobre as máquinas virtuais do VMware na imagem de memóriavolatility -f <file> vmwarecheck
: verifica se a imagem de memória é de uma máquina virtual do VMwarevolatility -f <file> vmwareregistry
: exibe informações sobre o registro da máquina virtual do VMware na imagem de memóriavolatility -f <file> xeninfo
: exibe informações sobre as máquinas virtuais do Xen na imagem de memóriavolatility -f <file> xenstore
: exibe informações sobre o XenStore na imagem de memória
Análise de sistema de arquivos
volatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> filescan -S <string>
: procura por arquivos abertos que contenham uma determinada string no nome na imagem de memóriavolatility -f <file> filescan -F <regex>
: procura por arquivos abertos que correspondam a uma determinada expressão regular no nome na imagem de memóriavolatility -f <file> dumpfiles -Q <address>
: cria um dump de um arquivo específico na imagem de memóriavolatility -f <file> dumpfiles -Q <address> -D <output_directory>
: cria um dump de um arquivo específico na imagem de memória em um diretório de saída específicovolatility -f <file> dumpfiles -r <range> -D <output_directory>
: cria dumps de todos os arquivos na imagem de memória dentro de um determinado intervalo de endereços em um diretório de saída específicovolatility -f <file> dumpfiles -S <string> -D <output_directory>
: cria dumps de todos os arquivos na imagem de memória que contenham uma determinada string no nome em um diretório de saída específicovolatility -f <file> dumpfiles -F <regex> -D <output_directory>
: cria dumps de todos os arquivos na imagem de memória que correspondam a uma determinada expressão regular no nome em um diretório de saída específico
Análise de banco de dados
volatility -f <file> sqlite3
: exibe informações sobre bancos de dados SQLite na imagem de memóriavolatility -f <file> sqlite3 -d <database>
: exibe informações sobre uma tabela específica em um banco de dados SQLite na imagem de memóriavolatility -f <file> sqlite3 -d <database> -t <table>
: exibe o conteúdo de uma tabela específica em um banco de dados SQLite na imagem de memória
Referências
volatility --profile=Win7SP1x86_23418 printkey -K "Software\Microsoft\Windows NT\CurrentVersion" -f file.dmp
# Get Run binaries registry value
volatility -f file.dmp --profile=Win7SP1x86 printkey -o 0x9670e9d0 -K 'Software\Microsoft\Windows\CurrentVersion\Run'
Despejo
Um dump é uma cópia do conteúdo da memória de um sistema em um determinado momento. Essa cópia pode ser usada para análise forense e investigação de incidentes de segurança. Existem várias ferramentas que podem ser usadas para criar dumps de memória, como o Volatility, o DumpIt e o FTK Imager.
Volatility
O Volatility é uma ferramenta de análise de memória que pode ser usada para extrair informações valiosas de dumps de memória. Ele suporta vários sistemas operacionais, incluindo Windows, Linux e macOS. O Volatility pode ser usado para extrair informações como processos em execução, conexões de rede, arquivos abertos e chaves de registro.
Análise de Dump
A análise de dump é o processo de examinar um dump de memória em busca de informações relevantes. Isso pode incluir a identificação de processos maliciosos em execução, a identificação de arquivos maliciosos carregados na memória e a identificação de conexões de rede suspeitas. A análise de dump pode ser realizada manualmente ou com o uso de ferramentas automatizadas, como o Volatility.
#Dump a hive
volatility --profile=Win7SP1x86_23418 hivedump -o 0x9aad6148 -f file.dmp #Offset extracted by hivelist
#Dump all hives
volatility --profile=Win7SP1x86_23418 hivedump -f file.dmp
Sistema de arquivos
Montagem
{% tabs %} {% tab title="vol3" %}
#See vol2
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> psscan
: lista os processos em execução na imagem de memória (busca em todos os processos)volatility -f <file> pstree
: exibe a árvore de processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> handles -p <pid>
: lista os handles abertos por um processo específicovolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> connections
: lista as conexões de rede na imagem de memória (versão mais recente do Volatility)volatility -f <file> connscan
: lista as conexões de rede na imagem de memória (versão mais antiga do Volatility)volatility -f <file> hivelist
: lista as chaves do registro presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro na imagem de memóriavolatility -f <file> malfind
: procura por malwares na imagem de memóriavolatility -f <file> yarascan -Y <rule_file>
: procura por padrões específicos usando o Yara na imagem de memória
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo específicovolatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de processo de um processo específicovolatility -f <file> cmdline -p <pid>
: exibe a linha de comando usada para iniciar um processo específicovolatility -f <file> consoles -p <pid>
: exibe as janelas de console associadas a um processo específicovolatility -f <file> getsids -p <pid>
: exibe os SIDs associados a um processo específicovolatility -f <file> envars -p <pid>
: exibe as variáveis de ambiente de um processo específicovolatility -f <file> vadinfo -p <pid>
: exibe informações sobre as regiões de memória virtuais de um processo específicovolatility -f <file> vadtree -p <pid>
: exibe a árvore de regiões de memória virtuais de um processo específicovolatility -f <file> vadwalk -p <pid> -r <vaddr>
: exibe informações sobre uma região de memória virtual específica de um processo específicovolatility -f <file> memmap
: exibe as regiões de memória mapeadas na imagem de memóriavolatility -f <file> memdump -p <pid> -r <vaddr> -D <output_directory>
: cria um dump de memória de uma região de memória virtual específica de um processo específico
Análise de driver
volatility -f <file> driverscan
: lista os drivers carregados na imagem de memóriavolatility -f <file> modules
: lista os módulos carregados na imagem de memóriavolatility -f <file> modscan
: lista os módulos carregados na imagem de memória (busca em todos os processos)volatility -f <file> moddump -n <module_name> -D <output_directory>
: cria um dump de um módulo específico
Análise de sistema de arquivos
volatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -Q <file_path_regex> -D <output_directory>
: cria dumps de arquivos correspondentes a um padrão de caminho específicovolatility -f <file> dumpregistry -D <output_directory>
: cria dumps de todas as chaves do registro presentes na imagem de memória
Análise de rede
volatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> connscan
: lista as conexões de rede na imagem de memória (versão mais antiga do Volatility)volatility -f <file> connections
: lista as conexões de rede na imagem de memória (versão mais recente do Volatility)
Plugins adicionais
Malware
volatility -f <file> malfind
: procura por malwares na imagem de memóriavolatility -f <file> malfind -Y <rule_file>
: procura por malwares na imagem de memória usando regras Yaravolatility -f <file> malfind -D <output_directory>
: cria dumps de arquivos maliciosos encontrados na imagem de memóriavolatility -f <file> malfind -D <output_directory> -p <pid>
: cria dumps de arquivos maliciosos encontrados na memória de um processo específico
Rootkits
volatility -f <file> ldrmodules
: lista os módulos carregados na imagem de memória (incluindo os ocultos por rootkits)volatility -f <file> ldrmodules -p <pid>
: lista os módulos carregados na memória de um processo específico (incluindo os ocultos por rootkits)volatility -f <file> apihooks
: lista as funções do sistema que foram modificadas por rootkitsvolatility -f <file> svcscan
: lista os serviços do sistema (incluindo os ocultos por rootkits)volatility -f <file> driverirp
: lista as IRPs (I/O Request Packets) manipuladas por drivers (incluindo as manipuladas por rootkits)
Análise de memória física
volatility -f <file> hibernateinfo
: exibe informações sobre o arquivo de hibernaçãovolatility -f <file> hiberfilscan
: lista os processos presentes no arquivo de hibernaçãovolatility -f <file> hibinfo
: exibe informações sobre o arquivo de hibernação (versão mais recente do Volatility)volatility -f <file> hiblist
: lista os processos presentes no arquivo de hibernação (versão mais recente do Volatility)volatility -f <file> windows.hivelist
: lista as chaves do registro presentes no arquivo de hibernaçãovolatility -f <file> printkey -H <hiber_file_path> -K <key>
: exibe o conteúdo de uma chave do registro presente no arquivo de hibernaçãovolatility -f <file> memdump
: cria um dump de memória físicavolatility -f <file> memdump --offset=<offset> --length=<length>
: cria um dump de memória física a partir de um offset e com um comprimento específicos
Análise de memória virtual
volatility -f <file> vaddump -p <pid> -D <output_directory>
: cria um dump de memória virtual de um processo específicovolatility -f <file> vaddump -p <pid> -r <vaddr> -D <output_directory>
: cria um dump de uma região de memória virtual específica de um processo específicovolatility -f <file> vaddump --base=<base_address> --size=<size> -D <output_directory>
: cria um dump de uma região de memória virtual específica da imagem de memória
Análise de sistema de arquivos
volatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -Q <file_path_regex> -D <output_directory>
: cria dumps de arquivos correspondentes a um padrão de caminho específicovolatility -f <file> dumpregistry -D <output_directory>
: cria dumps de todas as chaves do registro presentes na imagem de memória
Análise de rede
volatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> connscan
: lista as conexões de rede na imagem de memória (versão mais antiga do Volatility)volatility -f <file> connections
: lista as conexões de rede na imagem de memória (versão mais recente do Volatility)
Referências
- Volatility Cheat Sheet por James Habben
- Volatility Command Reference no GitHub do Volatility Foundation
- The Art of Memory Forensics por Michael Hale Ligh, Andrew Case, Jamie Levy e Aaron Walters
volatility --profile=SomeLinux -f file.dmp linux_mount
volatility --profile=SomeLinux -f file.dmp linux_recover_filesystem #Dump the entire filesystem (if possible)
Escaneamento/despejo
{% tabs %} {% tab title="vol3" %}
Escaneamento de processos em execução
volatility -f <dumpfile> --profile=<profile> pslist
- Lista todos os processos em execução.volatility -f <dumpfile> --profile=<profile> psscan
- Escaneia a memória em busca de processos em execução.volatility -f <dumpfile> --profile=<profile> pstree
- Mostra a árvore de processos em execução.volatility -f <dumpfile> --profile=<profile> psxview
- Mostra informações adicionais sobre os processos em execução.
Escaneamento de DLLs
volatility -f <dumpfile> --profile=<profile> dlllist
- Lista todas as DLLs carregadas.volatility -f <dumpfile> --profile=<profile> dlldump -D <dump_directory> -p <pid>
- Faz o despejo de uma DLL específica.
Escaneamento de sockets
volatility -f <dumpfile> --profile=<profile> netscan
- Lista todos os sockets abertos.volatility -f <dumpfile> --profile=<profile> sockets
- Lista informações detalhadas sobre os sockets abertos.
Escaneamento de arquivos
volatility -f <dumpfile> --profile=<profile> filescan
- Escaneia a memória em busca de arquivos abertos.volatility -f <dumpfile> --profile=<profile> dumpfiles -D <dump_directory> -Q <file_offset>
- Faz o despejo de um arquivo específico.
Escaneamento de registros
volatility -f <dumpfile> --profile=<profile> hivelist
- Lista todos os registros do sistema.volatility -f <dumpfile> --profile=<profile> printkey -K <registry_key>
- Mostra o conteúdo de uma chave de registro específica.volatility -f <dumpfile> --profile=<profile> dumpregistry -D <dump_directory> -K <registry_key>
- Faz o despejo de uma chave de registro específica.
Escaneamento de usuários
volatility -f <dumpfile> --profile=<profile> getsids
- Lista todos os SIDs (Security Identifiers) encontrados na memória.volatility -f <dumpfile> --profile=<profile> getsid -U <user>
- Mostra o SID de um usuário específico.volatility -f <dumpfile> --profile=<profile> getsid -S <sid>
- Mostra informações sobre um SID específico.volatility -f <dumpfile> --profile=<profile> envars
- Lista todas as variáveis de ambiente encontradas na memória.volatility -f <dumpfile> --profile=<profile> printkey -K "ControlSet001\Control\Terminal Server\WinStations\RDP-Tcp"
- Mostra as informações de configuração do RDP. {% endtab %} {% endtabs %}
./vol.py -f file.dmp windows.filescan.FileScan #Scan for files inside the dump
./vol.py -f file.dmp windows.dumpfiles.DumpFiles --physaddr <0xAAAAA> #Offset from previous command
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> pstree
: exibe uma árvore de processos em execução na imagem de memóriavolatility -f <file> psscan
: procura por processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> handles -p <pid>
: lista os identificadores de objeto abertos por um processo específicovolatility -f <file> filescan
: procura por arquivos na imagem de memóriavolatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> consoles
: exibe informações sobre as janelas do console na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro do Windows na imagem de memóriavolatility -f <file> hivelist
: lista as chaves do registro do Windows na imagem de memória
Análise de processo
volatility -f <file> procdump -p <pid> -D <output_directory>
: cria um despejo de memória para um processo específicovolatility -f <file> memdump -p <pid> -D <output_directory>
: cria um despejo de memória para um processo específico (alternativa aoprocdump
)volatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso na memória de um processo específicovolatility -f <file> apihooks -p <pid>
: exibe informações sobre os ganchos de API em um processo específicovolatility -f <file> vadinfo -p <pid>
: exibe informações sobre as regiões de memória virtuais de um processo específicovolatility -f <file> vadtree -p <pid>
: exibe uma árvore das regiões de memória virtuais de um processo específicovolatility -f <file> vadwalk -p <pid> -r <vaddr>
: exibe informações sobre uma região de memória virtual específica em um processo específicovolatility -f <file> memmap
: exibe informações sobre as regiões de memória físicas e virtuais na imagem de memória
Análise de sistema de arquivos
volatility -f <file> hivelist
: lista as chaves do registro do Windows na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro do Windows na imagem de memóriavolatility -f <file> filescan
: procura por arquivos na imagem de memóriavolatility -f <file> dumpfiles -Q <address>
: extrai um arquivo da imagem de memóriavolatility -f <file> dumpfiles -Q <address> -D <output_directory>
: extrai um arquivo da imagem de memória para um diretório específicovolatility -f <file> mftparser
: analisa a tabela de arquivos mestre (MFT) do sistema de arquivos NTFSvolatility -f <file> usnjrnl
: exibe informações sobre o diário de alterações do sistema de arquivos NTFS
Análise de rede
volatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connscan
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> sockets
: exibe informações sobre os sockets de rede na imagem de memória
Plugins adicionais
Malware
volatility -f <file> malfind
: procura por código malicioso na imagem de memóriavolatility -f <file> malprocfind
: procura por processos maliciosos na imagem de memóriavolatility -f <file> maldriverscan
: procura por drivers maliciosos na imagem de memóriavolatility -f <file> apihooks
: exibe informações sobre os ganchos de API na imagem de memória
Sistema de arquivos
volatility -f <file> mftparser
: analisa a tabela de arquivos mestre (MFT) do sistema de arquivos NTFSvolatility -f <file> usnjrnl
: exibe informações sobre o diário de alterações do sistema de arquivos NTFSvolatility -f <file> shimcache
: exibe informações sobre o cache de compatibilidade do aplicativo do Windows
Registro do Windows
volatility -f <file> hivelist
: lista as chaves do registro do Windows na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro do Windows na imagem de memóriavolatility -f <file> userassist
: exibe informações sobre os programas executados pelo usuário na imagem de memóriavolatility -f <file> shellbags
: exibe informações sobre as pastas abertas recentemente na imagem de memória
Processos
volatility -f <file> procdump
: cria um despejo de memória para um processo específicovolatility -f <file> memdump
: cria um despejo de memória para um processo específico (alternativa aoprocdump
)volatility -f <file> malfind -p <pid>
: procura por código malicioso na memória de um processo específicovolatility -f <file> apihooks -p <pid>
: exibe informações sobre os ganchos de API em um processo específicovolatility -f <file> vadinfo -p <pid>
: exibe informações sobre as regiões de memória virtuais de um processo específicovolatility -f <file> vadtree -p <pid>
: exibe uma árvore das regiões de memória virtuais de um processo específicovolatility -f <file> vadwalk -p <pid> -r <vaddr>
: exibe informações sobre uma região de memória virtual específica em um processo específico
Rede
volatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connscan
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> sockets
: exibe informações sobre os sockets de rede na imagem de memória
Referências
- Volatility Cheat Sheet por James Habben
- The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory por Michael Hale Ligh, Andrew Case, Jamie Levy e Aaron Walters
volatility --profile=Win7SP1x86_23418 filescan -f file.dmp #Scan for files inside the dump
volatility --profile=Win7SP1x86_23418 dumpfiles -n --dump-dir=/tmp -f file.dmp #Dump all files
volatility --profile=Win7SP1x86_23418 dumpfiles -n --dump-dir=/tmp -Q 0x000000007dcaa620 -f file.dmp
volatility --profile=SomeLinux -f file.dmp linux_enumerate_files
volatility --profile=SomeLinux -f file.dmp linux_find_file -F /path/to/file
volatility --profile=SomeLinux -f file.dmp linux_find_file -i 0xINODENUMBER -O /path/to/dump/file
Tabela de Arquivos Mestre
{% tabs %} {% tab title="vol3" %}
# I couldn't find any plugin to extract this information in volatility3
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> pstree
: exibe uma árvore de processos em execução na imagem de memóriavolatility -f <file> psscan
: procura por processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> connscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> hivelist
: lista as chaves do registro presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro na imagem de memóriavolatility -f <file> hashdump -y <offset>
: extrai hashes de senha da imagem de memória
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo específicovolatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de processo de um processo específicovolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso na memória de um processo específicovolatility -f <file> apihooks -p <pid>
: exibe informações sobre os hooks de API em um processo específicovolatility -f <file> vadinfo -p <pid>
: exibe informações sobre as regiões de memória virtuais de um processo específicovolatility -f <file> vadtree -p <pid>
: exibe uma árvore das regiões de memória virtuais de um processo específicovolatility -f <file> vadwalk -p <pid> -v <start_address>
: exibe informações sobre a região de memória virtual que contém um endereço específico em um processo específicovolatility -f <file> handles -p <pid>
: exibe informações sobre os handles abertos por um processo específicovolatility -f <file> mutantscan -p <pid>
: procura por objetos de mutex na memória de um processo específicovolatility -f <file> thrdscan -p <pid>
: procura por threads na memória de um processo específicovolatility -f <file> callbacks -p <pid>
: exibe informações sobre os callbacks registrados por um processo específicovolatility -f <file> deskscan -p <pid>
: procura por objetos de desktop na memória de um processo específicovolatility -f <file> getsids -p <pid>
: exibe informações sobre os SIDs associados a um processo específicovolatility -f <file> envars -p <pid>
: exibe as variáveis de ambiente definidas para um processo específicovolatility -f <file> modscan -p <pid>
: procura por módulos carregados na memória de um processo específicovolatility -f <file> moddump -p <pid> -D <output_directory>
: cria um dump de um módulo específico em um processo específico
Plugins adicionais
Análise de malware
volatility -f <file> yarascan -Y <rule_file>
: procura por padrões de YARA na imagem de memóriavolatility -f <file> malfind
: procura por código malicioso na imagem de memóriavolatility -f <file> malprocfind
: procura por processos maliciosos na imagem de memóriavolatility -f <file> malfind
: procura por código malicioso na imagem de memória
Análise de rede
volatility -f <file> connscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> sockets
: exibe informações sobre os sockets na imagem de memóriavolatility -f <file> sockscan
: procura por sockets na imagem de memória
Análise de registro
volatility -f <file> hivelist
: lista as chaves do registro presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro na imagem de memóriavolatility -f <file> userassist
: exibe informações sobre as entradas do UserAssist na imagem de memóriavolatility -f <file> shellbags
: exibe informações sobre as entradas do ShellBags na imagem de memória
Análise de sistema de arquivos
volatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -Q <file_path> -D <output_directory>
: extrai um arquivo específico da imagem de memóriavolatility -f <file> dumpfiles -Q <file_path> -D <output_directory> --dump-dir <output_directory>
: extrai um arquivo específico da imagem de memória e salva em um diretório específicovolatility -f <file> mftparser
: exibe informações sobre o Master File Table (MFT) na imagem de memóriavolatility -f <file> usnjrnl
: exibe informações sobre o USN Journal na imagem de memória
Análise de virtualização
volatility -f <file> vboxinfo
: exibe informações sobre as máquinas virtuais do VirtualBox na imagem de memóriavolatility -f <file> vboxguestinfo -p <pid>
: exibe informações sobre o processo do Guest Additions do VirtualBox em um processo específicovolatility -f <file> vmwareinfo
: exibe informações sobre as máquinas virtuais do VMware na imagem de memóriavolatility -f <file> vmwarecheck
: verifica se a imagem de memória é de uma máquina virtual do VMwarevolatility -f <file> vmitracer -p <pid>
: exibe informações sobre as operações de E/S realizadas por um processo específico em uma máquina virtual
Análise de criptografia
volatility -f <file> truecryptpassphrase
: exibe senhas do TrueCrypt presentes na imagem de memóriavolatility -f <file> bitlockerrecovery
: exibe informações sobre chaves de recuperação do BitLocker presentes na imagem de memória
Análise de memória física
volatility -f <file> hibernateinfo
: exibe informações sobre o arquivo de hibernação usado para criar a imagem de memóriavolatility -f <file> windowspagefileinfo
: exibe informações sobre o arquivo de paginação usado para criar a imagem de memóriavolatility -f <file> memmap
: exibe informações sobre o mapa de memória física da imagem de memóriavolatility -f <file> crashinfo
: exibe informações sobre um arquivo de despejo de memória criado após uma falha do sistema
Referências
volatility --profile=Win7SP1x86_23418 mftparser -f file.dmp
{% endtab %} {% tab title="volatility" %} O sistema de arquivos NTFS contém um arquivo chamado master file table, ou MFT. Existe pelo menos uma entrada no MFT para cada arquivo em um volume do sistema de arquivos NTFS, incluindo o próprio MFT. Todas as informações sobre um arquivo, incluindo seu tamanho, carimbos de data e hora, permissões e conteúdo de dados, são armazenadas em entradas MFT ou em espaço fora do MFT que é descrito por entradas MFT. De aqui.
Chaves/Certificados SSL
#vol3 allows to search for certificates inside the registry
./vol.py -f file.dmp windows.registry.certificates.Certificates
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> pstree
: exibe a árvore de processos na imagem de memóriavolatility -f <file> psscan
: procura por processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> netscan
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memória (alternativa para o comandonetscan
)volatility -f <file> connscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> hivelist
: lista as chaves do registro do Windows presentes na imagem de memóriavolatility -f <file> printkey -o <offset>
: exibe o conteúdo de uma chave do registro do Windows em um determinado deslocamentovolatility -f <file> hashdump -y <offset>
: extrai as hashes de senha do SAM (Security Account Manager) do registro do Windows em um determinado deslocamentovolatility -f <file> malfind
: procura por processos suspeitos na imagem de memóriavolatility -f <file> apihooks
: exibe informações sobre os ganchos de API na imagem de memóriavolatility -f <file> getsids
: exibe informações sobre os SIDs (Security Identifiers) presentes na imagem de memóriavolatility -f <file> getservicesids
: exibe informações sobre os SIDs (Security Identifiers) associados aos serviços presentes na imagem de memóriavolatility -f <file> envars -p <pid>
: exibe as variáveis de ambiente de um processo específicovolatility -f <file> consoles
: exibe informações sobre as janelas do console na imagem de memóriavolatility -f <file> consoles -p <pid>
: exibe informações sobre a janela do console de um processo específico
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump da memória de um processo específicovolatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump do processo e de sua memória virtualvolatility -f <file> vadinfo -p <pid>
: exibe informações sobre as regiões de memória virtuais de um processo específicovolatility -f <file> vadtree -p <pid>
: exibe a árvore de regiões de memória virtuais de um processo específicovolatility -f <file> vadwalk -p <pid> -s <start_address>
: exibe a árvore de regiões de memória virtuais de um processo específico a partir de um determinado endereçovolatility -f <file> memmap -p <pid>
: exibe informações sobre as regiões de memória físicas de um processo específicovolatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump da memória de um processo específicovolatility -f <file> memdump -p <pid> -r <range_start>..<range_end> -D <output_directory>
: cria um dump da memória de um processo específico em um determinado intervalo de endereçosvolatility -f <file> memstrings -p <pid> -s <minimum_length>
: procura por strings na memória de um processo específico com um comprimento mínimo especificadovolatility -f <file> memdump --dump-dir <output_directory> --pid <pid>
: cria um dump da memória de um processo específico (alternativa para o comandomemdump -p <pid> -D <output_directory>
)
Análise de driver
volatility -f <file> driverscan
: procura por drivers na imagem de memóriavolatility -f <file> modules
: lista os módulos carregados na imagem de memóriavolatility -f <file> modscan
: procura por módulos na imagem de memóriavolatility -f <file> moddump -n <module_name> -D <output_directory>
: cria um dump do código de um módulo específico
Análise de sistema de arquivos
volatility -f <file> hivelist
: lista as chaves do registro do Windows presentes na imagem de memóriavolatility -f <file> printkey -o <offset>
: exibe o conteúdo de uma chave do registro do Windows em um determinado deslocamentovolatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -Q <file_path> -D <output_directory>
: cria um dump de um arquivo específico
Análise de rede
volatility -f <file> netscan
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memória (alternativa para o comandonetscan
)volatility -f <file> connscan
: procura por conexões de rede na imagem de memória
Análise de virtualização
volatility -f <file> vboxinfo
: exibe informações sobre as máquinas virtuais do VirtualBox presentes na imagem de memóriavolatility -f <file> vboxguestinfo -p <pid>
: exibe informações sobre o processo do VBoxGuest presente na imagem de memóriavolatility -f <file> vboxsf
: exibe informações sobre os compartilhamentos de arquivos do VirtualBox presentes na imagem de memória
Plugins adicionais
Análise de malware
volatility -f <file> malfind
: procura por processos suspeitos na imagem de memóriavolatility -f <file> malprocfind
: procura por processos suspeitos na imagem de memória usando técnicas de detecção de malwarevolatility -f <file> malfind
: procura por arquivos suspeitos na imagem de memóriavolatility -f <file> malsysproc
: exibe informações sobre processos suspeitos na imagem de memóriavolatility -f <file> malthfind
: procura por manipuladores de arquivos suspeitos na imagem de memóriavolatility -f <file> malfind
: procura por processos suspeitos na imagem de memória
Análise de sistema de arquivos
volatility -f <file> shimcache
: exibe informações sobre as entradas do cache de compatibilidade do aplicativo (AppCompat) presentes na imagem de memóriavolatility -f <file> usnjrnl
: exibe informações sobre o diário de alterações do NTFS (USN Journal) presentes na imagem de memóriavolatility -f <file> usnjrnl -o <offset>
: exibe informações sobre o diário de alterações do NTFS (USN Journal) em um determinado deslocamentovolatility -f <file> mftparser
: exibe informações sobre a tabela de arquivos mestre (MFT) do NTFS presentes na imagem de memóriavolatility -f <file> mftparser -o <offset>
: exibe informações sobre a tabela de arquivos mestre (MFT) do NTFS em um determinado deslocamentovolatility -f <file> mftparser --output-file <output_file>
: extrai a tabela de arquivos mestre (MFT) do NTFS para um arquivovolatility -f <file> mftparser --output-file <output_file> -o <offset>
: extrai a tabela de arquivos mestre (MFT) do NTFS em um determinado deslocamento para um arquivovolatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -Q <file_path> -D <output_directory>
: cria um dump de um arquivo específico
Análise de rede
volatility -f <file> connscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connscan --pids=<pid_list>
: procura por conexões de rede na imagem de memória associadas a uma lista de PIDsvolatility -f <file> connscan --ip=<ip_address>
: procura por conexões de rede na imagem de memória associadas a um endereço IPvolatility -f <file> connscan --ip=<ip_address> --pids=<pid_list>
: procura por conexões de rede na imagem de memória associadas a um endereço IP e a uma lista de PIDs
Análise de virtualização
volatility -f <file> vboxinfo
: exibe informações sobre as máquinas virtuais do VirtualBox presentes na imagem de memóriavolatility -f <file> vboxguestinfo -p <pid>
: exibe informações sobre o processo do VBoxGuest presente na imagem de memóriavolatility -f <file> vboxsf
: exibe informações sobre os compartilhamentos de arquivos do VirtualBox presentes na imagem de memória
Referências
- Volatility Cheat Sheet por James Habben
- Volatility Command Reference no GitHub
- The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory por Michael Hale Ligh, Andrew Case, Jamie Levy e Aaron Walters
#vol2 allos you to search and dump certificates from memory
#Interesting options for this modules are: --pid, --name, --ssl
volatility --profile=Win7SP1x86_23418 dumpcerts --dump-dir=. -f file.dmp
Malware
{% tabs %} {% tab title="vol3" %}
Introdução
O Volatility pode ser usado para analisar memórias de sistemas infectados por malware. A análise de memória pode ajudar a identificar processos maliciosos em execução, arquivos maliciosos carregados na memória e outras atividades suspeitas.
Comandos Úteis
malprocfind
: Encontra processos maliciosos na memória.malfind
: Encontra arquivos maliciosos carregados na memória.malstack
: Exibe a pilha de chamadas de um processo malicioso.malhunt
: Encontra processos maliciosos com base em padrões de comportamento.malfind
: Encontra arquivos maliciosos carregados na memória.malfind
: Encontra arquivos maliciosos carregados na memória.
Exemplo de Uso
$ volatility -f memdump.mem malprocfind
Este comando irá procurar por processos maliciosos na memória do arquivo memdump.mem
.
$ volatility -f memdump.mem malfind
Este comando irá procurar por arquivos maliciosos carregados na memória do arquivo memdump.mem
.
{% endtab %}
{% endtabs %}
./vol.py -f file.dmp windows.malfind.Malfind [--dump] #Find hidden and injected code, [dump each suspicious section]
#Malfind will search for suspicious structures related to malware
./vol.py -f file.dmp windows.driverirp.DriverIrp #Driver IRP hook detection
./vol.py -f file.dmp windows.ssdt.SSDT #Check system call address from unexpected addresses
./vol.py -f file.dmp linux.check_afinfo.Check_afinfo #Verifies the operation function pointers of network protocols
./vol.py -f file.dmp linux.check_creds.Check_creds #Checks if any processes are sharing credential structures
./vol.py -f file.dmp linux.check_idt.Check_idt #Checks if the IDT has been altered
./vol.py -f file.dmp linux.check_syscall.Check_syscall #Check system call table for hooks
./vol.py -f file.dmp linux.check_modules.Check_modules #Compares module list to sysfs info, if available
./vol.py -f file.dmp linux.tty_check.tty_check #Checks tty devices for hooks
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> psscan
: lista os processos em execução na imagem de memória (busca em todos os processos)volatility -f <file> pstree
: exibe a árvore de processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> handles -p <pid>
: lista os handles abertos por um processo específicovolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> connscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)volatility -f <file> hivelist
: lista os arquivos de registro na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registro específicavolatility -f <file> dumpregistry -D <output_directory> -K <key>
: extrai uma chave de registro específica para um diretório de saída
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: extrai o espaço de endereço virtual de um processo específico para um diretório de saídavolatility -f <file> procdump -p <pid> -D <output_directory>
: extrai o arquivo executável de um processo específico para um diretório de saídavolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso injetado em um processo específico e extrai para um diretório de saída
Análise de sistema de arquivos
volatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -D <output_directory> --name <filename>
: extrai um arquivo específico para um diretório de saídavolatility -f <file> dumpfiles -D <output_directory> --unlinked
: extrai todos os arquivos desvinculados para um diretório de saída
Análise de rede
volatility -f <file> connscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)volatility -f <file> netscan
: lista as conexões de rede na imagem de memória
Plugins adicionais
Dump de senhas
volatility -f <file> mimikatz
: extrai senhas da memória usando o plugin Mimikatz
Análise de navegador
volatility -f <file> chromehistory
: exibe o histórico de navegação do Google Chromevolatility -f <file> chromecookies
: exibe os cookies do Google Chromevolatility -f <file> iehistory
: exibe o histórico de navegação do Internet Explorervolatility -f <file> iecookies
: exibe os cookies do Internet Explorervolatility -f <file> firefoxhistory
: exibe o histórico de navegação do Mozilla Firefoxvolatility -f <file> firefoxcookies
: exibe os cookies do Mozilla Firefox
Análise de malware
volatility -f <file> malfind
: procura por código malicioso injetado em processos e extrai para um diretório de saídavolatility -f <file> malprocfind
: procura por processos maliciosos e exibe informações sobre elesvolatility -f <file> apihooks
: exibe informações sobre ganchos de API em processosvolatility -f <file> ldrmodules
: exibe informações sobre módulos carregados em processosvolatility -f <file> svcscan
: exibe informações sobre serviços do Windows na imagem de memória
Análise de rootkit
volatility -f <file> autoruns
: exibe informações sobre programas que são executados automaticamente na inicialização do sistemavolatility -f <file> driverirp
: exibe informações sobre IRPs (pacotes de solicitação de E/S) em driversvolatility -f <file> idt
: exibe informações sobre a tabela de interrupções do sistemavolatility -f <file> ssdt
: exibe informações sobre a tabela de serviços do sistemavolatility -f <file> callbacks
: exibe informações sobre os callbacks do kernel
Análise de memória física
volatility -f <file> hibernateinfo
: exibe informações sobre o arquivo de hibernaçãovolatility -f <file> hiberfilscan
: lista os processos encontrados no arquivo de hibernaçãovolatility -f <file> memmap
: exibe informações sobre o mapa de memória físicavolatility -f <file> crashinfo
: exibe informações sobre um arquivo de despejo de memória física
Referências
- Volatility Cheat Sheet por James Habben
- The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory por Michael Hale Ligh, Andrew Case, Jamie Levy e Aaron Walters {% endtab %}
volatility --profile=Win7SP1x86_23418 -f file.dmp malfind [-D /tmp] #Find hidden and injected code [dump each suspicious section]
volatility --profile=Win7SP1x86_23418 -f file.dmp apihooks #Detect API hooks in process and kernel memory
volatility --profile=Win7SP1x86_23418 -f file.dmp driverirp #Driver IRP hook detection
volatility --profile=Win7SP1x86_23418 -f file.dmp ssdt #Check system call address from unexpected addresses
volatility --profile=SomeLinux -f file.dmp linux_check_afinfo
volatility --profile=SomeLinux -f file.dmp linux_check_creds
volatility --profile=SomeLinux -f file.dmp linux_check_fop
volatility --profile=SomeLinux -f file.dmp linux_check_idt
volatility --profile=SomeLinux -f file.dmp linux_check_syscall
volatility --profile=SomeLinux -f file.dmp linux_check_modules
volatility --profile=SomeLinux -f file.dmp linux_check_tty
volatility --profile=SomeLinux -f file.dmp linux_keyboard_notifiers #Keyloggers
{% endtab %} {% tab title="Português" %}
Escaneando com yara
Use este script para baixar e mesclar todas as regras de malware yara do github: https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9
Crie o diretório rules e execute-o. Isso criará um arquivo chamado malware_rules.yar que contém todas as regras yara para malware.
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py
#Only Windows
./vol.py -f file.dmp windows.vadyarascan.VadYaraScan --yara-file /tmp/malware_rules.yar
#All
./vol.py -f file.dmp yarascan.YaraScan --yara-file /tmp/malware_rules.yar
{% endtab %}
{% tab title="volatility-cheatsheet" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> profileinfo
: exibe informações sobre o perfil da imagem de memóriavolatility -f <file> pslist
: exibe a lista de processos em execuçãovolatility -f <file> pstree
: exibe a árvore de processos em execuçãovolatility -f <file> psscan
: exibe a lista de processos em execução usando o scanner de processovolatility -f <file> dlllist -p <pid>
: exibe a lista de DLLs carregadas por um processovolatility -f <file> handles -p <pid>
: exibe a lista de handles abertos por um processovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> netscan
: exibe a lista de conexões de rede
Análise de processo
volatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de memória de um processovolatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo (alternativa ao procdump)volatility -f <file> cmdline -p <pid>
: exibe a linha de comando usada para iniciar um processovolatility -f <file> consoles -p <pid>
: exibe a lista de consoles usados por um processovolatility -f <file> getsids -p <pid>
: exibe a lista de SIDs associados a um processovolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso em um processovolatility -f <file> apihooks -p <pid>
: exibe a lista de ganchos de API instalados em um processovolatility -f <file> envars -p <pid>
: exibe a lista de variáveis de ambiente usadas por um processo
Análise de sistema de arquivos
volatility -f <file> hivelist
: exibe a lista de arquivos de registro carregadosvolatility -f <file> printkey -o <offset>
: exibe o conteúdo de uma chave de registrovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> dumpfiles -Q <path>
: extrai arquivos do sistema de arquivos
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> sockets
: exibe a lista de sockets abertos
Plugins adicionais
Análise de malware
volatility -f <file> malfind
: procura por código malicioso em todos os processosvolatility -f <file> malprocfind
: procura por processos maliciososvolatility -f <file> maldriverscan
: procura por drivers maliciososvolatility -f <file> apihooks
: exibe a lista de ganchos de API instalados em todos os processos
Análise de memória física
volatility -f <file> pagedump -o <offset> -D <output_directory>
: cria um dump de uma página físicavolatility -f <file> physmap
: exibe o mapeamento de páginas físicas
Análise de virtualização
volatility -f <file> vboxinfo
: exibe informações sobre máquinas virtuais VirtualBoxvolatility -f <file> vboxguestinfo -p <pid>
: exibe informações sobre o processo do Guest Additions do VirtualBoxvolatility -f <file> vmwareinfo
: exibe informações sobre máquinas virtuais VMwarevolatility -f <file> vmwarecheck
: verifica se a imagem de memória é de uma máquina virtual VMware
Análise de sistema de arquivos
volatility -f <file> lsmod
: exibe a lista de módulos do kernel carregadosvolatility -f <file> moddump -n <name> -D <output_directory>
: cria um dump de um módulo do kernelvolatility -f <file> modscan
: exibe a lista de módulos do kernel carregadosvolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registrovolatility -f <file> printkey -K <key> -o <offset>
: exibe o conteúdo de uma chave de registro em um arquivo de registro específico
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> sockets
: exibe a lista de sockets abertosvolatility -f <file> sockscan
: exibe a lista de sockets abertos usando o scanner de socket
Referências
- Volatility Cheat Sheet por James Habben
- Volatility Command Reference no wiki do Volatility Foundation {% endtab %}
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py
volatility --profile=Win7SP1x86_23418 yarascan -y malware_rules.yar -f ch2.dmp | grep "Rule:" | grep -v "Str_Win32" | sort | uniq
METODOLOGIA BÁSICA DE ANÁLISE DE DUMP DE MEMÓRIA
CHEAT SHEET DO VOLATILITY
COMANDOS BÁSICOS
volatility -f <dump> imageinfo
: exibe informações sobre o dump de memória.volatility -f <dump> pslist
: exibe a lista de processos em execução.volatility -f <dump> pstree
: exibe a árvore de processos em execução.volatility -f <dump> psscan
: exibe a lista de processos em execução, incluindo processos ocultos.volatility -f <dump> netscan
: exibe a lista de conexões de rede.volatility -f <dump> connscan
: exibe a lista de conexões de rede com detalhes adicionais.volatility -f <dump> filescan
: exibe a lista de arquivos abertos.volatility -f <dump> hivelist
: exibe a lista de chaves do registro.volatility -f <dump> hivedump -o <offset> -f <output>
: extrai uma chave do registro.volatility -f <dump> hashdump -y <system hive> -s <security hive>
: exibe as hashes de senha do sistema e do registro de segurança.volatility -f <dump> malfind
: procura por processos maliciosos.volatility -f <dump> apihooks
: exibe a lista de ganchos de API.volatility -f <dump> ldrmodules
: exibe a lista de módulos carregados.volatility -f <dump> modscan
: exibe a lista de módulos carregados com detalhes adicionais.volatility -f <dump> getsids
: exibe a lista de SIDs.volatility -f <dump> getservicesids
: exibe a lista de SIDs de serviços.volatility -f <dump> dumpfiles -Q <PID> -D <output>
: extrai os arquivos abertos por um processo.volatility -f <dump> memdump -p <PID> -D <output>
: extrai o dump de memória de um processo.
PLUGINS
volatility -f <dump> <plugin>
: executa um plugin específico.volatility --info | grep <plugin>
: exibe informações sobre um plugin específico.volatility --plugins=<path>
: especifica o caminho para os plugins.volatility --plugins=<path> -f <dump> <plugin>
: executa um plugin específico com plugins externos.
OUTROS
volatility --profile=<profile> -f <dump> <plugin>
: especifica o perfil do sistema.volatility --kdbg=<address> -f <dump> <plugin>
: especifica o endereço do depurador do kernel.volatility --dtb=<address> -f <dump> <plugin>
: especifica o endereço da tabela de páginas do diretório.volatility --physical-offset=<offset> -f <dump> <plugin>
: especifica o deslocamento físico do dump de memória.volatility --output-file=<output> -f <dump> <plugin>
: especifica o arquivo de saída.volatility --output=dot -f <dump> <plugin>
: exibe a saída em formato DOT.volatility --output=html -f <dump> <plugin>
: exibe a saída em formato HTML.volatility --output=json -f <dump> <plugin>
: exibe a saída em formato JSON.volatility --output=sqlite -f <dump> <plugin>
: exibe a saída em formato SQLite.volatility --output=txt -f <dump> <plugin>
: exibe a saída em formato texto.volatility --output=yaml -f <dump> <plugin>
: exibe a saída em formato YAML.
PLUGINS EXTERNOS
Se você deseja usar plugins externos, certifique-se de que as pastas relacionadas aos plugins sejam o primeiro parâmetro usado.
./vol.py --plugin-dirs "/tmp/plugins/" [...]
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> psscan
: lista os processos em execução na imagem de memória (busca em todos os processos)volatility -f <file> pstree
: exibe a árvore de processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> handles -p <pid>
: lista os handles abertos por um processo específicovolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> connscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)volatility -f <file> hivelist
: lista os arquivos de registro na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registro específicavolatility -f <file> dumpregistry -D <output_directory> -K <key>
: extrai uma chave de registro específica para um diretório de saída
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: extrai o espaço de endereço virtual de um processo específico para um diretório de saídavolatility -f <file> procdump -p <pid> -D <output_directory>
: extrai o arquivo executável de um processo específico para um diretório de saídavolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso na memória de um processo específico e extrai-o para um diretório de saída
Análise de sistema de arquivos
volatility -f <file> hivelist
: lista os arquivos de registro na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registro específicavolatility -f <file> dumpregistry -D <output_directory> -K <key>
: extrai uma chave de registro específica para um diretório de saídavolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -D <output_directory> --name <filename>
: extrai um arquivo específico para um diretório de saída
Outros comandos úteis
volatility -f <file> hashdump -y <profile>
: extrai as hashes de senha da imagem de memóriavolatility -f <file> truecryptpassphrase
: extrai a senha do TrueCrypt da imagem de memóriavolatility -f <file> clipboard
: exibe o conteúdo da área de transferência da imagem de memóriavolatility -f <file> shellbags
: exibe as informações de shellbags da imagem de memória
Plugins adicionais
Malware
volatility -f <file> malfind
: procura por código malicioso na imagem de memóriavolatility -f <file> malprocfind
: procura por processos maliciosos na imagem de memóriavolatility -f <file> maldriverscan
: procura por drivers maliciosos na imagem de memóriavolatility -f <file> malfind
: procura por código malicioso na imagem de memóriavolatility -f <file> malfind
: procura por código malicioso na imagem de memória
Análise de rede
volatility -f <file> connscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)volatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> sockets
: lista os sockets abertos na imagem de memória
Análise de sistema de arquivos
volatility -f <file> shimcache
: exibe as informações do cache de compatibilidade do aplicativo da imagem de memóriavolatility -f <file> usnjrnl
: exibe as informações do diário de alterações do NTFS da imagem de memóriavolatility -f <file> mftparser
: exibe as informações da tabela de arquivos mestre (MFT) da imagem de memóriavolatility -f <file> mftparser --output-file=<output_file>
: extrai a tabela de arquivos mestre (MFT) da imagem de memória para um arquivo de saídavolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -D <output_directory> --name <filename>
: extrai um arquivo específico para um diretório de saídavolatility -f <file> dumpfiles -D <output_directory> --unallocated
: extrai todos os arquivos não alocados para um diretório de saída
Análise de registro
volatility -f <file> hivelist
: lista os arquivos de registro na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registro específicavolatility -f <file> dumpregistry -D <output_directory> -K <key>
: extrai uma chave de registro específica para um diretório de saídavolatility -f <file> userassist
: exibe as informações do UserAssist da imagem de memóriavolatility -f <file> userassist -o
: exibe as informações do UserAssist da imagem de memória em formato CSVvolatility -f <file> shellbags
: exibe as informações de shellbags da imagem de memóriavolatility -f <file> shellbags -o
: exibe as informações de shellbags da imagem de memória em formato CSV
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: extrai o espaço de endereço virtual de um processo específico para um diretório de saídavolatility -f <file> procdump -p <pid> -D <output_directory>
: extrai o arquivo executável de um processo específico para um diretório de saídavolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso na memória de um processo específico e extrai-o para um diretório de saídavolatility -f <file> handles -p <pid>
: lista os handles abertos por um processo específicovolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> vadinfo -p <pid>
: exibe informações sobre as regiões de memória virtuais de um processo específicovolatility -f <file> vadtree -p <pid>
: exibe a árvore de regiões de memória virtuais de um processo específico
Análise de kernel
volatility -f <file> modules
: lista os módulos do kernel carregados na imagem de memóriavolatility -f <file> modscan
: lista os módulos do kernel carregados na imagem de memória (busca em todos os processos)volatility -f <file> driverirp
: exibe as informações do IRP de driver da imagem de memóriavolatility -f <file> ssdt
: exibe as informações da tabela de serviços do sistema (SSDT) da imagem de memóriavolatility -f <file> callbacks
: exibe as informações dos callbacks do kernel da imagem de memóriavolatility -f <file> idt
: exibe as informações da tabela de interrupções do sistema (IDT) da imagem de memóriavolatility -f <file> gdt
: exibe as informações da tabela de descritores globais (GDT) da imagem de memóriavolatility -f <file> ldrmodules
: exibe as informações dos módulos do kernel carregados na imagem de memóriavolatility -f <file> ldrmodules -p <pid>
: exibe as informações dos módulos do kernel carregados por um processo específicovolatility -f <file> atomscan
: exibe as informações dos objetos de atom da imagem de memóriavolatility -f <file> atomscan -p <pid>
: exibe as informações dos objetos de atom de um processo específico
Referências
volatilitye --plugins="/tmp/plugins/" [...]
{% endtab %} {% endtabs %}
Autoruns
Baixe-o em https://github.com/tomchop/volatility-autoruns
volatility --plugins=volatility-autoruns/ --profile=WinXPSP2x86 -f file.dmp autoruns
Mutexes
Mutexes
Um mutex é um objeto de sincronização que é usado para garantir que apenas um processo ou thread possa acessar um recurso compartilhado por vez. Eles são frequentemente usados para proteger seções críticas do código e evitar condições de corrida.
O Volatility pode ser usado para listar todos os mutexes presentes em um dump de memória usando o comando mutantscan
. Isso pode ser útil para identificar mutexes que foram criados por malware ou para entender como um programa usa mutexes para proteger recursos compartilhados.
Exemplo de uso:
volatility -f memdump.mem mutantscan
Isso listará todos os mutexes presentes no dump de memória.
Mutexes
Um mutex é um objeto de sincronização que é usado para garantir que apenas um processo ou thread possa acessar um recurso compartilhado por vez. Eles são frequentemente usados para proteger seções críticas do código e evitar condições de corrida.
O Volatility pode ser usado para listar todos os mutexes presentes em um dump de memória usando o comando mutantscan
. Isso pode ser útil para identificar mutexes que foram criados por malware ou para entender como um programa usa mutexes para proteger recursos compartilhados.
Exemplo de uso:
volatility -f memdump.mem mutantscan
Isso listará todos os mutexes presentes no dump de memória.
./vol.py -f file.dmp windows.mutantscan.MutantScan
{% endtab %}
{% tab title="volatility-cheatsheet" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> profileinfo
: exibe informações sobre o perfil da imagem de memóriavolatility -f <file> pslist
: exibe a lista de processos em execuçãovolatility -f <file> pstree
: exibe a árvore de processos em execuçãovolatility -f <file> psscan
: exibe a lista de processos em execução usando o scanner de processovolatility -f <file> dlllist -p <pid>
: exibe a lista de DLLs carregadas por um processovolatility -f <file> handles -p <pid>
: exibe a lista de handles abertos por um processovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> netscan
: exibe a lista de conexões de rede
Análise de processo
volatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de memória de um processovolatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo (mais rápido que o procdump)volatility -f <file> cmdline -p <pid>
: exibe a linha de comando usada para iniciar um processovolatility -f <file> consoles -p <pid>
: exibe a lista de consoles usados por um processovolatility -f <file> getsids -p <pid>
: exibe a lista de SIDs associados a um processovolatility -f <file> envars -p <pid>
: exibe a lista de variáveis de ambiente usadas por um processovolatility -f <file> malfind -p <pid> -Y <output_directory>
: procura por código malicioso em um processo
Análise de sistema de arquivos
volatility -f <file> fileinfo -o <offset>
: exibe informações sobre um arquivovolatility -f <file> mftparser -o <offset>
: exibe informações sobre o MFT (Master File Table)volatility -f <file> usnjrnl -o <offset>
: exibe informações sobre o USN Journalvolatility -f <file> shimcache
: exibe informações sobre o cache de compatibilidade do Windowsvolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro do Windowsvolatility -f <file> hivelist
: exibe a lista de hives do registro do Windowsvolatility -f <file> hashdump -s <system_offset> -s <software_offset>
: exibe as hashes de senha armazenadas no registro do Windows
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> sockets
: exibe a lista de sockets abertosvolatility -f <file> sockscan
: exibe a lista de sockets abertos usando o scanner de socket
Plugins adicionais
Análise de malware
volatility -f <file> malfind
: procura por código malicioso em toda a imagem de memóriavolatility -f <file> malprocfind
: procura por processos maliciosos em toda a imagem de memóriavolatility -f <file> maldriverscan
: procura por drivers maliciosos em toda a imagem de memóriavolatility -f <file> apihooks
: exibe a lista de funções do sistema que foram modificadas por um rootkit
Análise de sistema de arquivos
volatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> filescan -S <string>
: exibe a lista de arquivos abertos que contêm uma string específicavolatility -f <file> filescan -F <regex>
: exibe a lista de arquivos abertos que correspondem a uma expressão regularvolatility -f <file> dumpfiles -Q <string> -D <output_directory>
: extrai arquivos da imagem de memória que contêm uma string específicavolatility -f <file> dumpfiles -R <regex> -D <output_directory>
: extrai arquivos da imagem de memória que correspondem a uma expressão regular
Análise de registro do Windows
volatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro do Windowsvolatility -f <file> hivelist
: exibe a lista de hives do registro do Windowsvolatility -f <file> hivedump -o <offset> -O <output_directory>
: cria um dump de uma hive do registro do Windowsvolatility -f <file> hashdump -s <system_offset> -s <software_offset>
: exibe as hashes de senha armazenadas no registro do Windows
Análise de memória
volatility -f <file> memdump
: cria um dump de toda a imagem de memóriavolatility -f <file> memdump -p <pid>
: cria um dump de memória de um processovolatility -f <file> memdump -o <offset>
: cria um dump de memória de uma região específica da imagem de memóriavolatility -f <file> memmap
: exibe o mapa de memória da imagem de memóriavolatility -f <file> memmap --dump-dir <output_directory>
: cria um dump de todas as regiões de memória da imagem de memória
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> sockets
: exibe a lista de sockets abertosvolatility -f <file> sockscan
: exibe a lista de sockets abertos usando o scanner de socket
Análise de processo
volatility -f <file> procdump
: cria um dump de memória de todos os processosvolatility -f <file> procdump -p <pid>
: cria um dump de memória de um processovolatility -f <file> procdump -D <output_directory>
: cria um dump de memória de todos os processos em um diretóriovolatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo em um diretóriovolatility -f <file> vadinfo -p <pid>
: exibe informações sobre as regiões de memória de um processovolatility -f <file> vadtree -p <pid>
: exibe a árvore de regiões de memória de um processovolatility -f <file> vadwalk -p <pid> -r <vaddr>
: exibe a lista de regiões de memória acessíveis a partir de um endereço virtual
Análise de sistema
volatility -f <file> svcscan
: exibe a lista de serviços do Windowsvolatility -f <file> driverirp
: exibe a lista de IRPs (I/O Request Packets) de drivers do Windowsvolatility -f <file> modscan
: exibe a lista de módulos do kernel do Windowsvolatility -f <file> moddump -n <name> -D <output_directory>
: cria um dump de um módulo do kernel do Windowsvolatility -f <file> atomscan
: exibe a lista de objetos atômicos do Windowsvolatility -f <file> atomscan -s <string>
: exibe a lista de objetos atômicos do Windows que contêm uma string específicavolatility -f <file> atomscan -S <substring>
: exibe a lista de objetos atômicos do Windows que contêm uma substring específicavolatility -f <file> atomscan -o <offset>
: exibe a lista de objetos atômicos do Windows que estão em um offset específicovolatility -f <file> atomscan -O <output_directory>
: cria um dump de todos os objetos atômicos do Windows
Análise de virtualização
volatility -f <file> vboxinfo
: exibe informações sobre máquinas virtuais do VirtualBoxvolatility -f <file> vboxguestinfo -p <pid>
: exibe informações sobre o processo do VBoxGuest.sysvolatility -f <file> vboxsf
: exibe informações sobre compartilhamentos de arquivos do VirtualBoxvolatility -f <file> vmwareinfo
: exibe informações sobre máquinas virtuais do VMwarevolatility -f <file> vmwarecheck
: verifica se a imagem de memória é de uma máquina virtual do VMwarevolatility -f <file> vmwareregistry
: exibe informações sobre o registro do Windows de uma máquina virtual do VMwarevolatility -f <file> xeninfo
: exibe informações sobre máquinas virtuais do Xenvolatility -f <file> xenstore
: exibe informações sobre o XenStore
Análise de Android
volatility -f <file> androidinfo
: exibe informações sobre dispositivos Androidvolatility -f <file> androiddump -p <pid> -D <output_directory>
: cria um dump de memória de um processo Androidvolatility -f <file> androidps
: exibe a lista de processos Androidvolatility -f <file> androidsvc
: exibe a lista de serviços Androidvolatility -f <file> androidperms
: exibe a lista de permissões Androidvolatility -f <file> androidactivity
: exibe a lista de atividades Androidvolatility -f <file> androidintents
: exibe a lista de intents Android
Análise de Linux
volatility -f <file> linuxinfo
: exibe informações sobre sistemas Linuxvolatility -f <file> linuxbanner
: exibe o banner do kernel do Linuxvolatility -f <file> linuxprocmaps
: exibe o mapa de memória de um processo Linuxvolatility -f <file> linuxpstree
: exibe a árvore de processos Linuxvolatility -f <file> linuxpslist
: exibe a lista de processos Linuxvolatility -f <file> linuxnetscan
: exibe a lista de conexões de rede Linuxvolatility -f <file> linuxifconfig
: exibe a lista de interfaces de rede Linuxvolatility -f <file> linuxdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo Linuxvolatility -f <file> linuxdmesg
: exibe o log do kernel do Linuxvolatility -f <file> linuxfile -S <string>
: exibe a lista de arquivos abertos que contêm uma string específicavolatility -f <file> linuxfile -F <regex>
: exibe a lista de arquivos abertos que correspondem a uma expressão regularvolatility -f <file> linuxbanner
: exibe o banner do kernel do Linux
Análise de macOS
volatility -f <file> macinfo
: exibe informações sobre sistemas macOSvolatility -f <file> macbanner
: exibe o banner do kernel do macOSvolatility -f <file> macpslist
: exibe a lista de processos macOSvolatility -f <file> macpstree
: exibe a árvore de processos macOSvolatility -f <file> macdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo macOSvolatility -f <file> macfile -S <string>
: exibe a lista de arquivos abertos que contêm uma string específicavolatility -f <file> macfile -F <regex>
: exibe a lista de arquivos abertos que correspondem a uma expressão regularvolatility -f <file> macsockets
: exibe a lista de sockets abertos no macOS
Referências
- Volatility Cheat Sheet por James Habben
- Volatility Command Reference no wiki do Volatility Foundation
- Volatility Plugin List no wiki do Volatility Foundation {% endtab %}
volatility --profile=Win7SP1x86_23418 mutantscan -f file.dmp
volatility --profile=Win7SP1x86_23418 -f file.dmp handles -p <PID> -t mutant
Links simbólicos
{% tabs %} {% tab title="vol3" %}
Comando: symlinkscan
O symlinkscan
é um plugin do Volatility que procura por links simbólicos em um dump de memória. Ele pode ser usado para encontrar arquivos que foram ocultados por meio de links simbólicos.
volatility -f <memory_dump> --profile=<profile> symlinkscan
Comando: symlinkenum
O symlinkenum
é um plugin do Volatility que lista todos os links simbólicos em um dump de memória.
volatility -f <memory_dump> --profile=<profile> symlinkenum
Comando: symlinkfiles
O symlinkfiles
é um plugin do Volatility que lista todos os arquivos que estão sendo referenciados por links simbólicos em um dump de memória.
volatility -f <memory_dump> --profile=<profile> symlinkfiles
{% endtab %} {% endtabs %}
./vol.py -f file.dmp windows.symlinkscan.SymlinkScan
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> pstree
: exibe a árvore de processos na imagem de memóriavolatility -f <file> psscan
: procura por processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> netscan
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memória (alternativa para o comandonetscan
)volatility -f <file> connscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> hivelist
: lista as chaves do registro do Windows presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro do Windows na imagem de memóriavolatility -f <file> hashdump -y <offset>
: extrai hashes de senha do SAM (Security Account Manager) na imagem de memória
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória para um processo específicovolatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de memória para um processo específico (alternativa para o comandomemdump
)volatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso injetado em um processo específicovolatility -f <file> apihooks -p <pid>
: exibe informações sobre os hooks de API em um processo específicovolatility -f <file> cmdscan -p <pid>
: procura por comandos executados em um processo específicovolatility -f <file> consoles -p <pid>
: exibe informações sobre as janelas de console em um processo específicovolatility -f <file> getsids -p <pid>
: exibe informações sobre os SIDs (Security Identifiers) associados a um processo específicovolatility -f <file> handles -p <pid>
: exibe informações sobre os handles abertos por um processo específicovolatility -f <file> privs -p <pid>
: exibe informações sobre os privilégios de um processo específicovolatility -f <file> psxview
: exibe informações sobre os processos ocultos na imagem de memória
Plugins adicionais
Análise de malware
volatility -f <file> yarascan -Y <rule_file>
: procura por padrões de malware usando regras YARAvolatility -f <file> malfind
: procura por código malicioso injetado em processosvolatility -f <file> malprocfind
: procura por processos maliciosos na imagem de memóriavolatility -f <file> malfind
: procura por arquivos maliciosos na imagem de memória
Análise de rede
volatility -f <file> connscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> netscan
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> sockets
: exibe informações sobre os sockets na imagem de memória
Análise de registro
volatility -f <file> hivelist
: lista as chaves do registro do Windows presentes na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro do Windows na imagem de memóriavolatility -f <file> userassist
: exibe informações sobre os programas executados pelo usuário na imagem de memóriavolatility -f <file> shellbags
: exibe informações sobre as pastas abertas pelo usuário na imagem de memória
Análise de sistema de arquivos
volatility -f <file> filescan
: procura por arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -Q <address>
: extrai um arquivo da imagem de memóriavolatility -f <file> dumpfiles -Q <address> -D <output_directory>
: extrai um arquivo da imagem de memória para um diretório específicovolatility -f <file> mftparser
: exibe informações sobre o Master File Table (MFT) do sistema de arquivos NTFSvolatility -f <file> usnjrnl
: exibe informações sobre o journal de alterações do sistema de arquivos NTFS
Análise de virtualização
volatility -f <file> vboxinfo
: exibe informações sobre as máquinas virtuais do VirtualBox presentes na imagem de memóriavolatility -f <file> vboxguestinfo -p <pid>
: exibe informações sobre o processo do Guest Additions do VirtualBox em um processo específicovolatility -f <file> vmwareinfo
: exibe informações sobre as máquinas virtuais do VMware presentes na imagem de memóriavolatility -f <file> vmwarecheck
: verifica se a imagem de memória é de uma máquina virtual do VMware
Análise de memória física
volatility -f <file> hibernateinfo
: exibe informações sobre o arquivo de hibernação presente na imagem de memóriavolatility -f <file> hiberfilscan
: procura por arquivos de hibernação na imagem de memóriavolatility -f <file> windowspcap
: exibe informações sobre os pacotes capturados pelo driver WinPcap na imagem de memória
Referências
volatility --profile=Win7SP1x86_23418 -f file.dmp symlinkscan
Bash
É possível ler do histórico do bash na memória. Você também pode despejar o arquivo .bash_history, mas se ele estiver desativado, você ficará feliz em poder usar este módulo do volatility.
{% tabs %} {% tab title="vol3" %}
./vol.py -f file.dmp linux.bash.Bash
{% endtab %}
{% tab title="volatility-cheatsheet" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> profileinfo
: exibe informações sobre o perfil da imagem de memóriavolatility -f <file> pslist
: exibe a lista de processos em execuçãovolatility -f <file> pstree
: exibe a árvore de processos em execuçãovolatility -f <file> psscan
: exibe a lista de processos em execução usando o scanner de processovolatility -f <file> dlllist -p <pid>
: exibe a lista de DLLs carregadas por um processovolatility -f <file> handles -p <pid>
: exibe a lista de handles abertos por um processovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> netscan
: exibe a lista de conexões de rede
Análise de processo
volatility -f <file> procdump -p <pid> -D <output_directory>
: cria um dump de memória de um processovolatility -f <file> memdump -p <pid> -D <output_directory>
: cria um dump de memória de um processo (alternativa ao procdump)volatility -f <file> cmdline -p <pid>
: exibe a linha de comando usada para iniciar um processovolatility -f <file> consoles -p <pid>
: exibe a lista de consoles usados por um processovolatility -f <file> getsids -p <pid>
: exibe a lista de SIDs associados a um processovolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso em um processovolatility -f <file> apihooks -p <pid>
: exibe a lista de ganchos de API instalados em um processovolatility -f <file> envars -p <pid>
: exibe a lista de variáveis de ambiente usadas por um processo
Análise de sistema de arquivos
volatility -f <file> hivelist
: exibe a lista de arquivos de registro carregadosvolatility -f <file> printkey -o <offset>
: exibe o conteúdo de uma chave de registrovolatility -f <file> filescan
: exibe a lista de arquivos abertosvolatility -f <file> dumpfiles -Q <path>
: extrai arquivos do sistema de arquivos
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> sockets
: exibe a lista de sockets abertos
Plugins adicionais
Análise de malware
volatility -f <file> malfind
: procura por código malicioso em todos os processosvolatility -f <file> malprocfind
: procura por processos maliciososvolatility -f <file> maldriverscan
: procura por drivers maliciososvolatility -f <file> apihooks
: exibe a lista de ganchos de API instalados em todos os processos
Análise de memória física
volatility -f <file> pagedump -o <offset> -D <output_directory>
: cria um dump de uma página físicavolatility -f <file> physmap
: exibe o mapeamento de páginas físicas
Análise de virtualização
volatility -f <file> vboxinfo
: exibe informações sobre máquinas virtuais VirtualBoxvolatility -f <file> vboxguestinfo -p <pid>
: exibe informações sobre o processo do Guest Additions do VirtualBoxvolatility -f <file> vmwareinfo
: exibe informações sobre máquinas virtuais VMwarevolatility -f <file> vmwarecheck
: verifica se a imagem de memória é de uma máquina virtual VMware
Análise de sistema de arquivos
volatility -f <file> lsmod
: exibe a lista de módulos do kernel carregadosvolatility -f <file> moddump -n <name> -D <output_directory>
: cria um dump de um módulo do kernelvolatility -f <file> modscan
: exibe a lista de módulos do kernel carregadosvolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registrovolatility -f <file> printkey -K <key> -o <offset>
: exibe o conteúdo de uma chave de registro em um arquivo de registro específico
Análise de rede
volatility -f <file> connscan
: exibe a lista de conexões de redevolatility -f <file> sockets
: exibe a lista de sockets abertosvolatility -f <file> sockscan
: exibe a lista de sockets abertos usando o scanner de socket
Referências
- Volatility Cheat Sheet (PDF)
- Volatility Command Reference (Wiki)
volatility --profile=Win7SP1x86_23418 -f file.dmp linux_bash
Linha do Tempo
{% tabs %} {% tab title="vol3" %}
./vol.py -f file.dmp timeLiner.TimeLiner
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> psscan
: lista os processos em execução na imagem de memória (busca em todos os processos)volatility -f <file> pstree
: exibe a árvore de processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> handles -p <pid>
: lista os handles abertos por um processo específicovolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> connscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)volatility -f <file> hivelist
: lista os arquivos de registro na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registro específicavolatility -f <file> dumpregistry -D <output_directory> -K <key>
: extrai uma chave de registro específica para um diretório de saída
Análise de processo
volatility -f <file> memdump -p <pid> -D <output_directory>
: extrai o espaço de endereço virtual de um processo específico para um diretório de saídavolatility -f <file> procdump -p <pid> -D <output_directory>
: extrai o arquivo executável de um processo específico para um diretório de saídavolatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso na memória de um processo específico e extrai-o para um diretório de saída
Análise de sistema de arquivos
volatility -f <file> hivelist
: lista os arquivos de registro na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave de registro específicavolatility -f <file> dumpregistry -D <output_directory> -K <key>
: extrai uma chave de registro específica para um diretório de saídavolatility -f <file> filescan
: lista os arquivos abertos na imagem de memóriavolatility -f <file> dumpfiles -D <output_directory> --name <filename>
: extrai um arquivo específico para um diretório de saída
Análise de rede
volatility -f <file> netscan
: lista as conexões de rede na imagem de memóriavolatility -f <file> connscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)volatility -f <file> sockets
: lista os sockets abertos na imagem de memóriavolatility -f <file> sockscan
: lista os sockets abertos na imagem de memória (busca em todos os processos)
Plugins úteis
Malware
malfind
: procura por código malicioso na memória e extrai-o para um diretório de saídamalsysproc
: lista os processos suspeitos na imagem de memóriamalfind
: procura por código malicioso na memória e extrai-o para um diretório de saídaapihooks
: lista as funções do sistema que foram modificadas por um rootkitldrmodules
: lista os módulos carregados por um processo específicoldrmodules
: lista os módulos carregados por um processo específicoldrmodules
: lista os módulos carregados por um processo específico
Registro
hivelist
: lista os arquivos de registro na imagem de memóriaprintkey
: exibe o conteúdo de uma chave de registro específicadumpregistry
: extrai uma chave de registro específica para um diretório de saída
Processos
handles
: lista os handles abertos por um processo específicomemdump
: extrai o espaço de endereço virtual de um processo específico para um diretório de saídaprocdump
: extrai o arquivo executável de um processo específico para um diretório de saídamalfind
: procura por código malicioso na memória de um processo específico e extrai-o para um diretório de saída
Sistema de arquivos
filescan
: lista os arquivos abertos na imagem de memóriadumpfiles
: extrai um arquivo específico para um diretório de saída
Rede
netscan
: lista as conexões de rede na imagem de memóriaconnscan
: lista as conexões de rede na imagem de memória (busca em todos os processos)sockets
: lista os sockets abertos na imagem de memóriasockscan
: lista os sockets abertos na imagem de memória (busca em todos os processos)
Referências
- Volatility Cheat Sheet por James Habben
- Volatility Command Reference no GitHub
- The Art of Memory Forensics por Michael Hale Ligh, Andrew Case, Jamie Levy e Aaron Walters
volatility --profile=Win7SP1x86_23418 -f timeliner
Drivers
{% tabs %}
{% tab title="vol3" %}
Os drivers são módulos de software que permitem que o sistema operacional interaja com o hardware. Eles são carregados na memória do kernel e podem ser encontrados em processos como System
ou smss.exe
. O Volatility pode extrair informações sobre os drivers carregados na memória, incluindo seus nomes, endereços base, tamanho e data/hora de carregamento.
Comandos
driverirp
: lista as estruturas IRP (I/O Request Packet) para cada driver carregado na memória.drivermodule
: lista informações sobre os módulos de driver carregados na memória, incluindo seus nomes, endereços base, tamanho e data/hora de carregamento.driverscan
: varre a memória em busca de módulos de driver carregados e exibe informações sobre eles.moddump
: extrai um módulo de driver específico da memória. {% endtab %} {% endtabs %}
./vol.py -f file.dmp windows.driverscan.DriverScan
{% endtab %}
{% tab title="volatility-cheatsheet.md" %}
Folha de dicas do Volatility
Comandos básicos
Análise de imagem
volatility -f <file> imageinfo
: exibe informações sobre a imagem de memóriavolatility -f <file> kdbgscan
: procura pelo valor do depurador do kernel (KDBG) na imagem de memóriavolatility -f <file> pslist
: lista os processos em execução na imagem de memóriavolatility -f <file> pstree
: exibe uma árvore de processos em execução na imagem de memóriavolatility -f <file> psscan
: procura por processos na imagem de memóriavolatility -f <file> dlllist -p <pid>
: lista as DLLs carregadas por um processo específicovolatility -f <file> handles -p <pid>
: lista os identificadores de objeto abertos por um processo específicovolatility -f <file> filescan
: procura por arquivos na imagem de memóriavolatility -f <file> netscan
: procura por conexões de rede na imagem de memóriavolatility -f <file> connections
: exibe informações sobre as conexões de rede na imagem de memóriavolatility -f <file> consoles
: exibe informações sobre as janelas do console na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro do Windows na imagem de memóriavolatility -f <file> hivelist
: lista as chaves do registro do Windows na imagem de memória
Análise de processo
volatility -f <file> procdump -p <pid> -D <output_directory>
: cria um despejo de memória para um processo específicovolatility -f <file> memdump -p <pid> -D <output_directory>
: cria um despejo de memória para um processo específico (alternativa aoprocdump
)volatility -f <file> malfind -p <pid> -D <output_directory>
: procura por código malicioso em um processo específicovolatility -f <file> apihooks -p <pid>
: exibe informações sobre os ganchos de API em um processo específicovolatility -f <file> cmdscan -p <pid>
: procura por comandos executados em um processo específicovolatility -f <file> consoles -p <pid>
: exibe informações sobre as janelas do console em um processo específicovolatility -f <file> filescan -p <pid>
: procura por arquivos abertos por um processo específicovolatility -f <file> handles -p <pid>
: lista os identificadores de objeto abertos por um processo específicovolatility -f <file> privs -p <pid>
: lista os privilégios de um processo específicovolatility -f <file> psxview
: exibe informações sobre os processos ocultos na imagem de memória
Análise de sistema de arquivos
volatility -f <file> hivelist
: lista as chaves do registro do Windows na imagem de memóriavolatility -f <file> printkey -K <key>
: exibe o conteúdo de uma chave do registro do Windows na imagem de memóriavolatility -f <file> filescan
: procura por arquivos na imagem de memóriavolatility -f <file> dumpfiles -Q <address_range> -D <output_directory>
: extrai arquivos da imagem de memóriavolatility -f <file> timeliner -f <image> -o <output_directory>
: cria uma linha do tempo dos arquivos modificados na imagem de memória
Plugins úteis
malfind
: procura por código malicioso na imagem de memóriaapihooks
: exibe informações sobre os ganchos de API na imagem de memóriacmdscan
: procura por comandos executados na imagem de memóriaconsoles
: exibe informações sobre as janelas do console na imagem de memóriafilescan
: procura por arquivos na imagem de memóriahandles
: lista os identificadores de objeto abertos na imagem de memóriaprivs
: lista os privilégios na imagem de memóriapsxview
: exibe informações sobre os processos ocultos na imagem de memóriadumpfiles
: extrai arquivos da imagem de memóriatimeliner
: cria uma linha do tempo dos arquivos modificados na imagem de memória
Referências
- Volatility Cheat Sheet (SANS Digital Forensics and Incident Response)
- Volatility Command Reference (Volatility Foundation) {% endtab %}
volatility --profile=Win7SP1x86_23418 -f file.dmp driverscan
Obter área de transferência
Para obter o conteúdo da área de transferência, use o plugin clipboard do Volatility:
$ vol.py clipboard -f <memory_dump>
#Just vol2
volatility --profile=Win7SP1x86_23418 clipboard -f file.dmp
Obter histórico do Internet Explorer
#Just vol2
volatility --profile=Win7SP1x86_23418 iehistory -f file.dmp
Obter texto do bloco de notas
#Just vol2
volatility --profile=Win7SP1x86_23418 notepad -f file.dmp
Captura de tela
#Just vol2
volatility --profile=Win7SP1x86_23418 screenshot -f file.dmp
Registro Mestre de Inicialização (MBR)
volatility --profile=Win7SP1x86_23418 mbrparser -f file.dmp
O MBR contém informações sobre como as partições lógicas, contendo sistemas de arquivos, estão organizadas nesse meio. O MBR também contém código executável para funcionar como um carregador para o sistema operacional instalado - geralmente passando o controle para o segundo estágio do carregador, ou em conjunto com o registro de inicialização do volume de cada partição (VBR). Esse código MBR é geralmente referido como um carregador de inicialização. De aqui.
RootedCON é o evento de cibersegurança mais relevante na Espanha e um dos mais importantes na Europa. Com a missão de promover o conhecimento técnico, este congresso é um ponto de encontro fervilhante para profissionais de tecnologia e cibersegurança em todas as disciplinas.
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de cibersegurança? Você quer ver sua empresa anunciada no HackTricks? ou você quer ter acesso à versão mais recente do PEASS ou baixar o HackTricks em PDF? Verifique os PLANOS DE ASSINATURA!
- Descubra The PEASS Family, nossa coleção exclusiva de NFTs
- Obtenha o swag oficial do PEASS & HackTricks
- Junte-se ao grupo Discord ou ao grupo telegram ou siga-me no Twitter @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para o repositório hacktricks e hacktricks-cloud.