
CVE-2021-34527 هي ثغرة أمنية حرجة تسمح بتنفيذ الأوامر عن بعد ورفع الامتيازات محلياً، وتُعرف باسم "PrintNightmare".
CVE-2021-34527 هي ثغرة أمنية حرجة لتنفيذ التعليمات البرمجية عن بُعد ورفع الامتيازات المحلية تُعرف باسم "PrintNightmare".
تم إصدار إثباتات مفاهيم للاستغلال (Python, C++) لقدرة تنفيذ التعليمات البرمجية عن بُعد، ونسخة C# لرفع الامتيازات المحلية. لم أر تنفيذًا أصليًا بلغة PowerShell النقية، وأردت تجربة تحسين وإعادة صياغة الاستغلال.
يقوم هذا السكريبت PowerShell بتنفيذ رفع الامتيازات المحلية (LPE) باستخدام تقنية هجوم PrintNightmare.
تم اختبار هذا على Windows Server 2016 وWindows Server 2019.
إضافة مستخدم جديد إلى مجموعة المسؤولين المحليين افتراضيًا:
Invoke-Nightmare # add user `adm1n`/`P@ssw0rd` in the local admin group by default
Invoke-Nightmare -DriverName "Xerox" -NewUser "K1LL9" -NewPassword "SuperSecure1o1"
توفير حمولة DLL مخصصة، لفعل أي شيء آخر قد ترغب فيه.
Import-Module .\cve-2021-34527.ps1
Invoke-Nightmare -DLL "C:\absolute\path\to\your\bindshell.dll"
لا تحتاج تقنية رفع الامتيازات المحلية إلى العمل مع RPC أو SMB عن بُعد، حيث أنها تعمل فقط مع وظائف Print Spooler. يقوم هذا السكريبت بتضمين حمولة مشفرة بـ Base64 ومضغوطة بـ GZIP لـ DLL مخصص، يتم تصحيحها وفقًا لوسائطك، لإضافة مستخدم جديد بسهولة إلى مجموعة المسؤولين المحليين. يقوم هذا السكريبت بتضمين طرق من PowerSploit/PowerUp للوصول الانعكاسي إلى واجهات برمجة تطبيقات Win32. لا تقوم هذه الطريقة بالتكرار عبر جميع برامج تشغيل الطابعات للعثور على مسار DLL المناسب - بل تأخذ أول برنامج تشغيل وتحدد المسار المناسب.