
برنامج هجوم الوصول المباشر للذاكرة (DMA)
يستخدم PCILeech أجهزة PCIe لقراءة وكتابة ذاكرة النظام الهدف. يتم تحقيق ذلك باستخدام DMA عبر PCIe. لا حاجة لبرامج تشغيل على النظام الهدف.
يعمل PCILeech أيضًا بدون أجهزة مع مجموعة واسعة من طرق الحصول على الذاكرة البرمجية المدعومة من مكتبة LeechCore - بما في ذلك التقاط الذاكرة الحية عن بُعد باستخدام DumpIt أو WinPmem. يدعم PCILeech أيضًا الالتقاط المحلي للذاكرة وعددًا من تنسيقات ملفات تفريغ الذاكرة.
يدعم PCILeech أجهزة متعددة للحصول على الذاكرة. سواء كانت قائمة على الأجهزة أو البرمجيات. الأجهزة القائمة على USB3380 قادرة فقط على قراءة 4GB من الذاكرة أصلاً، ولكنها قادرة على قراءة كل الذاكرة إذا تم إدراج وحدة نواة (KMD) أولاً في نواة النظام الهدف. الأجهزة القائمة على FPGA، والطرق القائمة على البرمجيات، قادرة على قراءة كل الذاكرة.
PCILeech قادر على إدراج مجموعة واسعة من عمليات زرع النواة في النوى المستهدفة - مما يسمح بسهولة الوصول إلى الذاكرة الحية ونظام الملفات عبر "قرص مُثبّت". من الممكن أيضًا إزالة متطلب كلمة مرور تسجيل الدخول، وتحميل برامج تشغيل غير موقعة، وتنفيذ التعليمات البرمجية وإنشاء صدفات النظام. يعمل PCIleech على Windows وLinux. أنظمة الهدف المدعومة حاليًا هي إصدارات x64 من: UEFI وLinux وFreeBSD وWindows. يتطلب ذلك صلاحية الكتابة إلى الذاكرة (أجهزة USB3380، أجهزة FPGA، LiveCloudKd أو CVE-2018-1038 "Total Meltdown").
للبدء، استنسخ المصادر في المستودع أو نزّل أحدث الملفات الثنائية والوحدات وملفات التكوين.
واجهة PushPin الرسومية لـ PCILeech تجعل مهام RedTeam الشائعة سهلة للغاية. لاحظ أن PushPin ليس جزءًا من توزيع PCILeech الرسمي.







*) macOS High Sierra وما فوق غير مدعومة.
يدعم PCILeech كلاً من طرق الحصول على الذاكرة القائمة على الأجهزة والبرمجيات. يتم التعامل مع جميع عمليات الحصول على الذاكرة بواسطة مكتبة LeechCore.
يرجى الاطلاع على ملخص طرق الحصول على الذاكرة القائمة على الأجهزة المدعومة المدرجة أدناه. جميع طرق الحصول على الذاكرة القائمة على الأجهزة مدعومة على كل من Windows وLinux. ومع ذلك، تتميز الطرق القائمة على FPGA بعقوبة أداء طفيفة على Linux وستصل إلى الحد الأقصى عند حوالي: 90MB/s مقارنة بـ 150MB/s على Windows.
| الجهاز | النوع | الواجهة | السرعة | الوصول إلى ذاكرة 64-bit | الوصول إلى PCIe TLP | راعي المشروع |
|---|---|---|---|---|---|---|
| ZDMA | FPGA | Thunderbolt3 | 1000MB/s | نعم | نعم | 💖 |
| GBOX | FPGA | OCuLink | 400MB/s | نعم | نعم | 💖 |
| LeetDMA | FPGA | USB-C | 190MB/s | نعم | نعم | 💖 |
| CaptainDMA M2 | FPGA | USB-C | 190MB/s | نعم | نعم | 💖 |
| CaptainDMA M2 100T | FPGA | USB-C | 220MB/s | نعم | نعم | 💖 |
| CaptainDMA 4.1th | FPGA | USB-C | 190MB/s | نعم | نعم | 💖 |
| CaptainDMA 75T | FPGA | USB-C | 200MB/s | نعم | نعم | 💖 |
| CaptainDMA 100T | FPGA | USB-C | 220MB/s | نعم | نعم | 💖 |
| AC701/FT601 | FPGA | USB3 | 190MB/s | نعم | نعم | |
| USB3380-EVB | USB3380 | USB3 | 150MB/s | لا | لا | |
| DMA patched HP iLO | BMC | TCP | 1MB/s | نعم | لا |
يرجى الاطلاع على ملخص طرق الحصول على الذاكرة القائمة على البرمجيات المدعومة المدرجة أدناه. يرجى ملاحظة أن LeechService يوفر فقط اتصالاً شبكيًا بمكتبة LeechCore البعيدة. من الممكن استخدام كل من طرق الحصول على الذاكرة القائمة على الأجهزة والبرمجيات بمجرد الاتصال.