Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/securityronin/memory-forensic
إدارة مؤشرات الاختراق (IOC)تحليل الذاكرة الجنائيتحليل الشبكة الجنائياستعادة البياناتتحليل البرمجيات الخبيثةالتحاليل الرقمية الجنائيةتحليل الملفات الثنائيةاستخبارات التهديداتالاستجابة للحوادثالهروب من الحاوية
GitHubsecurityronin/memory-forensic
101منذ 3 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

memory-forensic

تجوّل في أي تفريغ ذاكرة. اكشف ما هو مخفي. تحليل جنائي لنواة لينكس وويندوز من ملف Rust ثنائي واحد ثابت — لا حاجة إلى بايثون.

عرض المستودعالموقع الإلكتروني

License: Apache-2.0 CI Rust 1.75+ Platform unsafe: bounded Sponsor

memory-forensic

مجموعة أدوات تحليل ذاكرة تقوم ببناء ملف تعريف نواة Windows بنفسها — ويتم التحقق منها، عملية بعملية، مقابل Volatility 3.

mem4n6 يقرأ كل صيغ التفريغ الشائعة (LiME، AVML، ELF core، ملفات انهيار Windows، ملفات الإسبات، حالات حفظ VMware، kdump، raw…) ويتنقل عبر العمليات والخيوط والوحدات واتصالات الشبكة والذاكرة المحقونة — من ملف ثنائي ثابت واحد تترجمه مرة واحدة وتنسخه إلى أي مكان، بدون Python، وبدون بيئة تشغيل، وبدون كتالوج رموز مُجهز مسبقًا. على Windows يبني ملف التعريف الخاص به: يحدد موقع ntoskrnl في الذاكرة الفعلية، ويقرأ معرّف PDB GUID الخاص به من سجل CodeView، ويحلّل ISF المطابق لـ Volatility-3، ويستعيد قاعدة النواة تحت KASLR الحديثة، ويعيد بناء PsActiveProcessHead من جدول الرموز — نفس سلسلة البناء الذاتي التي تستخدمها Volatility 3 وMemProcFS، معاد تنفيذها في Rust.

لأن معيار أداة الأدلة هو الصحة، يتم التحقق من أداة التنقل عبر العمليات مقابل تنفيذ مرجعي مستقل — Volatility 3 — على صورة Windows 10 حقيقية بحجم 2 جيجابايت (اتفاق المرجع هو دليل قوي، وليس إثباتًا؛ البايتات الخام هي الحقيقة الأساسية):

windows.pslist on DESKTOP-SDN1RPT.memmem4n6 مقابل Volatility 3
العمليات المتطابقة94 / 94 معرّفات عمليات مشتركة — PID وPPID والاسم ووقت الإنشاء بدقة
المفقودة (وجدها vol3 ولم يجدها mem4n6)0
الإيجابيات الكاذبة (وجدها mem4n6 ولم يجدها vol3)0

يطابق mem4n6 تطابقًا تامًا مع Volatility 3 — بما في ذلك استعادة 11 عملية تيتمت بسبب تلطيخ الالتقاط المباشر عبر اجتياز ثنائي الاتجاه لـ ActiveProcessLinks. ويؤكد مصدر تحقق مستقل ثانٍ (MemProcFS) مجموعة فرعية نظيفة — حيث أن process_list الخاص به المكوّن من 77 عملية مضمن بالكامل في مجموعة mem4n6، مع صفر عمليات خاصة بـ MemProcFS فقط (التفاصيل). راجع docs/validation.md للحصول على الفروق الكاملة وخطوات إعادة الإنتاج.

بدء سريع

ثبّت باستخدام cargo install mem4n6، أو احصل على ملف ثنائي ثابت مُجمّع مسبقًا من أحدث إصدار — إصدارات Linux هي static-PIE (musl: انسخ في أي مكان، بلا glibc)، مع macOS وWindows وملف SHA-256 checksums.txt بجانبها.

أو ابنِ من المصدر (أمر واحد تقريبًا):```bash git clone https://github.com/SecurityRonin/memory-forensic.git cd memory-forensic && cargo build --release ./target/release/mem4n6 --help

root@kitploit:~
ذلك البناء التطويري يربط libc ديناميكيًا؛ لإعادة إنتاج الثنائي الثابت بالكامل الخاص بالإصدار محليًا، أضف هدف musl: `rustup target add x86_64-unknown-linux-musl && cargo build --release --target x86_64-unknown-linux-musl`.```bash
# Inspect any dump — format, ranges, embedded metadata (no symbols needed)
mem4n6 info win10.mem

# Windows process tree. The ISF is resolved from the kernel's own PDB GUID;
# raw .mem dumps take the page-table base via --cr3 (crash dumps carry their own).
mem4n6 ps --symbols ntkrnlmp.json --cr3 0x1ad000 --tree win10.mem

# Linux process tree from a LiME capture
mem4n6 ps --symbols linux.json --tree memdump.lime

# Air-gapped lab? Never touch the network for symbols:
mem4n6 ps --symbols ntkrnlmp.json --offline win10.mem

Symbol files are ISF JSON — نفس الحزم التي يستخدمها Volatility 3، لذا فإن ذاكرة التخزين المؤقتة للرموز الموجودة تعمل كما هي.


لماذا mem4n6

mem4n6 هي، على حد علمنا، التطبيق الوحيد بلغة Rust لسلسلة التفريغ الكامل ← فحص النواة ← PDB-GUID ← تحليل الرموز ← DTB. سلسلة نسب هذه التقنية — خادم رموز WinDbg، وpdbparse لـ Brendan Dolan-Gavitt، وRekall، وVolatility 3، وMemProcFS لـ Ulf Frisk — راسخة جيدًا؛ يعيد mem4n6 تنفيذها بأسلوب الغرفة النظيفة (clean-room) ويتحقق من النتيجة مقابل المرجع. MemNixFS يجلب الفكرة نفسها الذاكرة-كنظام-ملفات إلى نسخ Linux — التركيب والتصفح، مع رموز مشتقة من BTF الخاص بالنواة عندما لا توجد ISF؛ خلايا n/a أعلاه تشير إلى اختلاف في النطاق (صور Linux وتجربة مستخدم نظام الملفات، مقابل أداة CLI الخاصة بـ mem4n6 والمعتمدة على Windows)، وليس فجوة. يستند مرتكز boot low-stub / PROCESSOR_START_BLOCK إلى Alex Ionescu's REcon 2017 Getting Physical.


التثبيت```bash

git clone https://github.com/SecurityRonin/memory-forensic.git cd memory-forensic cargo build --release ./target/release/mem4n6 --help

root@kitploit:~
---

## مرجع سريع```bash
# Show dump format and physical memory ranges
mem4n6 info memdump.dmp

# Process tree with threads and DLLs
mem4n6 ps --symbols ntkrnlmp.json --tree --threads --dlls memdump.dmp

# Network connections (json / csv / table)
mem4n6 net --symbols ntkrnlmp.json --output json memdump.dmp

# Kernel integrity checks (SSDT, IDT, callbacks, hooks)
mem4n6 check --symbols ntkrnlmp.json --ssdt --callbacks memdump.dmp

# Linux syscall hook and malfind scan
mem4n6 check --symbols linux.json --hooks --malfind memdump.lime

# String extraction with YARA rules
mem4n6 strings --rules ./yara-rules/ --min-length 8 memdump.dmp

# Hash lookup against NSRL (known-good) and MalwareBazaar (known-bad)
mem4n6 hash --lookup memdump.dmp

# Extract framebuffer screenshot from live memory dump
mem4n6 framebuf --symbols linux.json --png screen.png memdump.dmp

# Recover files from tmpfs mounts + detect memfd fileless ELF execution
mem4n6 check --symbols linux.json --tmpfs-recovery --memfd memdump.lime

# Detect EDR bypass: direct syscalls, ETW patching, AMSI/DSE bypass
mem4n6 check --symbols ntkrnlmp.json --direct-syscalls --etw-patch --amsi-bypass memdump.dmp

# Novel kernel interface abuse: io_uring, netfilter hooks, perf_event
mem4n6 check --symbols linux.json --io-uring --netfilter --perf-event memdump.lime

# Cross-artifact ATT&CK correlation across all walkers
mem4n6 correlate --symbols ntkrnlmp.json --output json memdump.dmp

Symbol files are ISF JSON, compatible with Volatility 3 symbol packs.


التحقق من سلامة النواة — خطافات غير مرئية من نظام التشغيل```bash

SSDT, IDT, ftrace, LSM, and kernel callback checks in one pass

mem4n6 check --symbols linux.json --hooks --idt --syscalls memdump.lime

root@kitploit:~
The input content for chunk 11 is missing (the INPUT section is empty). Please provide the actual markdown text for chunk 11 so I can translate it into Arabic.```
[HOOK]  sys_call_table[59]  execve  → 0xffffffffc0a2f3d0  (outside kernel text)
[HOOK]  ftrace_ops[0]  target: vfs_read  → 0xffffffffc0a2f410  (module: libymv_ko)
[HOOK]  security_inode_getattr  → 0xffffffffc0a2f450  (LSM hook patched)

ثلاثة أنواع من الخطافات — جدول استدعاءات النظام، ftrace، و LSM — كلها تشير إلى نفس وحدة النواة. ويؤكد التدقيق المتبادل لقائمة الوحدات أنها ليست ضمن المجموعة الموثوقة.


التحليل السلوكي لروتكيت LD_PRELOAD

مطابقة أنماط الأسماء لا تلتقط المتغيرات المعاد تجميعها أو المعاد تسميتها لروتكيت. تحليل الرموز الديناميكية في ELF يكتشفها بغض النظر عن الاسم:```bash mem4n6 check --symbols linux.json --elf-hooks memdump.lime

root@kitploit:~
لم يتم توفير أي محتوى في قسم INPUT لترجمته. يرجى إرسال النص المطلوب ترجمته.```
[ROOTKIT] /tmp/.x/libhider.so  signals=[elf.hooks.process_hiding, elf.hooks.pam_credential_theft]
  exports: readdir64, getdents64, pam_get_item, pam_authenticate
  MITRE: T1014 (Rootkit), T1556.003 (Modify Authentication Process)
  loaded in 100% of processes (23/23)

[ROOTKIT] /tmp/.x/libhider.so  .rodata match: "UID:%d:" (Father PAM hook format string, weight=90)

memf-linux يفحص كل مكتبة مُحمّلة في ذاكرة العملية بحثًا عن:

  • مطابقة جداول الخطاف — 17 رمزًا من رموز libc/استدعاءات النظام المعروفة باعتراضها من قِبل الجذور الخفية (rootkits) مثل (readdir64, getdents64, pam_get_item, write, …) مصنّفة وفقًا لتصنيف إشارات forensicnomicon
  • تصديرات libc الظلّية — المكتبات التي تُصدّر دالة بنفس اسم رمز libc تعترض جميع المستدعين في وقت الربط
  • أثر سلاسل فئة الأب — سلاسل تنسيق مدمجة داخل .rodata (مثل UID:%d: وsilly.txt) تبقى بعد تجريد الثنائيات وتغيير الأسماء
  • الانتشار العالمي — المكتبات المُحمّلة في ≥90% من العمليات يتم وضع علامة عليها كحقن محتمل عبر LD_PRELOAD

أسرار DPAPI واستخراج بيانات الاعتماد```bash

Extract DPAPI master keys from LSASS g_MasterKeyCache linked list

mem4n6 check --symbols ntkrnlmp.json --dpapi-keys memdump.dmp

Detect Chrome cookies (v10/v20 encrypted blobs) from heap memory

mem4n6 check --symbols ntkrnlmp.json --browser-cookies memdump.dmp

root@kitploit:~
I need to translate the content, but the provided input after "INPUT:" is empty. There is no text to translate. Per the rules, I return only the translated content, which in this case is nothing.```
[DPAPI] GUID={A1B2C3D4-...}  blob_len=680  source=lsass.exe
[COOKIE] msedge.exe  domain=.github.com  name=user_session  value=secretvalue...
[COOKIE] chrome.exe  (v10-encrypted)  — key material required for decryption

تغطي أدوات استخراج بيانات الاعتماد في Windows ما يلي:

  • مفاتيح DPAPI الرئيسية — تستعرض القائمة المرتبطة g_MasterKeyCache في LSASS، وتستخرج GUID والكتلة المشفرة لكل مفتاح رئيسي مخزّن مؤقتًا
  • ملفات تعريف الارتباط في Chrome v10/v20 — فحص ثنائي لذاكرة الكومة في Chromium للعثور على كتل ملفات تعريف الارتباط المشفرة بـ AES-GCM (البادئة v10/v20 + nonce بطول 12 بايت)؛ يتم فك تشفيرها عند توفر مادة المفتاح
  • تجزئات SAM/NTLM، تذاكر Kerberos، مفاتيح BitLocker، أسرار LSA — مجموعة كاملة من بيانات الاعتماد

استخراج لقطات الشاشة من الإطار المؤقت```bash

mem4n6 framebuf --symbols ntkrnlmp.json --png screen.png memdump.dmp

root@kitploit:~
يستخرج إطار التخزين المؤقت (framebuffer) من تفريغ ذاكرة حي أو من وضع الإسبات ويكتبه بصيغة PNG. يعمل على كل من لينكس (ماسح `drm_framebuffer` في DRM/KMS) وويندوز (إطار جلسة عبر فحص تجمع `win32k`). مفيد لالتقاط حالة الشاشة في لحظة الاقتناء دون تشغيل الصورة.

---

## استعادة الملفات التي لم تلمس القرص

المهاجمون الذين يستخدمون tmpfs أو `memfd_create(2)` لا يتركون أي آثار لنظام الملفات — فالثنائي موجود في ذاكرة الوصول العشوائي فقط.```bash
# Recover inodes and file content from Linux tmpfs/ramfs mounts
mem4n6 check --symbols linux.json --tmpfs-recovery memdump.lime

# Detect ELF binaries running from anonymous memfd file descriptors
mem4n6 check --symbols linux.json --memfd memdump.lime

[No input content provided after "INPUT:"]``` [TMPFS] /tmp/.x (dev=tmpfs) 3 inodes recovered inode 12: ELF x86_64 size=847KB sha256=deadbeef... (no disk copy) inode 13: config.sh size=1.2KB content recovered inode 14: keys.txt size=512B content recovered

[MEMFD] pid=2341 (python3) fd=4 name="" size=3.4MB ELF x86_64 No path on disk — binary executed entirely from anonymous memory. MITRE: T1620 (Reflective Code Loading)

root@kitploit:~
استرداد tmpfs يجتاز جدول `vfsmount` في النواة ويعيد بناء محتوى inode من صفحات page-cache. ويجتاز كشف memfd جدول واصفات الملفات المفتوحة لكل عملية ويضع علامات على inodes مجهولة الهوية تم إنشاؤها باستخدام `memfd_create(2)`.

---

## اكتشاف مراوغة EDR وقمع السجلات

تقوم الأدوات الهجومية الحديثة بترقيع أدوات الفحص الأمني في Windows في الذاكرة لتجنب الاكتشاف دون لمس القرص.```bash
# Direct syscalls — Syswhispers/Hell's Gate bypass Win32 API entirely
mem4n6 check --symbols ntkrnlmp.json --direct-syscalls memdump.dmp

# ETW patching — log suppression via ret/xor at ETW write functions
mem4n6 check --symbols ntkrnlmp.json --etw-patch memdump.dmp

# AMSI bypass — script-scanning suppression via amsi.dll patch
mem4n6 check --symbols ntkrnlmp.json --amsi-bypass memdump.dmp

# DSE bypass — Driver Signature Enforcement disabled for unsigned drivers
mem4n6 check --symbols ntkrnlmp.json --dse-bypass memdump.dmp

Please provide the Markdown content to translate.``` [DIRECT-SYSCALL] powershell.exe (PID 4412) stub at 0x7ff800a1000 mov r10,rcx / mov eax,0x3c / syscall — NtCreateThreadEx bypassing ntdll MITRE: T1055.012 (Process Injection: Process Hollowing)

[ETW-PATCH] svchost.exe (PID 1200) EtwEventWrite → ret at offset +0 Expected: 4C 8B DC Got: C3 90 90 (patched to immediate return) MITRE: T1562.006 (Impair Defenses: Indicator Blocking)

[AMSI-BYPASS] powershell.exe (PID 4412) AmsiScanBuffer → xor eax,eax / ret MITRE: T1562.001 (Impair Defenses: Disable or Modify Tools)

[DSE-BYPASS] g_CiEnabled=0 CipInitialize patch detected MITRE: T1014 (Rootkit), T1553.006 (Subvert Trust Controls)

root@kitploit:~
---

## إساءة استخدام واجهة نواة لينكس الحديثة

بعيدًا عن خطافات استدعاءات النظام الكلاسيكية، تسيء الروتكيتات الحديثة استخدام أنظمة فرعية أحدث للنواة. يغطي `memory-forensic` جميع الأنواع الثلاثة:```bash
mem4n6 check --symbols linux.json --io-uring --netfilter --perf-event memdump.lime

جاهز للترجمة. يرجى تزويدي بالمحتوى المراد ترجمته.``` [IO_URING] pid=3311 (malware) ring at 0x7f0000000000 ops=1024 pending SQPOLL thread pinned to cpu=0 — I/O continues without process context MITRE: T1071 (Application Layer Protocol)

[NETFILTER] NF_INET_PRE_ROUTING hook[0] → 0xffffffffc0b31240 (outside kernel text) Module not in module list — DKOM-hidden or manually unmapped MITRE: T1014 (Rootkit)

[PERF-EVENT] pid=1 (systemd) type=HARDWARE cpu=-1 overflow_handler patched → 0xffffffffc0b31500 MITRE: T1056 (Input Capture)

root@kitploit:~
## مؤشرات الهروب من الحاوية```bash
mem4n6 check --symbols linux.json --container-escape memdump.lime

لا يوجد محتوى في هذا الجزء؛ حقل الإدخال فارغ. لا يوجد نص لترجمته.``` [CONTAINER-ESCAPE] pid=8801 (bash) shares host user namespace uid_map: 0 0 4294967295 (full host UID range — privileged mapping) cgroup: / (host root cgroup, not namespaced) mount ns: host (same as pid 1) MITRE: T1611 (Escape to Host)

root@kitploit:~
يتنقّل عبر مساحات أسماء user وmount وPID وnet وcgroup لكل عملية، ويعلّم العمليات التي يجب أن تكون معزولة لكنها تشارك مساحات أسماء على مستوى المضيف — وهي البصمة البنيوية للهروب من الحاوية بغض النظر عن طريقة تحقيقه.

---

## الربط عبر القطع الأثرية مع ATT&CK

`memf-correlate` يجمع نتائج جميع أدوات المسح في خط زمني، ويقيّم الشذوذات حسب الخطورة، ويربط كلًا منها بتقنيات MITRE ATT&CK دون تشغيل أدوات المسح واحدة تلو الأخرى:```bash
mem4n6 correlate --symbols ntkrnlmp.json --output json memdump.dmp > findings.json

Please provide the Markdown content to translate.```json { "technique": "T1055.012", "name": "Process Hollowing", "severity": "critical", "evidence": [ { "source": "vad", "detail": "svchost.exe VAD 0x140000–0x160000 RWX, no backing file" }, { "source": "ldrmodules","detail": "module in VAD but absent from InLoadOrderList" }, { "source": "iat_hooks", "detail": "CreateRemoteThread IAT entry patched → 0x14001a30" } ], "process": { "name": "svchost.exe", "pid": 1200, "ppid": 508 } }

root@kitploit:~
يتم ربط نتائج ماسحات العمليات والشبكة والوحدات والخطافات والاعتمادات حسب العملية والوقت قبل التقييم — مما ينتج نتائج موسومة بـ ATT&CK بدلاً من مخرجات لكل ماسح يتعين على المحلل ضمّها يدويًا.

---

## تنسيقات الذاكرة المدعومة

| التنسيق | المصدر | اكتشاف تلقائي |
|---|---|---|
| LiME (`.lime`) | وحدة نواة لينكس | نعم |
| AVML v2 | Azure AVML | نعم |
| ELF Core | QEMU، `gcore` | نعم |
| Windows Crash Dump (`.dmp`) | DumpIt، WinDbg | نعم |
| Hiberfil.sys | الإسبات / بدء التشغيل السريع في ويندوز | نعم |
| VMware State (`.vmss`, `.vmsn`) | VMware Workstation / ESXi | نعم |
| kdump / diskdump | `makedumpfile` | نعم |
| Raw / flat | أي وسيلة احتياطية | نعم |

يتم اكتشاف التنسيق من ترويسات الملفات — لا حاجة لأي خيارات.

---

## ما المختلف

أقرب البدائل هي **Volatility 3** (Python، بنية إضافات)، **MemProcFS** (C مع روابط Rust، موجه أساسًا لويندوز)، **Rekall** (Python، توقف صيانته)، و**MemNixFS** (C++، تفريغات لينكس تُركَّب كنظام ملفات). تعكس المقارنة أدناه النواة الرسمية لكل أداة ومستودع الإضافات المعروف. يستهدف MemNixFS صور *لينكس* بواجهة مستخدم كنظام ملفات، لذلك يشارك mem4n6 في استعادة ملفات ذاكرة التخزين المؤقت للصفحات، لكنه `n/a` في صفوف التوصيف الذاتي لويندوز وتجاوز EDR.

### التكافؤ — قدرات مشتركة مع الأدوات الناضجة

| | memory-forensic | Volatility 3 | MemProcFS | MemNixFS | Rekall |
|--|:-:|:-:|:-:|:-:|:-:|
| ماسحات نواة لينكس وويندوز | ✅ | ✅ | ويندوز أولًا | لينكس فقط | ✅ |
| تعداد العمليات والوحدات والشبكة | ✅ | ✅ | ✅ | ✅ | ✅ |
| كشف الذاكرة المحقونة | ✅ | ✅ | ✅ | ✅ | ✅ |
| متوافق مع حزم رموز ISF | ✅ | ✅ | — | ✅ | — |
| يعمل على لينكس / ماك | ✅ | ✅ | جزئي | لينكس + ويندوز | ✅ |
| مُصان بنشاط | ✅ | ✅ | ✅ | ✅ | — |
| مجاني ومفتوح المصدر | ✅ | ✅ | ✅ | بدون ترخيص | ✅ |

### قدرات غائبة عن التوزيعات الرسمية للأدوات الأخرى

| | memory-forensic | Volatility 3 | MemProcFS | MemNixFS | Rekall |
|--|:-:|:-:|:-:|:-:|:-:|
| مكوّن ثابت واحد — بدون Python أو بيئة تشغيل | ✅ | — | — | جزئي | — |
| واجهة برمجة مكتبة للتضمين في أدوات Rust | ✅ | — | ✅ | — | — |
| بصمة روتكيت السلوكية لـ ELF | ✅ | — | — | — | — |
| استعادة ملفات tmpfs / ramfs | ✅ | — | — | ✅ | — |
| كشف التنفيذ بدون ملفات عبر memfd | ✅ | — | — | — | — |
| كشف استدعاءات النظام المباشرة / تجاوز EDR | ✅ | plugin? | — | n/a | — |
| كشف تجاوز ETW / AMSI / DSE | ✅ | plugin? | — | n/a | — |
| إساءة استخدام io_uring / netfilter / perf\_event | ✅ | — | — | — | — |
| مؤشرات الهروب من الحاويات | ✅ | — | — | — | — |
| استخراج مفاتيح DPAPI وكوكيز كروم | ✅ | plugin? | — | n/a | — |
| أدلة وصول مجلدات Shellbags من الذاكرة ‡ | ✅ | — | — | n/a | — |
| لقطة شاشة من فريمبفر | ✅ | plugin? | — | — | — |
| ربط ATT&CK عبر الأرتيفاكتات | ✅ | — | — | — | — |
| إخراج آمن — RFC 4180، حماية من حقن الصيغ، وإزالة الأحرف ثنائية الاتجاه | ✅ | — | — | — | — |

> **`plugin?`** — قد توجد هذه القدرة في النظام البيئي لمجتمع Volatility 3 ولكنها غائبة عن النواة الرسمية ومستودع الإضافات وقت كتابة هذا. تحقق قبل الاستنتاج.
>
> **‡ Shellbags من الذاكرة** — استعادت Volatility 2 الـ Shellbags من ذاكرة الوصول العشوائي (إضافة المجتمع `shellbags`، Kovar ثم Lo)؛ ولم تعِد Volatility 3 نقلها، لذا تراجعت استعادة الـ Shellbags من الذاكرة فقط خلال الانتقال من vol2 إلى vol3. تمر mem4n6 مباشرة عبر `Shell\BagMRU` في خلية `UsrClass.dat`/`NTUSER.DAT` الموجودة في الذاكرة — لاستعادة القدرة من عصر vol2 في حالة الذاكرة فقط (بدون الحصول على قرص)، أو لتأكيد الخلية الموجودة على القرص. الطريق المعتاد عندما يكون القرص *متاحًا* هو تركيب الصورة وتشغيل SBECmd / RegRipper على ملف الخلية؛ وتدمج مشية الذاكرة الخطوة المزدوجة المتمثلة في تفريغ الخلية ثم تحليلها في خطوة واحدة. التحقق من **المستوى 2**: أرضية حقيقية مستمدة من `regipy` على الخلية المستخرجة من `citadeldc01.mem` — لا يوجد مفتاح إجابة من طرف ثالث منشور لحالة Szechuan، لذا فهذا دليل ذاتي مشتق (أداة حقيقية + صورة حقيقية)، وليس مفتاحًا من طرف ثالث.

---

## ثق ولكن تحقق

أداة تعالج صور ذاكرة **غير موثوقة ويمكن للمهاجم التحكم فيها** يجب أن ترفض الكذب وترفض الانهيار. صُممت mem4n6 وفق هذا المعيار:

- **خالٍ من الانهيار عبر الفحص البرمجي عند الإدخال العدائي.** تمنع مسارات التحليل `unwrap`/`expect`/`panic!` والفهرسة غير المفحوصة (`clippy::unwrap_used`/`expect_used` = deny)؛ كل قراءة لطول أو إزاحة أو مؤشر تُفحص حدودها وتتدهور بأمان — قائمة العمليات الملطخة تُرجع ما وجدته ولا توقف التنفيذ. (واجهات البناء تتعرض للانهيار عند خطأ مبرمج — حقل مطلوب مفقود — بحكم التصميم، وليس أبدًا بسبب محتوى التفريغ).
- **آمنة على الذاكرة افتراضيًا.** `unsafe_code = "deny"` على مستوى مساحة العمل بأكملها؛ الاستخدام الوحيد لـ `unsafe` هو تعيينات ملفات `memmap2` المقيّدة (التفريغ، ملف الصفحة، وقاعدة بيانات الهاش المعروفة)، وقد تم تبرير كل منها على حدة — وبالتالي شارة *مقيّد (mmap فقط)* بدلاً من *محظور*.
- **تم التحقق منه مقابل مرجع مستقل، وليس فقط تجهيزاتنا الخاصة.** تتم مقارنة ماسح عمليات ويندوز مع Volatility 3 على صورة Win10 حقيقية بحجم 2 جيجابايت — تطابق تام في كل عملية مشتركة، ولا نتائج إيجابية كاذبة ([`docs/validation.md`](https://github.com/securityronin/memory-forensic/blob/HEAD/docs/validation.md)).
- **إخراج آمن.** كل قناة (جدول/CSV/JSON) تطبق اقتباس RFC 4180، وحماية من حقن الصيغ في الجداول، وإزالة الأحرف ثنائية الاتجاه/أحرف التحكم قبل وصول السلاسل التي يتحكم فيها المهاجم إلى طرفيتك أو خط الأنابيب.

## استخدام المكتبة```rust
use mem4n6_format::open;
use mem4n6_core::vas::{TranslationMode, VirtualAddressSpace};
use mem4n6_core::object_reader::ObjectReader;
use mem4n6_symbols::isf::IsfResolver;

// Open any supported format — detected from file headers
let dump = open("memdump.dmp")?;
let symbols = IsfResolver::from_file("ntkrnlmp.json")?;

// Walk the x86_64 4-level page table
let vas = VirtualAddressSpace::new(dump.clone(), TranslationMode::X64, cr3);
let reader = ObjectReader::new(vas, Box::new(symbols));

// Walk EPROCESS list
for proc in reader.eprocess_list()? {
    println!("{} (PID {})", proc.image_name()?, proc.pid()?);
}

تخطيط Crate

عرض تخطيط Crate
```toml # Use individual crates in your own tooling [dependencies] memf-core = "0.1" memf-linux = "0.1" memf-windows = "0.1" ``` ---

مستخدَم بواسطة

issen — يتولّى الأمر الفرعي issen mem4n6 عمليات جمع الذاكرة وإعداد تقارير الفرز الأولي مباشرةً من مساحة العمل هذه.


شكر وتقدير

Andrew Case و**مؤسسة Volatility** اللذين يتوافق هذا المشروع معهما على مستوى الرموز (symbol-compatible) في تنسيق ISF وبنية الإضافات.

Brendan Dolan-Gavitt — الذي أفادت أبحاثُه حول DKOM وإخفاء العمليات القائم على VAD في تطوير ماسحات كشف العمليات المخفية (walkers).

Ulf Frisk / MemProcFS — الذي أثّر نموذجه القائم على نظام الملفات كواجهة للذاكرة وتصميم الوضع الجنائي فيه على الطريقة التي تُبرز بها هذه المكتبة القطع الأثرية المستعادة.

jam1garner — بفضل binrw — التحليل التعريفي لتنسيقات البيانات الثنائية الذي يجعل طبقة التنسيق آمنة وقابلة للقراءة.

S12 — المقال Kernel Dynamic Offset Resolution Using PDB Symbols الذي وثّق السلسلة الكاملة لمسح تفريغ الذاكرة بحثًا عن PE الخاص بـ ntoskrnl، واستخراج CodeView PDB GUID، وجلب PDB المطابق من msdl.microsoft.com في وقت التشغيل. ألهمت هذه التقنية مباشرةً تنفيذ AutoProfile في memf-symbols.

Alex Ionescu — Getting Physical With USB Type-C: Windows 10 RAM Forensics and UEFI Attacks (REcon Brussels 2017)، الذي وثّق أن HalpLowStub الخاص بـ HAL هو PROCESSOR_START_BLOCK غير الموثّق — نقطة الارتكاز في الذاكرة الفعلية المنخفضة (يتم مسحها بالتوقيع في 0x1000–0x100000) والتي تحمل CR3/DTB للنواة وتلميحًا إلى عنوان النواة الافتراضي (kernel-VA). وهذا هو الأساس لكل من find_low_stub واستعادة DTB / عنوان قاعدة النواة من دون ترويسة (header-less) في memf-symbols.

Microsoft Symbol Server (msdl.microsoft.com) — لاستضافته ملفات PDB العامة لكل إصدار من نواة Windows، وهو المصدر العلوي (upstream) الذي يجعل حلّ الرموز في وقت التشغيل ممكنًا دون ملفات رموز مُجهّزة مسبقًا.


سياسة الخصوصية · شروط الخدمة · © 2026 Security Ronin Ltd.

تنزيل الأداة
mem4n6Volatility 3MemProcFSMemNixFS
النشرRust · ملف ثنائي ثابت واحدPython · مفسر + تبعياتC(+Rust) · مكتباتC++ · تركيب نظام ملفات
التحليل الذاتي لنظام Windows (فحص ← PDB GUID ← رموز)✅✅✅n/a — نسخ Linux
DTB بلا ترويسة عبر low stub للإقلاع + قاعدة نواة بدقة صفحة✅PML4 ذاتي المرجع + فحص الصورة✅ low stubn/a — Linux
وضع الرموز دون اتصال / معزول شبكيًا✅ --offlineحزمة ISF أو شبكةرموز / شبكة✅ BTF-from-dump
خالٍ من الـ panic على التفريغات غير الموثوقة (unsafe-deny; unwrap/expect مرفوضان في مسارات التحليل)✅——— (C++)
متحقق منه مقابل Volatility 3✅ (docs/validation.md)— (المرجع)——
Crateالغرض
memf-formatاكتشاف التنسيق ومزوّدو الذاكرة الفعلية. محلّلات لـ LiME وAVML وELF Core وWindows Crash Dump وhiberfil.sys وVMware state وkdump والصور الخام المسطّحة.
memf-coreالتنقّل في جداول الصفحات (x86_64 رباعي المستويات/خماسي المستويات، AArch64، x86 PAE/non-PAE)، وObjectReader عالي المستوى لاجتياز بنى النواة، والوصول إلى ملف الصفحة، وفك ضغط LZO، وترميز لقطات الشاشة framebuffer→PNG (مقترنًا بمتجوّلي framebuffer في Linux EFI/VESA وWindows win32k).
memf-linuxمتجوّلات نواة Linux: قائمة عمليات task_struct، واتصالات الشبكة، ووحدات النواة، والملفات المفتوحة، وبرامج eBPF، واكتشاف خطافات ftrace/IDT/syscall، وتعداد مساحات الأسماء وcgroups، واكتشاف العمليات المخفية عبر DKOM، ومؤشرات هروب الحاويات، وتحليل الرموز الديناميكية ELF وبصمات سلوك روتكيت LD_PRELOAD، واكتشاف الانتشار العام للمكتبات، وما يقارب 45 متجوّلًا إضافيًا.
memf-windowsمتجوّلات نواة Windows NT: تعداد EPROCESS/ETHREAD، وقوائم DLL والسائقين، وجداول المقابض، ومقابس الشبكة، وفحص وسوم التجمعات، وجداول الاستدعاءات، وSSDT، وETW، والحافظة، وذاكرة DNS المؤقتة، وتذاكر Kerberos، واستخراج المفاتيح الرئيسية DPAPI من LSASS g_MasterKeyCache، واكتشاف ملفات تعريف الارتباط المشفّرة بتقنية AES-GCM في Chrome v10/v20، ومفاتيح BitLocker، وتجزئات SAM/NTLM، واكتشاف الذاكرة المحقونة، وما يقارب 55 متجوّلًا إضافيًا.
memf-stringsاستخراج السلاسل النصية (ASCII وUTF-8 وUTF-16LE) مع تصنيفها عبر التعبيرات النمطية إلى فئات مؤشرات التسوية IoC: عناوين URL، وعناوين IP، والنطاقات، ومفاتيح التسجيل، وعناوين محافظ العملات الرقمية، والمفاتيح الخاصة، وأوامر الشل.
memf-symbolsحلّ الرموز من ملفات ISF JSON وBTF (Linux) وPDB. يتضمّن AutoProfile — حلّ بنى نواة Windows دون أي إعداد: يفحص تفريغ الذاكرة بحثًا عن ntoskrnl، ويجلب ملف PDB الدقيق من msdl.microsoft.com، ويحلّله، ويعيد SymbolResolver. لا يلزم وجود ملف رموز.
memf-correlateالربط بين القطع الأثرية مع وسم تقنيات MITRE ATT&CK، وإعادة بناء شجرة العمليات، وتقييم الشذوذ، وتوليد الخط الزمني.
forensic-hashdbقواعد بيانات تجزئات صفرية الإيجابيات الكاذبة: بحث NSRL/CIRCL عن الملفات المعروفة الجيدة، وبحث MalwareBazaar/VirusShare عن الملفات المعروفة الضارة، وتجزئات سائقين Windows الضعفاء المضمّنة من loldrivers.io.