Use Rekall to analyze memory dumps for signs of compromise including process injection, hidden processes, and suspicious network connections.
from rekall import session
from rekall import plugins
# Create a Rekall session with a memory image
s = session.Session(
filename="/path/to/memory.raw",
autodetect=["rsds"],
profile_path=["https://github.com/google/rekall-profiles/raw/master"]
)
# List processes
for proc in s.plugins.pslist():
print(proc)
# Detect injected code
for result in s.plugins.malfind():
print(result)
Key analysis steps:
from rekall import session
s = session.Session(filename="memory.raw")
# Compare pslist vs psscan for hidden processes
pslist_pids = set(p.pid for p in s.plugins.pslist())
psscan_pids = set(p.pid for p in s.plugins.psscan())
hidden = psscan_pids - pslist_pids
print(f"Hidden PIDs: {hidden}")