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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PrintSpoofer-ReflectiveDLL — تم تنفيذ ثغرة رفع الامتيازات في خدمة الطباعة بنظام ويندوز (CVE-2019-1040/CVE-2019-1019) كمكتبة DLL عاكسة (Reflective DLL) لأغراض اختبار الاختراق. | Kitploit
أدوات/GitHubGitHub/jonyfilc/printspoofer-reflectivedll
تصعيد الامتيازاتالاستغلالالحركة الجانبيةما بعد الاستغلالاختبار الاختراقالفريق الأحمرتطوير الحمولات
GitHubjonyfilc/printspoofer-reflectivedll

PrintSpoofer-ReflectiveDLL

الأكثر شعبية

عرض الكل →

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

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

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

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

تم تنفيذ ثغرة رفع الامتيازات في خدمة الطباعة بنظام ويندوز (CVE-2019-1040/CVE-2019-1019) كمكتبة DLL عاكسة (Reflective DLL) لأغراض اختبار الاختراق.

عرض المستودع
235منذ 26 أياملم تتم المراجعة بعد

تفاصيل PrintSpoofer

License Platform C++

PrintSpoofer هي أداة تقوم بترقية الصلاحيات محلياً عن طريق استغلال ثغرة أمنية في خدمة Windows Print Spooler (CVE-2019-1040 / CVE-2019-1019). ينفذ هذا المشروع استغلال PrintSpoofer بصيغة Reflective DLL، مما يجعله مناسباً للاستخدام مع أطر اختبار الاختراق مثل Cobalt Strike.

جدول المحتويات

  • نظرة عامة
  • كيف يعمل
  • تفاصيل تقنية
  • المتطلبات
  • البناء
  • الاستخدام
  • هيكل المشروع
  • إخلاء المسؤولية الأمنية
  • المراجع

نظرة عامة

يستغل PrintSpoofer ثغرة أمنية في خدمة Windows Print Spooler تسمح لمستخدم منخفض الصلاحية بالحصول على صلاحيات مستوى SYSTEM. يسيء الاستغلال استخدام الطريقة التي تتعامل بها خدمة Print Spooler مع الأنابيب المسماة (named pipes).

الميزات

  • صيغة Reflective DLL — يمكن تحميلها بالكامل في الذاكرة دون لمس القرص
  • يعمل مع صلاحية SE_IMPERSONATE_NAME
  • يتواصل مع خدمة Print Spooler باستخدام بروتوكول RPC
  • يستخدم آلية الأنابيب المسماة (Named Pipe) لتنفيذ انتحال الرمز المميز (token impersonation)

كيف يعمل

يعمل PrintSpoofer من خلال تنفيذ الخطوات التالية:

1. التحقق من الصلاحية

يتحقق الاستغلال أولاً مما إذا كان الرمز المميز الحالي لديه صلاحية SE_IMPERSONATE_NAME. هذه الصلاحية مطلوبة لانتحال رمز مميز لمستخدم آخر.

2. إنشاء أنبوب مسمى

يتم إنشاء أنبوب مسمى باستخدام UUID عشوائي. مسار الأنبوب هو:

root@kitploit:~
\\.\pipe\<UUID>\pipe\spoolss

3. انتظار اتصال الأنبوب

يتم انتظار اتصال غير متزامن على الأنبوب المُنشأ. يتم إنشاء حدث (event)، ويتم تجهيز الأنبوب لقبول الاتصالات الواردة.

4. تشغيل اتصال Print Spooler

في سلسلة (thread) منفصلة، يتم إجراء استدعاء RPC لخدمة Print Spooler. من خلال استدعاء RpcRemoteFindFirstPrinterChangeNotificationEx، تحاول الخدمة الاتصال بالأنبوب الذي أنشأناه.

5. انتحال الرمز المميز

عندما تتصل خدمة Print Spooler (التى تعمل كـ SYSTEM) بالأنبوب المسمى، يستخدم الاستغلال ImpersonateNamedPipeClient لانتحال الرمز المميز للخدمة. يؤدي هذا إلى الحصول على صلاحيات SYSTEM.

6. العملية المخولة

مع رمز مميز لـ SYSTEM، يمكن الآن تنفيذ إجراءات عالية الصلاحية.

تفاصيل تقنية

ثغرة Print Spooler

تقوم خدمة Windows Print Spooler بمعالجة إشعارات الطابعة من خلال الأنابيب المسماة. نظرًا لأن الخدمة لا تتحقق بشكل صحيح من اتصالات الأنابيب، يمكن للمهاجم إجبارها على الاتصال بأنبوب خبيث ثم انتحال رمز SYSTEM المميز.

اتصال RPC

يتواصل المشروع مع خدمة Print Spooler باستخدام MS-RPRN (Print System Remote Protocol). يتم تعريف هذا البروتوكول من خلال ملف IDL (Interface Definition Language) ويُمكّن من استدعاءات RPC.

حقن Reflective DLL

يتصرف الـ Reflective DLL بشكل مختلف عن الـ DLLs القياسية:

  • يمكن تحميله مباشرة في الذاكرة دون لمس القرص
  • لا يتطلب واجهة برمجة التطبيقات LoadLibrary
  • يقوم بتحليل وتحميل صيغة PE (Portable Executable) يدويًا

المتطلبات

للبناء

  • Visual Studio 2022 (عبء عمل تطوير C++ لسطح المكتب)
  • Windows 10/11

للتشغيل

  • Windows 10/11
  • خدمة Print Spooler قيد التشغيل
  • صلاحية SE_IMPERSONATE_NAME (متاحة لمعظم المستخدمين العاديين افتراضيًا)
  • Cobalt Strike أو إطار عمل مشابه (اختياري)

البناء

البناء باستخدام Visual Studio

  1. افتح ملف PrintSpoofer.sln في Visual Studio.

  2. حدد منصة الحل (Solution Platform) والتكوين (Configuration):

    • المنصة: x64 أو Win32 (حسب بنية الهدف)
    • التكوين: Release (إنتاج) أو Debug (تطوير)
  3. قم ببناء الحل من خلال Build Solution (Ctrl+Shift+B).

  4. سيكون ملف DLL المُجمّع موجودًا في:

    root@kitploit:~
    PrintSpoofer\x64\Release\PrintSpoofer.dll   (لـ x64)
    PrintSpoofer\Win32\Release\PrintSpoofer.dll (لـ x86)
    

خيارات البناء

يستخدم المشروع تعريفات المعالجة المسبقة التالية:

  • REFLECTIVE_DLL_EXPORTS: تمكين تصديرات Reflective DLL
  • REFLECTIVEDLLINJECTION_CUSTOM_DLLMAIN: استخدام DllMain مخصصة
  • REFLECTIVEDLLINJECTION_VIA_LOADREMOTELIBRARYR: تمكين LoadRemoteLibraryR (في وضع Release)

الاستخدام

الاستخدام مع Cobalt Strike

يمكن استخدام PrintSpoofer مع أمر elevate الخاص بـ Cobalt Strike:

root@kitploit:~
elevate PrintSpoofer LISTENER_NAME

حيث:

  • PrintSpoofer: اسم وحدة الارتقاء (elevator module)
  • LISTENER_NAME: المستمع الذي سيستقبل الصدفة المرتفعة الصلاحية

الاستخدام اليدوي

يمكن تحميل ملف DLL يدويًا باستخدام تقنيات حقن Reflective DLL.

المخرجات المتوقعة

سينتج عن تنفيذ استغلال ناجح ما يلي:

root@kitploit:~
[+] Found privilege: SeImpersonatePrivilege
[+] Named pipe listening...
[+] ImpersonateNamedPipeClient OK
[+] Exploit successfully, enjoy your shell

وصف الملفات

dllmain.cpp

  • نقطة دخول DLL (DllMain)
  • تتحكم في منطق الاستغلال
  • تتعامل مع وظائف Reflective DLL الخاصة

PrintSpoofer.cpp

  • CheckAndEnablePrivilege: تتحقق من صلاحيات الرمز المميز وتفعيلها
  • GenerateRandomPipeName: توليد أسماء أنابيب باستخدام UUIDs عشوائية
  • CreateSpoolNamedPipe: إنشاء أنابيب مسماة وتكوين الأمان
  • ConnectSpoolNamedPipe: تجهيز الأنابيب للاتصالات غير المتزامنة
  • TriggerNamedPipeConnection: إنشاء سلسلة لتفعيل اتصال Print Spooler
  • TriggerNamedPipeConnectionThread: تنفيذ استدعاء RPC
  • GetSystem: تنفيذ انتحال الرمز المميز

ms-rprn.idl

  • تعريف IDL لبروتوكول MS-RPRN من Microsoft
  • تتم معالجته بواسطة مترجم MIDL لتوليد أدوات RPC

ReflectiveLoader.cpp

  • تنفذ تحليل PE والتحميل في الذاكرة لحقن Reflective DLL

إخلاء المسؤولية

هذه الأداة مخصصة لأغراض تعليمية فقط ولـ اختبار الاختراق المصرح به.

المراجع

  • https://www.itm4n.fr/printspoofer-abusing-impersonate-privileges/
  • https://book.hacktricks.xyz/windows-hardening/windows-local-privilege-escalation

الترخيص

هذا المشروع مرخص بموجب رخصة MIT. لمزيد من المعلومات، انظر ملف LICENSE.

تنزيل الأداة