Forense de Memória

A análise forense de memória RAM representa uma disciplina crítica e especializada dentro da investigação digital, focada na extração e análise de dados voláteis que existem apenas enquanto o sistema está em execução. Diferentemente da forense tradicional de disco, que examina dados persistentes armazenados em discos rígidos ou SSDs, a forense de memória captura o estado exato do sistema no momento da aquisição, revelando processos em execução, conexões de rede ativas, credenciais em memória, chaves criptográficas, malware fileless e artefatos que atacantes sofisticados deixam propositalmente apenas na RAM para evitar detecção. Esta técnica tornou-se indispensável na investigação de ameaças avançadas (APTs), ransomware moderno, e ataques que utilizam técnicas de living-off-the-land, onde os invasores operam exclusivamente em memória utilizando ferramentas legítimas do sistema operacional. A janela temporal para coleta é crítica: uma vez que o sistema seja desligado, reiniciado ou entre em modo de hibernação, esses artefatos voláteis são irremediavelmente perdidos, tornando a rapidez e metodologia de aquisição fatores determinantes para o sucesso da investigação forense.

Por Que Forense de Memória

Artefatos voláteis são perdidos no desligamento. Memória contém:

  • Processos em execução: Malware fileless, injeções de código
  • Conexões de rede: C2 active connections, sockets abertos
  • Credenciais: Passwords em plaintext, hashes NTLM cached
  • Criptografia: Chaves de criptografia em memória
  • Registry hives: Modificações não persistidas
  • Handles e DLLs: Injeções, hooking, rootkits

Aquisição de Memória

Ferramentas de Aquisição

  • FTK Imager: Ferramenta gratuita AccessData, interface gráfica
  • DumpIt: Executável portátil de uma linha, rápido
  • WinPmem: Open-source, suporta aquisição de kernel memory
  • Magnet RAM Capture: Free tool, fácil de usar
  • LiME (Linux): Loadable Kernel Module para Linux systems
  • Belkasoft RAM Capturer: Funciona mesmo com anti-dumping

Considerações de Aquisição

  • Adquirir memória ANTES de investigar - análise altera estado
  • Sistema live: usar ferramentas que minimizam footprint
  • Sistema virtual: snapshot VM ou extrair .vmem
  • Sistema físico: considerar aquisição via FireWire/Thunderbolt DMA
  • Documentar hora exata da aquisição para timeline

Análise com Volatility

Volatility Framework é ferramenta open-source padrão-ouro para análise de memória, suportando Windows, Linux, macOS e diversos formatos de dump.

Comandos Essenciais

      # Identificar profile do sistema
      vol.py -f memory.dmp imageinfo
      # Listar processos
      vol.py -f memory.dmp --profile=Win10x64 pslist
      vol.py -f memory.dmp --profile=Win10x64 pstree
      # Processos ocultos (DKOM)
      vol.py -f memory.dmp --profile=Win10x64 psxview
      # Conexões de rede
      vol.py -f memory.dmp --profile=Win10x64 netscan
      # DLLs carregadas
      vol.py -f memory.dmp --profile=Win10x64 dlllist -p <PID>
      # Linha de comando dos processos
      vol.py -f memory.dmp --profile=Win10x64 cmdline
      # Dumps de processos
      vol.py -f memory.dmp --profile=Win10x64 procdump -p <PID> -D output/
      # Extração de credenciais
      vol.py -f memory.dmp --profile=Win10x64 hashdump
      vol.py -f memory.dmp --profile=Win10x64 lsadump
      

Análise de Malware Fileless

Malware fileless reside apenas em memória, usando ferramentas legítimas (PowerShell, WMI) para evitar AV. Técnicas de detecção:

  • Process injection: Buscar por memória RWX, remote threads
  • PowerShell análise: Comandos suspeitos em console history
  • Hollowing: Processos legítimos com código substituído
  • Reflective DLL Injection: DLLs não mapeadas em disco

Exemplo: Detectando Process Injection

      # Buscar VADs suspeitos (memória RWX)
      vol.py -f memory.dmp --profile=Win10x64 malfind
      # Listar injeções de código
      vol.py -f memory.dmp --profile=Win10x64 hollowfind
      # Análise de handles suspeitos
      vol.py -f memory.dmp --profile=Win10x64 handles -p <PID> -t Process,Thread
      

Extração de Credenciais

Memória frequentemente contém credenciais em plaintext ou facilmente crackeáveis:

  • LSASS dump: NT hashes, Kerberos tickets, plaintext passwords
  • Registry hives: SAM, SYSTEM para hashdump offline
  • Browser memory: Senhas de formulários, cookies de sessão
  • App-specific: Credenciais de apps (email, VPN, etc.)

Timeline Reconstrution

Correlacionar eventos da memória com outros artefatos:

      # Timeline de processos e conexões
      vol.py -f memory.dmp --profile=Win10x64 timeliner --output=body --output-file=timeline.body
      # Converter para formato legível
      mactime -b timeline.body -d > timeline.csv
      

Rootkits e DKOM

Direct Kernel Object Manipulation (DKOM) oculta processos modificando kernel structures. Detectar através de comparação entre múltiplas fontes:

  • psxview: Compara pslist, psscan, thrdproc, etc.
  • driverirp: Lista drivers e seus IRP hooks
  • ssdt: System Service Descriptor Table hooks
  • idt: Interrupt Descriptor Table modifications

Volatility Plugins Avançados

  • yarascan: Scan memória com regras YARA
  • strings: Extração de strings de processos específicos
  • clipboard: Conteúdo do clipboard do Windows
  • notepad: Texto de janelas de Notepad abertas
  • mftparser: Recuperar $MFT da memória
  • svcscan: Listar Windows services

Ferramentas Complementares

  • Rekall: Fork do Volatility com features adicionais
  • Redline: Interface gráfica da FireEye para análise
  • MemProcFS: Monta memory dump como filesystem
  • Bulk Extractor: Extração em massa de features

Desafios

  • Dumps grandes (16GB+ RAM) são lentos para analisar
  • Técnicas anti-forensics podem corromper dumps
  • Encrypted memory requer keys para análise
  • Estruturas de kernel mudam entre OS versions

Recomendações Finais

Forense de memória é essencial para investigar ataques avançados e malware fileless. Automatize aquisição de memória em incidentes suspeitos via EDR. Pratique análise com memory dumps públicos (DFIRScience, Volatility Foundation). Sempre correlacione achados de memória com disk forensics e network forensics para visão completa do incidente.