volatility3 icon indicating copy to clipboard operation
volatility3 copied to clipboard

PSParent Plugin Volatility 3

Open malfav opened this issue 1 month ago • 0 comments

PSParent Plugin Volatility 3

PSParent is a custom plugin for the Volatility 3 memory forensics framework.
It performs dynamic parent-child process relationship validation, using built-in Windows behavioral rules to identify process hierarchy anomalies that may indicate process injection, PPID spoofing, or other malicious tampering.


Overview

The plugin analyzes parent-child process relationships by examining:

  • Session consistency between parent and child processes
  • Process creation timestamps
  • Integrity level inheritance
  • Protected process behavior
  • Valid parent existence
  • Legitimate Windows parent-child rules for system processes

These checks allow the plugin to flag suspicious or malicious process hierarchies that deviate from expected Windows behaviors.


Detection Rules

Rule Description Detection
Parent Existence Parent process missing or terminated Process Orphaning
Session Consistency Child and parent in different sessions Cross-Session Injection
Integrity Level Child has higher integrity than parent Token Manipulation
Creation Time Child created before parent Process Tampering
Protection Consistency Protected process spawned by unprotected parent Protected Process Bypass
System Process Rules Critical system process spawned by invalid parent PPID Spoofing / Process Hollowing

Output Fields

When --verbose is off (default):

Field Description
Process Process name
PID Process ID
PPID Parent Process ID
Parent Name Name of the parent process
Status Classification of relationship (LEGITIMATE, SUSPICIOUS, MALICIOUS)
Severity Risk level (INFO, MEDIUM, HIGH, CRITICAL)
Evidence Explanation of anomaly

When --verbose is on:

Additional Fields Description
Technique Detection technique used
Confidence Confidence level of detection
Session Session ID of the process

Optional Arguments

Argument Type Description
--pid Integer Analyze a specific Process ID
--verbose Boolean Show detailed process relationship information
--debug Boolean Enable detailed logging and debug output
--show-legitimate Boolean Display legitimate relationships (default: True)

malfav avatar Nov 11 '25 07:11 malfav