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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pcileech — برنامج هجوم الوصول المباشر للذاكرة (DMA) | Kitploit
أدوات/GitHubGitHub/ufrisk/pcileech
تصعيد الامتيازاتتحليل الذاكرة الجنائيالاستغلالما بعد الاستغلالالتحاليل الرقمية الجنائيةاختبار الاختراقأمن الأجهزةالفريق الأحمرأداة الوصول عن بعدتطوير الحمولات
GitHubufrisk/pcileech

pcileech

7.9k1.0k14منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

برنامج هجوم الوصول المباشر للذاكرة (DMA)

عرض المستودع

ملخص PCILeech:

يستخدم PCILeech أجهزة PCIe لقراءة وكتابة ذاكرة النظام المستهدف. يتم ذلك باستخدام DMA عبر PCIe. لا حاجة لأي برامج تشغيل على النظام المستهدف.

يعمل PCILeech أيضًا بدون عتاد مع مجموعة واسعة من طرق الحصول على البرامج المدعومة من مكتبة LeechCore - بما في ذلك التقاط الذاكرة الحية عن بُعد باستخدام DumpIt أو WinPmem. كما يدعم PCILeech التقاط الذاكرة محليًا وعددًا من تنسيقات ملفات تفريغ الذاكرة.

يدعم PCILeech أجهزة متعددة للحصول على الذاكرة، سواء كانت قائمة على العتاد أو البرامج. العتاد القائم على USB3380 قادر على قراءة 4 جيجابايت فقط من الذاكرة بشكل أصلي، ولكنه قادر على قراءة كل الذاكرة إذا تم إدخال وحدة kernel (KMD) أولاً في نواة النظام المستهدف. العتاد القائم على FPGA، والطرق القائمة على البرامج، قادران على قراءة كل الذاكرة.

PCILeech قادر على إدخال مجموعة واسعة من الغرسات النووية (kernel implants) في الأنوية المستهدفة - مما يسمح بسهولة الوصول إلى الذاكرة الحية ونظام الملفات عبر "قرص مثبت". من الممكن أيضًا إزالة شرط كلمة مرور تسجيل الدخول، تحميل برامج تشغيل غير موقعة، تنفيذ الأكواد وإنشاء قذائف النظام. يعمل PCIleech على Windows و Linux. أنظمة التشغيل المستهدفة المدعومة حاليًا هي إصدارات x64 من: UEFI و Linux و FreeBSD و Windows. يتطلب ذلك إمكانية الكتابة إلى الذاكرة (عتاد USB3380، عتاد FPGA، LiveCloudKd أو CVE-2018-1038 "Total Meltdown").

لبدء العمل، استنسخ المصادر في المستودع أو حمل أحدث الملفات التنفيذية والوحدات وملفات الإعدادات.

واجهة المستخدم الرسومية PushPin لـ PCILeech تجعل مهام RedTeam الشائعة سهلة للغاية. لاحظ أن PushPin ليس جزءًا من التوزيع الرسمي لـ PCILeech.

الإمكانيات:

  • استرداد الذاكرة من النظام المستهدف بسرعة تزيد عن 150 ميجابايت/ثانية.
  • استرداد الذاكرة عن بُعد من LeechService البعيد.
  • كتابة البيانات إلى ذاكرة النظام المستهدف.
  • يمكن الوصول إلى 4 جيجابايت من الذاكرة في وضع DMA الأصلي (عتاد USB3380).
  • يمكن الوصول إلى كل الذاكرة في وضع DMA الأصلي (عتاد FPGA).
  • يمكن الوصول إلى كل الذاكرة إذا تم تحميل وحدة kernel (KMD).
  • الوصول إلى PCIe TLP الخام (عتاد FPGA).
  • تركيب الذاكرة الحية كملف [Linux, Windows, macOS Sierra*].
  • تركيب نظام الملفات كقرص [Linux, Windows, macOS Sierra*].
  • تنفيذ كود النواة على النظام المستهدف.
  • إنشاء قذيفة نظام وملفات تنفيذية أخرى [Windows].
  • سحب ودفع الملفات [Linux, FreeBSD, Windows, macOS Sierra*].
  • التصحيح / فتح القفل (إزالة شرط كلمة المرور) [Windows, macOS Sierra*].
  • سهولة إنشاء شيل كود kernel خاص بك و/أو توقيعات مخصصة.
  • الاتصال بـ LeechAgent عن بُعد عبر الشبكة للقيام بما يلي عن بُعد:
    • تفريغ الذاكرة الفعلية عبر الشبكة.
    • تنفيذ نصوص تحليل الذاكرة بلغة Python على المضيف البعيد.
  • المزيد من الميزات غير المذكورة هنا ...

*) macOS High Sierra وما فوق غير مدعومة.

طرق الحصول على الذاكرة:

يدعم PCILeech طرق الحصول على الذاكرة القائمة على العتاد والبرامج. يتم التعامل مع كل الحصول على الذاكرة بواسطة مكتبة LeechCore.

طرق الحصول على الذاكرة القائمة على العتاد:

فيما يلي ملخص لطرق الحصول على الذاكرة القائمة على العتاد المدعومة المدرجة أدناه. جميع طرق الحصول على الذاكرة القائمة على العتاد مدعومة على كل من Windows و Linux. ومع ذلك، فإن الطرق القائمة على FPGA تعاني من انخفاض طفيف في الأداء على Linux وستصل إلى حد أقصى تقريبًا: 90 ميجابايت/ثانية مقارنة بـ 150 ميجابايت/ثانية على Windows.

طرق الحصول على الذاكرة القائمة على البرامج:

فيما يلي ملخص لطرق الحصول على الذاكرة القائمة على البرامج المدعومة المدرجة أدناه. يرجى ملاحظة أن LeechService يوفر فقط اتصالاً شبكيًا بمكتبة LeechCore عن بُعد. من الممكن استخدام طرق الحصول على الذاكرة القائمة على العتاد والبرامج بمجرد الاتصال.

تثبيت PCILeech:

يرجى التأكد من أن لديك أحدث إصدار من PCILeech بزيارة مستودع PCILeech على github على: https://github.com/ufrisk/pcileech

احصل على أحدث الملفات التنفيذية والوحدات وملفات الإعدادات من أحدث إصدار. بدلاً من ذلك، استنسخ المستودع وابنِ من المصدر.

Windows:

يرجى الاطلاع على دليل PCILeech على Windows للحصول على معلومات حول تشغيل PCILeech على Windows.

يجب تثبيت برنامج تشغيل USB الخاص بـ Google Android إذا تم استخدام عتاد USB3380. حمل برنامج تشغيل USB الخاص بـ Google Android من: http://developer.android.com/sdk/win-usb.html#download قم بفك ضغط برنامج التشغيل.
يجب تثبيت برامج تشغيل FTDI إذا تم استخدام FPGA مع بطاقة إضافة FT601 USB3 أو PCIeScreamer. حمل FTD3XX.dll 64 بت من FTDI وضعه بجانب pcileech.exe.
لتركيب الذاكرة الحية ونظام الملفات المستهدف كقرص في Windows، يجب تثبيت مكتبة نظام الملفات Dokany2. يرجى تحميل وتثبيت أحدث إصدار ثابت من Dokany2 على: https://github.com/dokan-dev/dokany/releases/latest

Linux:

يرجى الاطلاع على دليل PCILeech على Linux للحصول على معلومات حول تشغيل PCILeech على Linux.

أمثلة:

يرجى الاطلاع على صفحات ويكي المشروع لمزيد من الأمثلة. الويكي في مرحلة بناء وقد لا تزال المعلومات مفقودة.

تركيب الذاكرة الحية للنظام المستهدف ونظام الملفات، يتطلب تحميل KMD. في هذا المثال، يتم استخدام 0x11abc000.

  • pcileech.exe mount -kmd 0x11abc000

عرض المساعدة لغرسة نواة محددة، في هذا المثال غرسة النواة lx64_filepull.

  • pcileech.exe lx64_filepull -help

عرض المساعدة لأمر التفريغ.

  • pcileech.exe dump -help

تفريغ كل الذاكرة من النظام المستهدف بافتراض تحميل وحدة نواة في العنوان: 0x7fffe000.

  • pcileech.exe dump -kmd 0x7fffe000

تفريغ القسري للذاكرة أقل من 4 جيجابايت بما في ذلك الأجهزة المعينة للذاكرة القابلة للوصول باستخدام نهج USB2 الأكثر استقرارًا على USB3380.

  • pcileech.exe dump -force -device usb3380://usb=2

استقبال TLPs PCIe (حزم طبقة المعاملات) وطباعتها على الشاشة (يتطلب لوحة تطوير FPGA مهيأة بشكل صحيح).

  • pcileech.exe tlp -vv -wait 1000

اختبار / تعداد ذاكرة النظام المستهدف بحثًا عن صفحات ذاكرة قابلة للقراءة والحد الأقصى للذاكرة. (عتاد FPGA فقط).

  • pcileech.exe probe

تفريغ كل الذاكرة بين العناوين min و max، لا تتوقف عند الصفحات الفاشلة. الوصول الأصلي للذاكرة 64 بت مدعوم فقط على عتاد FPGA.

  • pcileech.exe dump -min 0x0 -max 0x21e5fffff -force

تفريغ كل الذاكرة، حاول تحديد خريطة الذاكرة من سجل النظام المستهدف لتجنب تفريغ الذاكرة غير الصالحة المحتملة التي قد تجمد الهدف.

  • pcileech.exe dump -memmap auto

فرض استخدام جهاز معين (بدلاً من الكشف التلقائي الافتراضي عنه). جهاز pmem لا يتم اكتشافه تلقائيًا.

  • pcileech.exe pagedisplay -min 0x1000 -device pmem

تفريغ الذاكرة عن بُعد من LeechAgent بعيد باستخدام اتصال مشفر ومصادق عليه بشكل متبادل بواسطة kerberos.

  • pcileech.exe dump -device pmem -remote rpc://[email protected]

تنفيذ نص تحليل Python find-rwx.py على كمبيوتر بعيد باستخدام بيئة Python المدمجة في LeechAgent.

  • pcileech.exe agent-execpy -in find-rwx.py -device pmem -remote rpc://[email protected]

تصحيح ذاكرة العملية الافتراضية لـ pid 432 (مثال lsass.exe في هذا المثال).

  • pcileech.exe patch -pid 432 -sig unlock_win10x64.sig

القيود / المشكلات المعروفة:

  • لا يعمل إذا كان نظام التشغيل يستخدم IOMMU/VT-d. هذا هو الإعداد الافتراضي على macOS (ما لم يتم تعطيله في وضع الاسترداد). لا يعمل Windows 10/11 مع تمكين ميزات الأمان القائمة على المحاكاة الافتراضية بشكل كامل.
  • الإصدارات الحديثة من Windows و Linux تمنع DMA افتراضيًا.

مجتمع PCILeech و MemProcFS:

تجد كل هذا مربكًا بعض الشيء؟ أو تريد فقط طرح سؤال سريع؟ انضم إلى خادم مجتمع DMA لـ PCILeech و MemProcFS على Discord!

البناء:

الملفات التنفيذية موجودة في قسم الإصدارات من هذا المستودع. إذا رغب شخص في بناء نسخته الخاصة، فمن الممكن القيام بذلك. يرجى الاطلاع على PCILeech على Windows أو PCILeech على Linux لمزيد من المعلومات حول بناء PCILeech. PCILeech يعتمد أيضًا على LeechCore واختياريًا (لبعض الوظائف الإضافية) على نظام ملفات عملية الذاكرة الذي يجب بناؤهما بشكل منفصل.

المساهمة:

PCILeech و MemProcFS و LeechCore هي مفتوحة المصدر ولكنها ليست مفتوحة المساهمة. تقدم PCILeech و MemProcFS و LeechCore بنية إضافات مرنة للغاية تسمح بالمساهمات في شكل إضافات. إذا كنت ترغب في تقديم مساهمة، بخلاف إضافة، للمشاريع الأساسية، فيرجى الاتصال بي قبل البدء في التطوير.

روابط:

  • Twitter: Twitter
  • Discord: Discord - PCILeech/MemProcFS
  • PCILeech: https://github.com/ufrisk/pcileech
  • PCILeech FPGA: https://github.com/ufrisk/pcileech-fpga
  • LeechCore: https://github.com/ufrisk/LeechCore
  • MemProcFS: https://github.com/ufrisk/MemProcFS
  • Blog: http://blog.frizk.net
  • PushPin: GUI for PCILeech: https://github.com/LuckyPi/PushPin

سجل التغييرات:

الإصدارات السابقة (اضغط للتوسيع):

v1.0-v3.6

  • الإصدار الأولي وتحديثات مختلفة. يرجى الاطلاع على الإصدارات الفردية للحصول على مزيد من المعلومات.

v4.0

  • تنظيف كبير وإعادة هيكلة داخلية.
  • كشف تلقائي للحد الأقصى للذاكرة FPGA واستراتيجية تفريغ أكثر استقرارًا.
  • حقن نواة Windows 10 مستقرة جديدة مع عتاد FPGA على أنظمة غير قائمة على أمان المحاكاة الافتراضية.
  • حقن وضع المستخدم (تجريبي).
  • إزالة دعم الجهاز المدمج - يتم الآن استخدام مكتبة LeechCore leechcore.dll/leechcore.so بدلاً من ذلك. الأجهزة الجديدة تشمل:
    • ملفات تفريغ الذاكرة (ملفات تفريغ خطية خام وملفات تفريغ تعطل Microsoft).
    • ملفات حفظ Hyper-V.
    • الذاكرة الحية عبر DumpIt / WinPmem.
    • الأجهزة البعيدة عبر إعداد -remote.
  • إزالة API المدمج و نظام ملفات عملية الذاكرة - يرجى استخدام واجهات برمجة التطبيقات الأكثر قدرة في LeechCore و نظام ملفات عملية الذاكرة بدلاً من ذلك.
  • تغييرات متعددة أخرى وتحديثات بناء الجملة.

v4.1

  • دعم LeechAgent - الحصول على الذاكرة عن بُعد وتحليلها.

v4.2

  • تحديثات التوقيع:
    • وحدة نواة Linux - LINUX_X64_48 (أحدث الإصدارات)
    • وحدة نواة Win10 1903 - WIN10_X64_2 (يتطلب إصدار Windows من PCILeech)

v4.3

  • إصلاحات الأخطاء.
  • دعم جهاز جديد (NeTV2 / RawUDP) عبر مكتبة LeechCore.

v4.4

  • إصلاحات الأخطاء وتحسينات الاستقرار.
  • دعم مكتبة MemProcFS v3.
  • توقيع ثنائي للملفات التنفيذية.
  • أمر "tlploop".

v4.5

v4.10

  • دعم Linux للتوقيعات المضمنة في Windows 10 (الاعتماد على MemProcFS v4.0).
  • إصدارات منفصلة لنظامي Windows و Linux.
  • تنظيف عام.

v4.11

  • دعم ذاكرة VM الحية لـ VMWare Workstation/Player.
  • دعم تحليل الذاكرة عن بُعد باستخدام أمر LeechAgent agent-forensic.
    • تشغيل وضع التحليل الجنائي MemProcFS عن بُعد.
    • استرداد بيانات JSON المتوافقة مع ElasticSearch.

v4.12

  • دعم 32 بت (ثنائي pcileech).

v4.13

  • إصلاحات الأخطاء.
  • تحسينات التركيب:
    • دعم نظام ملفات المضيف Windows: الترقية إلى Dokany2 (ملاحظة! يجب تثبيت Dokany2!).
    • دعم نظام ملفات المضيف Linux: إضافة دعم FUSE.
      مثال: ./pcileech mount /home/user/fusemnt/leechfs -kmd <your_kmd_address>
    • أصبح من الممكن الآن الوصول إلى محركات الأقراص المحلية الأخرى بخلاف C: على أهداف Windows.
  • دعم Visual Studio 2022.

v4.14

  • دعم الذاكرة الافتراضية للعملية (Windows فقط).
    • الأوامر: search, patch, write, display, pagedisplay
    • مثال: pcileech patch -pid 732 -sig unlock_win10x64.sig

v4.15

  • دعم MemProcFS v5.0

v4.16

  • تحسينات أداء FPGA.
  • إضافة الأمر none.
  • إضافة الخيارين -bar-ro و -bar-rw.

v4.17

  • دعم I/O BAR.
  • تحسينات Linux:
    • تحديث توقيع KMD (LINUX_X64_48) لدعم أحدث أنوية Ubuntu.
    • تحديث وحدات kernel لدعم أحدث الأنوية.
    • توقيع KMD جديد - LINUX_X64_MAP - حدد ملف System.map الخاص بالنظام المستهدف في الخيار -in.
    • وحدة kernel جديدة: lx64_exec_root.
  • تحسينات أداء PCIe FPGA على Linux.v4.18
  • إضافة أمر Benchmark.
  • تحديث تواقيع فتح القفل.
  • إضافة خيار -psname.

v4.19

  • تحسينات استقرار لينكس وتحسينات تحميل وحدة النواة.
  • دعم تجميع لينكس باستخدام Clang.
  • دعم macOS.

الأحدث:

  • إصلاحات للأخطاء.
  • دعم LeechAgent للينكس باستخدام gRPC (LeechCore v2.21).
  • إضافة خيار -no-kmd-mem لتعطيل الوصول إلى ذاكرة KMD اختياريًا عند تحميل KMD (قد يكون مفيدًا لأسباب تتعلق بالاستقرار في بعض الحالات).
  • إضافة خيار -kmd WIN11_X64 - توقيع KMD لويندوز 11 (اسم مستعار لـ WIN10_X64_3).
تنزيل الأداة
الجهازالنوعالواجهةالسرعةالوصول للذاكرة 64 بتالوصول لـ PCIe TLPراعي
المشروع
ZDMAFPGAThunderbolt31000MB/sنعمنعم💖
GBOXFPGAOCuLink400MB/sنعمنعم💖
LeetDMAFPGAUSB-C190MB/sنعمنعم💖
CaptainDMA M2FPGAUSB-C190MB/sنعمنعم💖
CaptainDMA M2 100TFPGAUSB-C220MB/sنعمنعم💖
CaptainDMA 4.1thFPGAUSB-C190MB/sنعمنعم💖
CaptainDMA 75TFPGAUSB-C200MB/sنعمنعم💖
CaptainDMA 100TFPGAUSB-C220MB/sنعمنعم💖
AC701/FT601FPGAUSB3190MB/sنعمنعم
USB3380-EVBUSB3380USB3150MB/sلالا
DMA patched HP iLOBMCTCP1MB/sنعملا
الجهازالنوعمتطايركتابةدعم Linuxإضافة
تفريغ الذاكرة الفعلية الخامملفلالانعملا
تفريغ تعطل Microsoft الكاململفلالانعملا
تفريغ ELF الأساسي الكاململفلالانعملا
VMwareذاكرة حيةنعمنعملالا
ملف حفظ ذاكرة VMwareملفلالانعملا
TotalMeltdownCVE-2018-1038نعمنعملالا
DumpIt /LIVEKDذاكرة حيةنعملالالا
WinPMEMذاكرة حيةنعملالالا
LiveKdذاكرة حيةنعملالالا
LiveCloudKdذاكرة حيةنعمنعملانعم
حالة حفظ Hyper-Vملفلالالانعم
LeechAgent*عن بُعدلالا
  • إصلاحات الأخطاء.
  • دعم الإصدار 2 من مكتبة الحصول على الذاكرة LeechCore.
  • تكامل MemProcFS عند التشغيل على Windows.
  • دعم خريطة الذاكرة الفعلية المعرفة من قبل المستخدم (خيار -memmap).
  • v4.6

    • دعم LiveCloudKd.

    v4.7

    • إصلاحات الأخطاء.
    • توقيع نواة مستقر جديد WIN10_X64_3 لنظام Windows 10 - بما في ذلك إصدار Win10 2004.
    • تحديثات توقيع فتح القفل - Win10/Linux (ملاحظة! أحدث الأنوية على Linux غير مدعومة بعد).

    v4.8

    • إصلاحات الأخطاء.
    • دعم أفضل لأنوية x64 Linux الحديثة.

    v4.9

    • إصلاحات الأخطاء.
    • تحديثات التوقيع.
    • دعم أفضل لأنوية x64 Linux الحديثة (Ubuntu 21.04).
    • إلغاء تثبيت القرص المثبت عند الضغط على CTRL+C.