الفرق الزرقاء — الدفاعخبير100mL77

تحليل الذاكرة الجنائي مع Volatility

التقاط الذاكرة، plugins، اكتشاف rootkits، تحليل process injection

#Forensics#Volatility#Memory#Rootkit#DFIR

لماذا الذاكرة أصعب وأهم من القرص

تشبيه — شرح مبسط
تخيل أنك تحقق في جريمة في فندق. القرص هو دفتر تسجيل النزلاء — يخبرك من حجز ومن خرج، لكن لا يكشف من كان في الردهة لحظة الجريمة. الذاكرة (RAM) هي الردهة نفسها لحظة الحادثة: من كان يتحدث، أي عمليات كانت قيد التشغيل، أي اتصالات شبكية مفتوحة. هذا ما لا يستطيع المالوير إخفاءه عن الذاكرة.

في الـ DFIR الحديث، أكثر المالوير المتطورة هي fileless — لا تكتب على القرص أبداً، تعيش بالكامل في الذاكرة. هذا الدرس عن Volatility 3، الإطار المعياري لتحليل dump للذاكرة على Windows / Linux / macOS.

التقاط الذاكرة (Acquisition)

01
Windows
powershell
# WinPmem (مفتوح المصدر، Velociraptor الآن)
.\winpmem.exe -o C:\evidence\memory.raw

# Magnet RAM Capture (تجاري، GUI، صفر آثار)
# DumpIt — أبسط، single command

# Hyper-V / VMware: snapshot ثم vmss → vmem
# vmss2core أو vol3 يقرأ vmem مباشرة
02
Linux
bash
# AVML — Microsoft، يعمل بدون kernel module
sudo ./avml memory.lime

# LiME (Linux Memory Extractor)
sudo insmod lime.ko "path=/evidence/mem.lime format=lime"

# /proc/kcore — حذر: قد يكون متاحاً للقراءة، يحتاج dwarf للقراءة
03
السلسلة الجنائية (Chain of Custody)
SHA256 فوراً بعد الالتقاط. وقّع رقمياً. سجّل من، متى، وأي أداة. الذاكرة لا يمكن إعادة التقاطها — اللحظة فات.

Volatility 3 — الـ plugins الأساسية

bash
# تحديد البروفايل (Vol3 يفعل ذلك تلقائياً غالباً)
vol -f mem.raw windows.info

# 1. العمليات الجارية
vol -f mem.raw windows.pslist
vol -f mem.raw windows.pstree    # هرمي
vol -f mem.raw windows.psscan    # يكشف العمليات المخفية

# 2. الاتصالات الشبكية (مفتاح اكتشاف C2)
vol -f mem.raw windows.netscan
vol -f mem.raw windows.netstat

# 3. مكتبات DLL لكل عملية
vol -f mem.raw windows.dlllist --pid 1234

# 4. خيوط (Threads) و callstacks
vol -f mem.raw windows.threads --pid 1234

# 5. Registry hive scan
vol -f mem.raw windows.registry.hivelist
vol -f mem.raw windows.registry.printkey --key "Software\Microsoft\Windows\CurrentVersion\Run"

اكتشاف Process Injection

الـ injection (T1055) هو حقن code في عملية شرعية لإخفاء النشاط. Volatility يكشفه عبر تحليل memory regions.

01
malfind — السلاح الأول
bash
vol -f mem.raw windows.malfind
# يكشف صفحات RWX غير مرتبطة بملف على القرص — عَلَم أحمر
$ vol -f compromise.raw windows.malfind
Process: explorer.exe PID: 4532 VAD: 0x7ff5d0000000-0x7ff5d000ffff Protection: PAGE_EXECUTE_READWRITE Notes: Hexdump shows MZ header — DLL injected without LoadLibrary [!] Injection detected
02
hollowfind
يكشف Process Hollowing (إفراغ عملية شرعية وملؤها بـ payload).
bash
vol -f mem.raw windows.hollowfind
03
استخرج الـ payload
bash
vol -f mem.raw windows.dumpfiles --pid 4532 --virtaddr 0x7ff5d0000000
# تستطيع تحليله بـ binwalk / ghidra لاحقاً

استخراج الاعتمادات

bash
# hashes من LSASS dump
vol -f mem.raw windows.hashdump
vol -f mem.raw windows.lsadump
vol -f mem.raw windows.cachedump

# Mimikatz inside memory analysis
vol -f mem.raw windows.mimikatz

حالة عملية: تحليل rootkit

01
مؤشر أولي
EDR رصد عملية باسم svchost.exe لكن من user context غير اعتيادي. dump الذاكرة فوراً.
02
فحص psscan vs pslist
bash
vol -f mem.raw windows.pslist > pslist.txt
vol -f mem.raw windows.psscan > psscan.txt
diff pslist.txt psscan.txt
# عمليات في psscan وليست في pslist = مخفية بـ DKOM rootkit
03
فحص ssdt و callbacks
bash
vol -f mem.raw windows.ssdt        # System Service Descriptor Table — kernel hooks
vol -f mem.raw windows.callbacks   # kernel callbacks — مكان شائع لـ rootkits
vol -f mem.raw windows.modules     # المكتبات النواة المحمّلة
vol -f mem.raw windows.modscan     # عبر pool tag scan — يكشف modules مخفية
الذاكرة متطايرة
بمجرد إعادة تشغيل الجهاز، كل شيء ضاع. سياسة IR صارمة: dump الذاكرة قبل أي تفاعل مع الجهاز، حتى قبل تسجيل دخول المحقق. كل خطوة تغير الذاكرة.
الدفاع — لتسهيل التحليل لاحقاً
  • فعّل Sysmon Event 1, 7, 10 (process creation, image load, lsass access)
  • EDR ينبغي أن يدعم triage automatic memory capture
  • نشر Velociraptor — يجمع memory artifacts من آلاف الأجهزة
  • سياسة Memory Integrity (Hypervisor-protected Code Integrity) لتقليل rootkits
  • اختبر playbook الـ IR شهرياً مع dump حقيقي من lab

مصادر

  • Volatility 3 documentation — volatility3.readthedocs.io
  • The Art of Memory Forensics — Ligh, Case, Levy, Walters
  • SANS FOR508 — Advanced Incident Response, Threat Hunting
  • 13Cubed YouTube — Volatility walkthroughs