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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PPLdump — تفريغ ذاكرة PPL باستخدام استغلال في وضع المستخدم | Kitploit
أدوات/GitHubGitHub/itm4n/ppldump
تصعيد الامتيازاتتحليل الذاكرة الجنائيالاستغلالالفريق الأحمرتطوير الحمولاتاستغلال الملفات الثنائيةArchived
GitHubitm4n/ppldump

PPLdump

تفريغ ذاكرة PPL باستخدام استغلال في وضع المستخدم

عرض المستودع
89314210منذ 4 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

PPLdump

⚠️ 2022-07-24 - اعتبارًا من Windows 10 21H2 10.0.19044.1826 (تحديث يوليو 2022)، لم يعد الاستغلال (exploit) المطبق في PPLdump يعمل. أصلاح في NTDLL يمنع الآن عمليات PPL من تحميل Known DLLs. مزيد من المعلومات هنا.

تنفذ هذه الأداة استغلالًا في مساحة المستخدم (userland) نوقش لأول مرة من قبل James Forshaw (المعروف بـ @tiraniddo) - في هذا المقال - لـ تفريغ ذاكرة أي عملية PPL كمسؤول.

كتبت مقالين عن هذه الأداة. الجزء الأول يتعلق بمفاهيم العمليات المحمية (Protected Processes) بينما يناقش الجزء الثاني تقنية الالتفاف نفسها.

  • الجزء الأول من المقال: هل تعرف حقًا عن حماية LSA (RunAsPPL)؟
  • الجزء الثاني من المقال: تجاوز حماية LSA في مساحة المستخدم

الاستخدام

ما عليك سوى تشغيل الملف التنفيذي بدون أي وسيط وستحصل على تعليمات / استخدام مفصلة.

root@kitploit:~
c:\Temp>PPLdump64.exe
 _____ _____ __      _
|  _  |  _  |  |   _| |_ _ _____ ___
|   __|   __|  |__| . | | |     | . |  الإصدار 0.4
|__|  |__|  |_____|___|___|_|_|_|  _|  بواسطة @itm4n
                                |_|

الوصف:
  تفريغ ذاكرة عملية محمية خفيفة (PPL) باستغلال *مساحة المستخدم*

الاستخدام:
  PPLdump.exe [-v] [-d] [-f] <اسم_العملية|معرف_العملية> <ملف_التفريغ>

الوسائط:
  اسم_العملية  اسم العملية المراد تفريغها
  معرف_العملية    معرف العملية المراد تفريغها
  ملف_التفريغ  مسار ملف التفريغ الناتج

الخيارات:
  -v         (مفصل) تفعيل الوضع المفصل
  -d         (تصحيح) تفعيل وضع التصحيح (يستلزم الوضع المفصل)
  -f         (إجباري) تجاوز فحص خطأ DefineDosDevice

أمثلة:
  PPLdump.exe lsass.exe lsass.dmp
  PPLdump.exe -v 720 out.dmp

الأسئلة الشائعة

هل يعمل على جميع إصدارات Windows؟

أولاً، تم تقديم PPLs مع Windows 8.1 لذا فإن الإصدارات الأقدم من Windows غير مدعومة بوضوح. يستهدف هذا المشروع بشكل أساسي Windows 10 (وإصدارات الخادم الخاصة به) ولكنني اختبرته أيضًا على إصدارات أقدم. ستجد جدولًا ملخصًا للاختبارات التي أجريتها في القسم الذي يحمل نفس الاسم.

كيف يختلف عن الأدوات الأخرى؟

عادةً ما تقوم أدوات تجاوز PPL الأخرى بتنفيذ كود عشوائي في kernel من خلال برنامج تشغيل موقّع رقميًا. هذا الأداة مختلفة لأنها تتضمن فقط حيلًا في مساحة المستخدم وتكون (تقريبًا) بدون ملفات.

"مساحة المستخدم"، تقول؟!

تستفيد هذه الأداة من خدعة ذكية جدًا نوقشت لأول مرة من قبل James Forshaw في 2018 (انظر الإشادات). تتضمن استخدام دالة API DefineDosDevice لخداع النظام لإنشاء إدخال DLL معروف اعتباطي. نظرًا لأن PPLs لا تتحقق من التوقيع الرقمي للـ DLLs المعروفة، يمكن استخدام هذا لاحقًا لتنفيذ هجوم اختطاف DLL وتنفيذ كود عشوائي داخل PPL.

هل هي حقًا "بدون ملفات"؟

على الرغم من أن هذه الأداة تقوم بهجوم اختطاف DLL كمرحلة ثانية، إلا أنها لا تنشئ ملف DLL جديدًا على القرص. بدلاً من ذلك، تستخدم معاملة NTFS لاستبدال محتوى ملف موجود افتراضيًا، وهي تقنية مستوحاة مباشرة من عمل @_ForrestOrr (انظر الإشادات).

هل يمكن لهذه الأداة أن تسبب حجب خدمة (DoS)؟

الإجابة المختصرة هي "لا". أولاً، لا تتضمن الوصول المباشر إلى kernel فلا يوجد خطر التسبب في شاشة زرقاء (BSOD) من هذه الناحية. في أسوأ السيناريوهات، قد تفشل الأداة في إزالة إدخال DLL المعروف الذي تم إنشاؤه، ولكن هذا لن يتسبب في حجب الخدمة. سيبقى هناك حتى إعادة تشغيل الجهاز التالية. نظرًا لأن الإدخال الذي تم إنشاؤه سيكون مجرد رابط رمزي يشير إلى قسم غير موجود، فإن النظام سيعود في النهاية إلى الموقع الافتراضي (أي مجلد System32) لذا لن يؤثر على البرامج الأخرى التي تعمل على الجهاز.

الاختبارات

⚠️ يفشل الاستغلال على أجهزة Windows 8.1 / Server 2012 R2 المحدثة بالكامل. لم أعرف بعد أي تصحيح تسبب في الخطأ.

root@kitploit:~
[-] فشل DefineDosDevice برمز خطأ 6 - المقبض غير صالح.

⚠️ على Windows 8.1 / Server 2012 R2، قد تحتاج أيضًا إلى ترجمة الثنائي بشكل ثابت (انظر "تعليمات البناء" أدناه).

تعليمات البناء

يتكون حل Visual Studio هذا من مشروعين (الملف التنفيذي و DLL للحمولة) يجب ترجمتهما بترتيب معين. كل شيء مهيأ مسبقًا، لذا كل ما عليك فعله هو اتباع هذه التعليمات البسيطة. يتم تضمين DLL الحمولة المترجمة تلقائيًا في الملف التنفيذي النهائي.

  1. افتح الحل باستخدام Visual Studio 2019.
  2. حدد Release / x64 أو Release / x86 حسب بنية الجهاز الهدف.
  3. Build > Build Solution (بناء > بناء الحل).

على Windows 8.1 / Server 2012 R2، قد تحتاج إلى ترجمة الثنائي بشكل ثابت.

  1. انقر بزر الماوس الأيمن على مشروع PPLdump.
  2. اذهب إلى Configuration Properties > C/C++ > Code Generation (خصائص التكوين > C/C++ > إنشاء الكود).
  3. حدد Multi-threaded (/MT) كخيار Runtime Library (مكتبة وقت التشغيل).
  4. قم ببناء الحل.

الإشادات

  • @tiraniddo - حيل استغلال Windows: استغلال إنشاء دليل كائن اعتباطي لرفع الامتيازات المحلية
    https://googleprojectzero.blogspot.com/2018/08/windows-exploitation-tricks-exploiting.html
  • @_ForrestOrr - إخفاء آثار الذاكرة الخبيثة – الجزء الأول: تجويف DLL الوهمي
    https://www.forrest-orr.net/post/malicious-memory-artifacts-part-i-dll-hollowing
تنزيل الأداة
إصدار Windowsالبناءالإصدارالبنية (Arch)المسؤول (Admin)النظام (SYSTEM)
Windows 10 20H219042Prox64✔️✔️
Windows 10 20H219042Prox86✔️✔️
Windows 10 190918363Prox64✔️✔️
Windows 10 150710240Educationalx64✔️✔️
Windows 10 150710240Homex64✔️✔️
Windows 10 150710240Prox64✔️✔️
Windows Server 201917763Standardx64✔️✔️
Windows Server 201917763Essentialsx64✔️✔️
Windows 8.19600Prox64⚠️⚠️
Windows Server 2012 R29600Standardx64⚠️⚠️