RootedCON é o evento de cibersegurança mais relevante na Espanha e um dos mais importantes na Europa. Com a missão de promover conhecimento técnico, este congresso é um ponto de encontro fervilhante para profissionais de tecnologia e cibersegurança em todas as disciplinas.
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)
O Volatility tem duas abordagens principais para plugins, que às vezes são refletidas em seus nomes. Os plugins "list" tentarão navegar pelas estruturas do Kernel do Windows para recuperar informações como processos (localizar e percorrer a lista encadeada das estruturas _EPROCESS na memória), identificadores do sistema operacional (localizando e listando a tabela de identificadores, desreferenciando quaisquer ponteiros encontrados, etc). Eles se comportam mais ou menos como a API do Windows se solicitada, 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 usar DKOM para desvincular um processo da lista encadeada _EPROCESS, ele não aparecerá no Gerenciador de Tarefas e nem na lista de processos.
Os plugins "scan", por outro lado, adotarão uma abordagem semelhante à escultura da memória em busca de coisas que podem fazer sentido quando desreferenciadas como estruturas específicas. psscan, por exemplo, lerá a memória e tentará criar objetos _EPROCESS a partir dela (ele usa varredura de pool-tag, que procura por strings de 4 bytes que indicam a presença de uma estrutura de interesse). A vantagem é que ele pode encontrar processos que foram encerrados e, mesmo que o malware manipule a lista encadeada _EPROCESS, o plugin ainda encontrará a estrutura perdida na memória (pois ela 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 fornecer falsos positivos (um processo que foi encerrado há muito tempo e teve partes de sua estrutura sobrescritas por outras operações).
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 tabelas de símbolos para os vários sistemas operacionais estão disponíveis para download em:
Se deseja usar um novo perfil que baixou (por exemplo, um perfil linux), 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:
A partir daqui: 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 múltiplos). Este plugin escaneia as assinaturas do KDBGHeader vinculadas aos perfis do Volatility e aplica verificações de sanidade para reduzir falsos positivos. A verbosidade da saída e o número de verificações de sanidade que podem ser realizadas dependem se o Volatility pode encontrar um DTB, então, se você já conhece o perfil correto (ou se tiver uma sugestão de perfil do imageinfo), certifique-se de usá-lo a partir de .
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á algum processo relacionado (Isso ocorre porque para extrair processos é necessário o endereço KDBG correto).
O bloco de depuração do kernel, referido como KDBG pelo Volatility, é crucial para tarefas forenses realizadas pelo Volatility e vários depuradores. Identificado como KdDebuggerDataBlock e do tipo _KDDEBUGGER_DATA64, ele contém referências essenciais como PsActiveProcessHead. Esta referência específica aponta para o início da lista de processos, permitindo a listagem de todos os processos, o que é fundamental para uma análise de memória minuciosa.
Informações do SO
#vol3 has a plugin to give OS information (note that imageinfo from vol2 will give you OS info)./vol.py-ffile.dmpwindows.info.Info
O plugin banners.Banners pode ser usado no vol3 para tentar encontrar banners linux no dump.
./vol.py-ffile.dmpwindows.hashdump.Hashdump#Grab common windows hashes (SAM+SYSTEM)./vol.py-ffile.dmpwindows.cachedump.Cachedump#Grab domain cache hashes inside the registry./vol.py-ffile.dmpwindows.lsadump.Lsadump#Grab lsa secrets
O Volatility é uma ferramenta poderosa para análise de dumps de memória. Abaixo estão alguns comandos úteis para análise de dumps de memória com o Volatility:
volatility--profile=Win7SP1x86_23418hashdump-ffile.dmp#Grab common windows hashes (SAM+SYSTEM)volatility--profile=Win7SP1x86_23418cachedump-ffile.dmp#Grab domain cache hashes inside the registryvolatility--profile=Win7SP1x86_23418lsadump-ffile.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.
RootedCON é o evento de cibersegurança mais relevante na Espanha e um dos mais importantes na Europa. Com a missão de promover conhecimento técnico, este congresso é um ponto de encontro fervilhante para profissionais de tecnologia e cibersegurança em todas as disciplinas.
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.
python3vol.py-ffile.dmpwindows.pstree.PsTree# Get processes tree (not hidden)python3vol.py-ffile.dmpwindows.pslist.PsList# Get process list (EPROCESS)python3vol.py-ffile.dmpwindows.psscan.PsScan# Get hidden process list(malware)
A seguir estão alguns comandos úteis do Volatility para análise de despejo de memória:
imageinfo: exibe informações gerais sobre a imagem de memória.
pslist: lista os processos em execução.
pstree: exibe os processos em formato de árvore.
dlllist: lista as DLLs carregadas em cada processo.
handles: exibe os identificadores de objeto aberto para cada processo.
cmdline: exibe os argumentos da linha de comando de cada processo.
filescan: escaneia a memória em busca de estruturas de dados de arquivos.
dumpfiles: extrai arquivos da memória.
malfind: encontra possíveis malwares na memória.
apihooks: exibe os ganchos de API em cada processo.
ldrmodules: exibe os módulos carregados em cada processo.
svcscan: lista os serviços do Windows.
connections: exibe informações de conexão de rede.
connscan: escaneia a memória em busca de objetos de conexão de rede.
netscan: encontra sockets de rede e conexões.
autoruns: exibe os pontos de entrada de inicialização automática.
printkey: exibe as chaves do registro do Windows.
hivelist: exibe os hives do registro do Windows.
hashdump: extrai hashes de senha do sistema.
userassist: exibe programas frequentemente usados.
shellbags: exibe pastas acessadas recentemente.
mbrparser: analisa o Registro Mestre de Inicialização (MBR).
devicetree: exibe a árvore de dispositivos.
modscan: escaneia a memória em busca de módulos do kernel.
moddump: extrai módulos do kernel da memória.
yarascan: escaneia a memória em busca de padrões com o Yara.
yarascan: escaneia a memória em busca de padrões com o Yara.
yara: executa regras Yara em um arquivo ou processo.
memmap: exibe os intervalos de memória usados por um processo.
vadinfo: exibe informações sobre regiões de memória virtuais.
vaddump: extrai regiões de memória virtuais.
vadtree: exibe as regiões de memória virtuais em formato de árvore.
vadwalk: exibe as regiões de memória virtuais em um processo.
dlldump: extrai uma DLL específica da memória.
dumpregistry: extrai uma chave de registro específica.
dumpregistrykeys: extrai chaves de registro de um processo.
dumpregistryvalues: extrai valores de registro de um processo.
dumpcerts: extrai certificados da memória.
dumpfiles: extrai arquivos da memória.
dumpregistry: extrai uma chave de registro específica.
dumpregistrykeys: extrai chaves de registro de um processo.
dumpregistryvalues: extrai valores de registro de um processo.
dumpcerts: extrai certificados da memória.
hivedump: extrai um hive do registro.
hivelist: exibe os hives do registro.
printkey: exibe as chaves do registro.
printkey -K: exibe uma chave de registro específica.
printkey -o: exibe as subchaves de uma chave de registro.
printkey -v: exibe os valores de uma chave de registro.
printkey -y: exibe os valores de uma chave de registro em formato RAW.
hashdump: extrai hashes de senha do sistema.
hashdump -s: extrai hashes de senha do sistema em formato SAM.
hashdump -l: extrai hashes de senha do sistema em formato LSA.
hashdump -h: extrai hashes de senha do sistema em formato hexadecimal.
hashdump -a: extrai todos os hashes de senha do sistema.
hashdump -c: extrai hashes de senha do sistema em formato CrackMapExec.
hashdump -k: extrai hashes de senha do sistema em formato de chave de registro.
hashdump -d: extrai hashes de senha do sistema em formato de despejo de memória.
hashdump -p: extrai hashes de senha do sistema em formato de arquivo de texto.
hashdump -o: extrai hashes de senha do sistema em formato Ophcrack.
hashdump -j: extrai hashes de senha do sistema em formato John the Ripper.
hashdump -m: extrai hashes de senha do sistema em formato de matriz.
hashdump -b: extrai hashes de senha do sistema em formato de arquivo de backup.
hashdump -x: extrai hashes de senha do sistema em formato de arquivo XML.
hashdump -g: extrai hashes de senha do sistema em formato de arquivo GPG.
hashdump -u: extrai hashes de senha do sistema em formato de arquivo Unix.
hashdump -w: extrai hashes de senha do sistema em formato de arquivo de palavra-passe.
hashdump -r: extrai hashes de senha do sistema em formato de arquivo Rainbow.
hashdump -f: extrai hashes de senha do sistema em formato de arquivo de força bruta.
hashdump -e: extrai hashes de senha do sistema em formato de arquivo de exportação.
hashdump -i: extrai hashes de senha do sistema em formato de arquivo de importação.
hashdump -n: extrai hashes de senha do sistema em formato de arquivo de rede.
hashdump -m: extrai hashes de senha do sistema em formato de arquivo de matriz.
hashdump -t: extrai hashes de senha do sistema em formato de arquivo de texto.
hashdump -z: extrai hashes de senha do sistema em formato de arquivo ZIP.
hashdump -q: extrai hashes de senha do sistema em formato de arquivo de consulta.
hashdump -v: extrai hashes de senha do sistema em formato de arquivo de verificação.
hashdump -y: extrai hashes de senha do sistema em formato de arquivo YARA.
hashdump -u: extrai hashes de senha do sistema em formato de arquivo Unix.
hashdump -w: extrai hashes de senha do sistema em formato de arquivo de palavra-passe.
hashdump -r: extrai hashes de senha do sistema em formato de arquivo Rainbow.
hashdump -f: extrai hashes de senha do sistema em formato de arquivo de força bruta.
hashdump -e: extrai hashes de senha do sistema em formato de arquivo de exportação.
hashdump -i: extrai hashes de senha do sistema em formato de arquivo de importação.
hashdump -n: extrai hashes de senha do sistema em formato de arquivo de rede.
hashdump -m: extrai hashes de senha do sistema em formato de arquivo de matriz.
hashdump -t: extrai hashes de senha do sistema em formato de arquivo de texto.
hashdump -z: extrai hashes de senha do sistema em formato de arquivo ZIP.
hashdump -q: extrai hashes de senha do sistema em formato de arquivo de consulta.
hashdump -v: extrai hashes de senha do sistema em formato de arquivo de verificação.
hashdump -y: extrai hashes de senha do sistema em formato de arquivo YARA.
hashdump -u: extrai hashes de senha do sistema em formato de arquivo Unix.
hashdump -w: extrai hashes de senha do sistema em formato de arquivo de palavra-passe.
hashdump -r: extrai hashes de senha do sistema em formato de arquivo Rainbow.
hashdump -f: extrai hashes de senha do sistema em formato de arquivo de força bruta.
hashdump -e: extrai hashes de senha do sistema em formato de arquivo de exportação.
hashdump -i: extrai hashes de senha do sistema em formato de arquivo de importação.
hashdump -n: extrai hashes de senha do sistema em formato de arquivo de rede.
hashdump -m: extrai hashes de senha do sistema em formato de arquivo de matriz.
hashdump -t: extrai hashes de senha do sistema em formato de arquivo de texto.
hashdump -z: extrai hashes de senha do sistema em formato de arquivo ZIP.
hashdump -q: extrai hashes de senha do sistema em formato de arquivo de consulta.
hashdump -v: extrai hashes de senha do sistema em formato de arquivo de verificação.
hashdump -y: extrai hashes de senha do sistema em formato de arquivo YARA.
volatility--profile=PROFILEpstree-ffile.dmp# Get process tree (not hidden)volatility--profile=PROFILEpslist-ffile.dmp# Get process list (EPROCESS)volatility--profile=PROFILEpsscan-ffile.dmp# Get hidden process list(malware)volatility--profile=PROFILEpsxview-ffile.dmp# Get hidden process list
Despejar proc
./vol.py -f file.dmp windows.dumpfiles.DumpFiles --pid <pid> #Dump the .exe and dlls of the process in the current directory
A seguir estão alguns comandos úteis do Volatility para análise de despejo de memória:
imageinfo: exibe informações gerais sobre a imagem de memória.
pslist: lista os processos em execução.
pstree: exibe os processos em formato de árvore.
psscan: verifica os processos ocultos.
dlllist: lista as DLLs carregadas em cada processo.
handles: exibe os identificadores de objeto aberto para cada processo.
cmdline: exibe os argumentos da linha de comando de cada processo.
consoles: lista os consoles associados a cada processo.
filescan: verifica os arquivos mapeados na memória.
svcscan: lista os serviços do Windows.
connections: exibe as conexões de rede.
malfind: procura por possíveis malwares na memória.
apihooks: identifica possíveis ganchos de API.
ldrmodules: lista os módulos carregados em cada processo.
modscan: verifica os módulos do kernel.
ssdt: exibe a Tabela de Despacho de Serviço do Sistema.
callbacks: lista os callbacks do kernel.
driverirp: exibe as IRPs (Pacotes de Solicitação de E/S) manipuladas por drivers.
devicetree: exibe a árvore de dispositivos.
printkey: exibe as chaves do Registro de impressão.
privs: lista os privilégios de cada processo.
getsids: exibe os SIDs (Identificadores de Segurança) associados a cada processo.
hivelist: lista os hives do Registro.
hashdump: extrai hashes de senha do SAM e do sistema.
userassist: exibe programas frequentemente usados.
shellbags: lista pastas acessadas recentemente.
mftparser: analisa a Tabela de Arquivos Mestres (MFT).
mbrparser: analisa o Registro Mestre de Inicialização (MBR).
python3vol.py-ffile.dmpwindows.cmdline.CmdLine#Display process command-line arguments
A seguir estão alguns comandos úteis do Volatility para análise de despejo de memória:
imageinfo: exibe informações gerais sobre a imagem de memória.
pslist: lista os processos em execução.
pstree: exibe os processos em formato de árvore.
psscan: verifica os processos ocultos.
dlllist: lista as DLLs carregadas em cada processo.
handles: exibe os identificadores de objeto aberto para cada processo.
cmdline: mostra os argumentos da linha de comando de cada processo.
consoles: lista os consoles associados a cada processo.
vadinfo: exibe informações sobre regiões de memória alocadas.
vadtree: exibe as regiões de memória em formato de árvore.
malfind: procura por possíveis malwares na memória.
apihooks: identifica possíveis ganchos de API.
ldrmodules: lista os módulos carregados em cada processo.
modscan: verifica módulos do kernel carregados.
ssdt: exibe a Tabela de Despacho de Serviços do Sistema.
callbacks: lista os callbacks do kernel.
devicetree: exibe a árvore de dispositivos.
driverirp: exibe IRPs de drivers do kernel.
svcscan: lista os serviços do Windows.
connections: exibe informações de conexões de rede.
connscan: verifica conexões de rede.
sockets: lista os sockets de rede.
sockscan: verifica sockets de rede.
netscan: verifica conexões de rede.
autoruns: lista os programas que são executados automaticamente.
printkey: exibe informações sobre uma chave de registro.
hivelist: lista as chaves de registro presentes na memória.
hashdump: extrai hashes de senha do SAM.
userassist: exibe informações sobre programas usados pelos usuários.
shellbags: lista pastas acessadas recentemente.
mbrparser: analisa o Registro Mestre de Inicialização.
mftparser: analisa a Tabela de Arquivos Mestra.
yarascan: executa varredura com Yara.
dumpfiles: extrai arquivos do espaço de endereço do kernel.
dumpregistry: extrai chaves de registro.
dumpcerts: extrai certificados.
memmap: exibe um mapa de memória.
memdump: faz o despejo da memória.
linux_bash: exibe comandos Bash executados.
linux_psaux: exibe informações sobre processos Linux.
linux_proc_maps: exibe mapas de memória de processos Linux.
linux_proc_maps: exibe mapas de memória de processos Linux.
linux_lsof: exibe arquivos abertos por processos Linux.
linux_check_afinfo: verifica informações de soquete AF_INET.
linux_check_creds: verifica credenciais de processos Linux.
linux_check_fop: verifica ponteiros de função de operações de arquivo.
linux_check_idt: verifica a Tabela de Despacho de Interrupção.
linux_check_modules: verifica módulos do kernel Linux.
linux_check_syscall: verifica a tabela de chamadas do sistema.
linux_check_syscalltbl: verifica a tabela de chamadas do sistema.
linux_check_sysctl: verifica variáveis de controle do sistema.
linux_check_sysmap: verifica o mapa de memória do kernel.
linux_check_task_struct: verifica a estrutura de tarefas do kernel.
linux_check_timer_list: verifica a lista de temporizadores do kernel.
linux_check_vma: verifica áreas de memória virtuais.
linux_lsmod: lista módulos do kernel Linux.
linux_pslist: lista processos Linux.
linux_pstree: exibe processos Linux em formato de árvore.
linux_check_tty: verifica terminais de controle de texto.
linux_ifconfig: exibe informações de configuração de rede.
linux_netstat: exibe estatísticas de rede.
linux_route: exibe tabela de roteamento.
linux_dump_map: faz o despejo de um mapa de memória.
linux_dump_mem: faz o despejo da memória.
linux_banner: exibe informações do kernel Linux.
linux_cpuinfo: exibe informações da CPU.
linux_dmesg: exibe mensagens do kernel.
linux_idt: exibe a Tabela de Despacho de Interrupção.
linux_interrupts: exibe interrupções.
linux_mount: exibe pontos de montagem.
linux_slabinfo: exibe informações sobre caches de objetos.
linux_uname: exibe informações do sistema.
linux_version: exibe a versão do kernel.
linux_check_afinfo: verifica informações de soquete AF_INET.
linux_check_creds: verifica credenciais de processos Linux.
linux_check_fop: verifica ponteiros de função de operações de arquivo.
linux_check_idt: verifica a Tabela de Despacho de Interrupção.
linux_check_modules: verifica módulos do kernel Linux.
linux_check_syscall: verifica a tabela de chamadas do sistema.
linux_check_syscalltbl: verifica a tabela de chamadas do sistema.
linux_check_sysctl: verifica variáveis de controle do sistema.
linux_check_sysmap: verifica o mapa de memória do kernel.
linux_check_task_struct: verifica a estrutura de tarefas do kernel.
linux_check_timer_list: verifica a lista de temporizadores do kernel.
linux_check_vma: verifica áreas de memória virtuais.
linux_lsmod: lista módulos do kernel Linux.
linux_pslist: lista processos Linux.
linux_pstree: exibe processos Linux em formato de árvore.
linux_check_tty: verifica terminais de controle de texto.
linux_ifconfig: exibe informações de configuração de rede.
linux_netstat: exibe estatísticas de rede.
linux_route: exibe tabela de roteamento.
linux_dump_map: faz o despejo de um mapa de memória.
linux_dump_mem: faz o despejo da memória.
linux_banner: exibe informações do kernel Linux.
linux_cpuinfo: exibe informações da CPU.
linux_dmesg: exibe mensagens do kernel.
linux_idt: exibe a Tabela de Despacho de Interrupção.
linux_interrupts: exibe interrupções.
linux_mount: exibe pontos de montagem.
linux_slabinfo: exibe informações sobre caches de objetos.
linux_uname: exibe informações do sistema.
linux_version: exibe a versão do kernel.
volatility--profile=PROFILEcmdline-ffile.dmp#Display process command-line argumentsvolatility--profile=PROFILEconsoles-ffile.dmp#command history by scanning for _CONSOLE_INFORMATION
Comandos executados no cmd.exe são gerenciados pelo conhost.exe (ou csrss.exe em sistemas anteriores ao Windows 7). Isso significa que se o cmd.exe for encerrado por um atacante antes que um despejo de memória seja obtido, ainda é possível recuperar o histórico de comandos da sessão da memória do conhost.exe. Para fazer isso, se atividades incomuns forem detectadas nos módulos do console, a memória do processo conhost.exe associado deve ser despejada. Em seguida, ao procurar strings dentro desse despejo, linhas de comando usadas na sessão podem ser potencialmente extraídas.
Ambiente
Obtenha as variáveis de ambiente de cada processo em execução. Pode haver alguns valores interessantes.
python3vol.py-ffile.dmpwindows.envars.Envars [--pid <pid>]#Display process environment variables
Folha de dicas do Volatility
Comandos básicos
imageinfo: exibe informações básicas sobre a imagem de memória
pslist: lista os processos em execução
pstree: exibe os processos em formato de árvore
psscan: escaneia todos os processos
dlllist: lista as DLLs carregadas por cada processo
cmdline: exibe os argumentos da linha de comando de um processo
filescan: escaneia os handles de arquivo
handles: exibe os handles de arquivo de um processo
vadinfo: exibe informações sobre regiões de memória alocadas
vadtree: exibe as regiões de memória alocadas em formato de árvore
malfind: encontra possíveis malwares na memória
yarascan: escaneia a memória em busca de padrões com o Yara
Plugins úteis
malfind: encontra possíveis malwares na memória
timeliner: cria uma linha do tempo dos processos
dumpfiles: extrai arquivos da memória
apihooks: detecta possíveis ganchos de API
ldrmodules: lista os módulos carregados
svcscan: lista os serviços do Windows
connscan: escaneia as conexões de rede
autoruns: lista os programas que são executados automaticamente
printkey: exibe as subchaves e valores de uma chave de registro
hivelist: lista os hives de registro
Exemplos de uso
vol.py -f mem.raw imageinfo
vol.py -f mem.raw pslist
vol.py -f mem.raw --profile=Win7SP1x64 pstree
vol.py -f mem.raw --profile=Win7SP1x64 malfind
Dicas adicionais
Sempre especifique o perfil do sistema operacional ao usar o Volatility
Faça uma cópia da imagem de memória original para preservar a integridade dos dados
Documente todas as etapas do processo de análise de memória
Utilize plugins adicionais conforme necessário para uma análise mais aprofundada
volatility--profile=PROFILEenvars-ffile.dmp [--pid <pid>]#Display process environment variablesvolatility --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égio em serviços inesperados.
Pode ser interessante listar os processos que estão usando algum token privilegiado.
#Get enabled privileges of some processespython3vol.py-ffile.dmpwindows.privileges.Privs [--pid <pid>]#Get all processes with interesting privilegespython3 vol.py -f file.dmp windows.privileges.Privs | grep "SeImpersonatePrivilege\|SeAssignPrimaryPrivilege\|SeTcbPrivilege\|SeBackupPrivilege\|SeRestorePrivilege\|SeCreateTokenPrivilege\|SeLoadDriverPrivilege\|SeTakeOwnershipPrivilege\|SeDebugPrivilege"
A seguir estão alguns comandos úteis do Volatility para análise de despejo de memória:
imageinfo: exibe informações gerais sobre a imagem de memória.
pslist: lista os processos em execução.
pstree: exibe os processos em formato de árvore.
dlllist: lista as DLLs carregadas em cada processo.
handles: exibe os identificadores de objeto aberto para cada processo.
cmdline: exibe os argumentos da linha de comando de cada processo.
filescan: escaneia a memória em busca de estruturas de dados de arquivos.
dumpfiles: extrai arquivos do espaço de endereço de um processo.
malfind: encontra possíveis malwares na memória.
apihooks: exibe os ganchos de API em cada processo.
ldrmodules: lista os módulos carregados em cada processo.
svcscan: lista os serviços do Windows.
connections: exibe informações de conexão de rede.
connscan: escaneia a memória em busca de objetos de conexão de rede.
netscan: encontra sockets de rede e conexões.
autoruns: lista os programas que são configurados para serem executados automaticamente.
printkey: exibe informações sobre uma determinada chave do registro.
hivelist: lista os hives do registro presentes na memória.
hashdump: extrai hashes de senha do SAM ou do LSASS.
userassist: exibe programas frequentemente executados.
shellbags: exibe informações sobre pastas acessadas.
timeliner: cria uma linha do tempo dos eventos do sistema.
mftparser: analisa o Master File Table (MFT) para informações sobre arquivos.
memmap: exibe um mapa de memória do processo.
vadinfo: exibe informações sobre regiões de memória alocadas virtualmente.
vaddump: extrai regiões de memória alocadas virtualmente.
yarascan: escaneia a memória em busca de padrões usando Yara.
yarascan: escaneia a memória em busca de padrões usando Yara.
modscan: escaneia a memória em busca de módulos do kernel.
moddump: extrai módulos do kernel.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos.
atomscan: escaneia a memória em busca de objetos de espaço de usuário atômicos
#Get enabled privileges of some processesvolatility--profile=Win7SP1x86_23418privs--pid=3152-ffile.dmp|grepEnabled#Get all processes with interesting privilegesvolatility --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-ffile.dmpwindows.getsids.GetSIDs [--pid <pid>]#Get SIDs of processes./vol.py-ffile.dmpwindows.getservicesids.GetServiceSIDs#Get the SID of services
O Volatility é uma ferramenta poderosa para análise de dumps de memória. Abaixo estão alguns comandos úteis para análise de dumps de memória com o Volatility:
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.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
O seguinte é um resumo das principais funções do Volatility para análise de despejo de memória:
imageinfo: Exibe informações gerais sobre o despejo de memória.
kdbgscan: Localiza o depurador do kernel (KDBG) no despejo de memória.
kpcrscan: Localiza o Registro de Controle do Processador do Kernel (KPCR) no despejo de memória.
pslist: Lista os processos em execução no despejo de memória.
psscan: Examina os processos em execução no despejo de memória.
pstree: Exibe os processos em execução no despejo de memória em formato de árvore.
dlllist: Lista as DLLs carregadas na memória.
handles: Exibe os identificadores de objeto e os processos que possuem alças abertas.
cmdline: Exibe os argumentos da linha de comando dos processos.
netscan: Exibe informações sobre sockets de rede.
connections: Lista as conexões de rede.
sockets: Lista os sockets de rede.
svcscan: Lista os serviços.
modscan: Lista os módulos carregados.
malfind: Procura por possíveis malwares na memória.
apihooks: Detecta possíveis ganchos de API.
ldrmodules: Lista os módulos carregados.
devicetree: Exibe a árvore de dispositivos.
driverirp: Lista os IRPs de driver.
ssdt: Lista as entradas da Tabela de Despacho de Serviços do Sistema (SSDT).
gdt: Exibe a Tabela de Descritores Globais.
idt: Exibe a Tabela de Descritores de Interrupção.
callbacks: Lista os callbacks registrados.
mutantscan: Lista os Mutantes.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os átomos.
atomscan: Lista os
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 nos permite verificar a qual processo uma string pertence.
O Windows mantém o controle dos programas que você executa usando um recurso no registro chamado chaves UserAssist. Essas chaves registram quantas vezes cada programa é executado e quando foi executado pela última vez.
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.
./vol.py -f file.dmp windows.svcscan.SvcScan #List services
./vol.py -f file.dmp windows.getservicesids.GetServiceSIDs #Get the SID of services
A seguir estão alguns comandos comuns do Volatility que podem ser úteis durante a análise de um dump de memória:
imageinfo: exibe informações gerais sobre o dump de memória.
pslist: lista os processos em execução no dump de memória.
pstree: exibe os processos em formato de árvore.
dlllist: lista as DLLs carregadas em cada processo.
handles: exibe os identificadores de objetos abertos por cada processo.
cmdline: exibe os argumentos da linha de comando de cada processo.
filescan: escaneia a memória em busca de estruturas de dados de arquivos.
dumpfiles: extrai arquivos do dump de memória.
malfind: encontra possíveis injeções de malware na memória.
apihooks: identifica possíveis ganchos de API em processos.
ldrmodules: lista os módulos carregados em cada processo.
svcscan: lista os serviços do Windows.
connections: exibe informações de conexão de rede.
sockets: lista os sockets de rede.
devicetree: exibe a árvore de dispositivos.
registry: permite acessar o registro do Windows.
hivelist: lista os hives do registro.
printkey: exibe as subchaves e valores de uma determinada chave do registro.
hashdump: extrai hashes de senhas do dump de memória.
kdbgscan: encontra o valor KDBG para análise de pool.
gdt: exibe a tabela de descritores globais.
idt: exibe a tabela de descritores de interrupção.
ssdt: exibe a tabela de descritores de serviços do sistema.
callbacks: lista os callbacks do kernel.
driverirp: exibe as rotinas de tratamento de solicitação de E/S de driver.
modscan: encontra módulos do kernel carregados.
moddump: extrai um módulo do kernel.
yarascan: escaneia a memória em busca de padrões usando YARA.
mbrparser: analisa o registro de inicialização principal (MBR).
mftparser: analisa a tabela de arquivos mestre (MFT).
shellbags: analisa informações de pastas acessadas recentemente.
timeliner: cria uma linha do tempo dos eventos do sistema.
psxview: detecta processos ocultos.
autoruns: lista os programas configurados para serem executados durante a inicialização.
consoles: exibe informações sobre consoles de usuários.
desktops: lista os desktops interativos.
shimcache: analisa o cache de compatibilidade de aplicativos.
userassist: analisa informações sobre programas usados por usuários.
malfind: encontra possíveis injeções de malware na memória.
apihooks: identifica possíveis ganchos de API em processos.
ldrmodules: lista os módulos carregados em cada processo.
svcscan: lista os serviços do Windows.
connections: exibe informações de conexão de rede.
sockets: lista os sockets de rede.
devicetree: exibe a árvore de dispositivos.
registry: permite acessar o registro do Windows.
hivelist: lista os hives do registro.
printkey: exibe as subchaves e valores de uma determinada chave do registro.
hashdump: extrai hashes de senhas do dump de memória.
kdbgscan: encontra o valor KDBG para análise de pool.
gdt: exibe a tabela de descritores globais.
idt: exibe a tabela de descritores de interrupção.
ssdt: exibe a tabela de descritores de serviços do sistema.
callbacks: lista os callbacks do kernel.
driverirp: exibe as rotinas de tratamento de solicitação de E/S de driver.
modscan: encontra módulos do kernel carregados.
moddump: extrai um módulo do kernel.
yarascan: escaneia a memória em busca de padrões usando YARA.
mbrparser: analisa o registro de inicialização principal (MBR).
mftparser: analisa a tabela de arquivos mestre (MFT).
shellbags: analisa informações de pastas acessadas recentemente.
timeliner: cria uma linha do tempo dos eventos do sistema.
psxview: detecta processos ocultos.
autoruns: lista os programas configurados para serem executados durante a inicialização.
consoles: exibe informações sobre consoles de usuários.
desktops: lista os desktops interativos.
shimcache: analisa o cache de compatibilidade de aplicativos.
userassist: analisa informações sobre programas usados por usuários.
#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
./vol.py -f file.dmp windows.netscan.NetScan
#For network info of linux use volatility2
O seguinte é um resumo das principais funções do Volatility para análise de despejo de memória:
imageinfo: exibe informações gerais sobre o despejo de memória.
kdbgscan: localiza o ponteiro KDBG no despejo de memória.
kpcrscan: localiza o ponteiro KPCR no despejo de memória.
pslist: lista os processos em execução.
pstree: exibe os processos em execução em formato de árvore.
dlllist: lista os módulos DLL carregados em cada processo.
handles: exibe os identificadores de objeto abertos por cada processo.
filescan: localiza estruturas de arquivos no despejo de memória.
cmdline: exibe os argumentos da linha de comando de cada processo.
sockets: lista os sockets de rede abertos.
connections: exibe as conexões de rede ativas.
malfind: localiza possíveis artefatos de malware na memória.
apihooks: identifica possíveis ganchos de API.
ldrmodules: lista os módulos carregados em cada processo.
modscan: localiza módulos do kernel no despejo de memória.
ssdt: exibe a Tabela de Despacho de Serviços do Sistema.
callbacks: lista os callbacks do kernel.
devicetree: exibe a árvore de dispositivos.
driverirp: lista os IRPs de driver.
printkey: exibe as chaves do Registro de impressão.
privs: lista os privilégios de cada processo.
getsids: exibe os SIDs associados a cada processo.
dumpfiles: extrai arquivos do despejo de memória.
memmap: exibe um mapa de memória do despejo.
vadinfo: exibe informações sobre regiões de memória virtuais.
vaddump: extrai regiões de memória virtuais específicas.
yarascan: executa varreduras YARA na memória.
malfind: localiza possíveis artefatos de malware na memória.
apihooks: identifica possíveis ganchos de API.
ldrmodules: lista os módulos carregados em cada processo.
modscan: localiza módulos do kernel no despejo de memória.
ssdt: exibe a Tabela de Despacho de Serviços do Sistema.
callbacks: lista os callbacks do kernel.
devicetree: exibe a árvore de dispositivos.
driverirp: lista os IRPs de driver.
printkey: exibe as chaves do Registro de impressão.
privs: lista os privilégios de cada processo.
getsids: exibe os SIDs associados a cada processo.
dumpfiles: extrai arquivos do despejo de memória.
memmap: exibe um mapa de memória do despejo.
vadinfo: exibe informações sobre regiões de memória virtuais.
vaddump: extrai regiões de memória virtuais específicas.
./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
O Volatility é uma ferramenta poderosa para análise de dumps de memória. Abaixo estão alguns comandos úteis para análise de dumps de memória com o Volatility:
Identificar o perfil do sistema operacional:
volatility -f memdump.mem imageinfo
Listar processos em execução:
volatility -f memdump.mem pslist
Analisar processos e identificar possíveis atividades maliciosas:
volatility -f memdump.mem pstree
Analisar conexões de rede:
volatility -f memdump.mem connections
Analisar registros de eventos:
volatility -f memdump.mem evtlogs
Analisar drivers carregados:
volatility -f memdump.mem ldrmodules
Analisar portas abertas:
volatility -f memdump.mem sockets
Analisar cache DNS:
volatility -f memdump.mem cachedump
Analisar chaves de registro recentemente modificadas:
# I couldn't find any plugin to extract this information in volatility3
O Volatility é uma ferramenta poderosa para análise de dumps de memória. Abaixo estão alguns comandos úteis para análise de dumps de memória com o Volatility:
O sistema de arquivos NTFS utiliza um componente crítico conhecido como tabela de arquivos mestre (MFT). Esta tabela inclui pelo menos uma entrada para cada arquivo em um volume, cobrindo também o próprio MFT. Detalhes vitais sobre cada arquivo, como tamanho, carimbos de data/hora, permissões e dados reais, são encapsulados dentro das entradas do MFT ou em áreas externas ao MFT, mas referenciadas por essas entradas. Mais detalhes podem ser encontrados na documentação oficial.
Chaves/Certificados SSL
#vol3 allows to search for certificates inside the registry
./vol.py -f file.dmp windows.registry.certificates.Certificates
Folha de dicas do Volatility
Comandos básicos
imageinfo: exibe informações sobre a imagem de memória
pslist: lista os processos em execução
pstree: exibe os processos em formato de árvore
psscan: escaneia todos os processos
dlllist: lista as DLLs carregadas por cada processo
cmdline: exibe os argumentos da linha de comando de um processo
filescan: escaneia os handles de arquivo
handles: exibe os handles de arquivo de um processo
vadinfo: exibe informações sobre regiões de memória alocadas
vadtree: exibe as regiões de memória alocadas em formato de árvore
malfind: procura por possíveis malwares na memória
apihooks: exibe os ganchos de API
ldrmodules: lista os módulos carregados
modscan: escaneia os módulos carregados
ssdt: exibe a Tabela de Despacho de Serviços do Sistema
callbacks: exibe os callbacks do kernel
devicetree: exibe a árvore de dispositivos
driverirp: exibe os IRPs de drivers
svcscan: escaneia os serviços
connections: exibe as conexões de rede
connscan: escaneia as conexões de rede
sockets: exibe informações sobre os sockets
sockscan: escaneia os sockets
mutantscan: escaneia os objetos de mutante
atomscan: escaneia os objetos de átomo
userhandles: exibe os handles de usuário
privs: exibe os privilégios de processo
getsids: exibe os SIDs de processo
psxview: exibe os processos ocultos
cmdscan: escaneia os comandos do console
consoles: exibe informações sobre os consoles
desktops: exibe informações sobre as áreas de trabalho
idt: exibe a Tabela de Descritores Interruptores
gdt: exibe a Tabela de Descritores Globais
drives: exibe informações sobre os drivers
ss: exibe informações sobre os esquemas de segurança
modules: exibe informações sobre os módulos
moddump: faz o dump de um módulo específico
modscan: escaneia os módulos carregados
moddump: faz o dump de um módulo específico
modload: carrega um módulo específico
modunload: descarrega um módulo específico
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
dlldump: faz o dump de uma DLL específica
`dlld
#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
./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
O seguinte é um resumo das principais funções do Volatility para análise de despejo de memória:
imageinfo: exibe informações gerais sobre o despejo de memória.
kdbgscan: localiza o depurador do kernel (KDBG) na memória.
pslist: lista os processos em execução.
pstree: exibe os processos em forma de árvore.
dlllist: lista as DLLs carregadas em cada processo.
handles: exibe os identificadores de objeto aberto para cada processo.
cmdline: exibe os argumentos da linha de comando de cada processo.
filescan: localiza arquivos na memória.
malfind: encontra possíveis malwares na memória.
apihooks: identifica possíveis ganchos de API.
svcscan: lista os serviços do Windows.
connections: exibe informações de conexão de rede.
sockets: lista os sockets de rede.
devicetree: exibe a árvore de dispositivos.
modscan: lista os módulos do kernel carregados.
ssdt: exibe a Tabela de Despacho de Serviço do Sistema (SSDT).
callbacks: lista os callbacks do kernel.
mutantscan: identifica objetos de mutante.
driverirp: exibe IRPs de driver.
printkey: exibe chaves do Registro de impressão.
privs: lista os privilégios do processo.
getsids: exibe os SIDs de segurança.
dumpfiles: extrai arquivos do despejo de memória.
yarascan: executa varredura YARA em processos ou arquivos.
memmap: exibe um mapa de memória do processo.
vadinfo: exibe informações sobre regiões de memória virtuais.
vaddump: extrai regiões de memória virtuais.
vadtree: exibe regiões de memória virtuais em forma de árvore.
vadwalk: exibe regiões de memória virtuais em um processo.
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.
Se deseja usar plugins externos, certifique-se de que as pastas relacionadas aos plugins sejam o primeiro parâmetro utilizado.
./vol.py --plugin-dirs "/tmp/plugins/" [...]
O Volatility é uma ferramenta poderosa para análise de dumps de memória. Abaixo estão alguns comandos úteis para análise de dumps de memória com o Volatility:
Identificar o perfil do sistema operacional:
volatility -f memdump.mem imageinfo
Listar processos em execução:
volatility -f memdump.mem pslist
Analisar processos e identificar possíveis atividades maliciosas:
volatility -f memdump.mem pstree
Analisar conexões de rede:
volatility -f memdump.mem connections
Analisar registros de eventos:
volatility -f memdump.mem evtlogs
Analisar drivers carregados:
volatility -f memdump.mem ldrmodules
Analisar portas abertas:
volatility -f memdump.mem sockets
Analisar cache DNS:
volatility -f memdump.mem cachedump
Analisar chaves de registro recentemente modificadas:
O Volatility é uma ferramenta poderosa para análise de dumps de memória. Abaixo estão alguns comandos úteis para análise de dumps de memória com o Volatility:
É possível ler do histórico do bash na memória. Você também pode fazer dump do arquivo .bash_history, mas se estiver desativado, você ficará feliz em saber que pode usar este módulo de volatilidade.
O Volatility é uma ferramenta poderosa para análise de dumps de memória. Abaixo estão alguns comandos úteis para análise de dumps de memória com o Volatility:
O Master Boot Record (MBR) desempenha um papel crucial na gestão das partições lógicas de um meio de armazenamento, que são estruturadas com diferentes sistemas de arquivos. Ele não apenas mantém informações de layout de partição, mas também contém código executável atuando como um carregador de inicialização. Esse carregador de inicialização inicia diretamente o processo de carregamento da segunda etapa do SO (consulte carregador de inicialização de segunda etapa) ou trabalha em harmonia com o registro de inicialização de volume (VBR) de cada partição. Para conhecimento mais aprofundado, consulte a página da Wikipedia sobre MBR.
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.