
تعديل PowerShell لـ CVE-2013-3900 (WinVerifyTrust) / Tenable Plugin 166555 باستخدام EnableCertPaddingCheck.
يحتوي هذا المستودع على سكريبت PowerShell للتصحيح والتحقق يعالج النتيجة من Tenable/Nessus:
يقوم السكريبت بتطبيق فحص حشوة شهادة WinVerifyTrust عن طريق تعيين:
EnableCertPaddingCheck (DWORD) = 1على الأنظمة ذات 64 بت، تتطلب أدوات المسح تعيين القيمة في كل من مسار التسجيل الأصلي ومسار Wow6432Node (عرض 32 بت).
CVE-2013-3900 يتعلق بكيفية تحقق Windows من التوقيعات Authenticode باستخدام WinVerifyTrust.
إذا لم يتم تطبيق فحص حشوة الشهادة، فقد يتم التعامل مع بعض التوقيعات المعدلة كصحيحة في سيناريوهات غير آمنة، وستقوم أدوات فحص الثغرات بوضع علامة على المضيف كغير متوافق.

✅ يتحقق من تشغيله كـ مسؤول
✅ يكتشف ما إذا كان نظام التشغيل 64 بت
✅ يضمن وجود مفاتيح التسجيل المطلوبة
✅ يضبط EnableCertPaddingCheck على:
1 عندما $secureEnvironment = $true (آمن / موصى به)0 عندما $secureEnvironment = $false (غير آمن / مختبر/اختبار)✅ يطبع جدول قبل/بعد واضح وحالة الامتثال
موقع السكريبت:
يطبق السكريبت الإعداد على:
HKLM:\Software\Microsoft\Cryptography\Wintrust\ConfigHKLM:\Software\Wow6432Node\Microsoft\Cryptography\Wintrust\Config (نظام تشغيل 64 بت)القيمة المطبقة:
EnableCertPaddingCheck (DWORD)$secureEnvironment = $true → تطبيق التخفيف (موصى به)$secureEnvironment = $false → إلغاء التخفيف (مختبر/اختبار فقط).\scripts\Set-WinVerifyTrustCertPadding.ps1
يتحقق السكريبت من التهيئة عن طريق:
0 عند النجاحنتيجة شديدة الخطورة موجودة (البرنامج المساعد 166555 – CVE-2013-3900).
إجمالي النتائج: 5

تمت إزالة النتيجة شديدة الخطورة.
انخفاض إجمالي النتائج: 5 → 4
