Memory Forensics

Memory Forensics Definition

Memory forensics, also known as volatile memory analysis, is a specialized branch of digital forensics that focuses on the examination and analysis of the volatile memory (RAM) of a computer or digital device. Unlike traditional digital forensics, which involves analyzing data stored on non-volatile storage media like hard drives or solid-state drives, memory forensics deals with the live state of a system at a particular moment in time.

Types of Data in RAM Useful for Investigations

  • Network connections

  • File handles & Open Files

  • Registry keys

  • Running processes

  • Loaded DLLs & Drivers

  • Console command history

  • User credentials

  • Malware artifacts

  • System configurations

Process for Memory Forensics

  1. Process Identification and Verification

    • Enumerate running processes, validate origins, and check against known legitimate processes.

  2. Process Component Analysis

    • Examine associated DLLs and handles, looking for unauthorized injections.

  3. Network Activity Review

    • Analyze active connections, IPs, and domains to trace external communications.

  4. Code Injection Detection

    • Identify techniques like process hollowing by examining memory anomalies.

  5. Rootkit Detection

    • Identify deep-seated malware that embeds in OS using elevated privileges.

  6. Suspicious Elements Extraction

    • Isolate suspicious components for detailed forensic examination.

The Volatility Framework

Overview

Volatility is an open-source memory forensics tool used on various platforms to dissect memory images across operating systems, including Windows, macOS, and Linux.

Common Volatility Modules

  • pslist: Lists running processes.

  • cmdline: Shows command-line arguments.

  • netscan: Identifies network connections.

  • malfind: Detects malicious code in processes.

  • handles: Lists open handles.

  • svcscan: Scans Windows services.

  • dlllist: Lists loaded DLLs.

  • hivelist: Lists registry hives in memory.

Volatility Usage Examples

  • Forensics with Volatility Help:

  • Automatically discover profile:

  • List Running Processes:

  • Network Artifact Scanning:

  • Detect Injected Code:

  • List Loaded DLLs for Specific Process:

  • List Windows Services:

Rootkit Detection Using psscan and pslist Plugins

  • psscan plugin reveals processes hidden by rootkits:

Memory Analysis Using Strings

  • IPv4 Address Search:

  • Email Address Extraction:

  • Command Line Artifacts:

Last updated