
CVE PoC
تم توفير هذا الـ PoC لأغراض تعليمية وبحثية فقط. لا يتحمل المؤلف أي مسؤولية عن سوء الاستخدام أو الأضرار الناجمة عن هذا الكود.
يُعد سكربت PowerShell هذا أداة اختبار لمحاكاة الهجوم الموصوف في CVE-2013-3900. يتعلق CVE-2013-3900 بآلية Authenticode في ويندوز، حيث قد يحتوي توقيع PE (ملفات EXE/DLL) على بيانات إضافية (حشو) في قسم الشهادة. في إعدادات ويندوز الأقدم أو الافتراضية، لا يؤدي هذا التعديل إلى إبطال التوقيع، مما يسمح بإضافة تعليمات برمجية خبيثة إلى الملف مع الإبقاء على حالته "الموقّعة". من خلال تفعيل EnableCertPaddingCheck=1 في السجل، يبدأ النظام في التعامل مع الحشو الإضافي كانتهاك للتكامل، ويرفض مثل هذا الملف.
السكربت:
إذا كانت الحماية مفعّلة، سيتم رفض الملف المعدل (0x800B0100)؛ وإذا كانت معطّلة، سيتم قبوله (0x00000000).
أستخدم MSBuild.exe لأنه ملف نظام ويندوز يحتوي على توقيع Authenticode مضمّن (وليس توقيع كتالوج)، مما يسمح لنا بتعديل قسم الشهادة مباشرة ومحاكاة ثغرة CVE-2013-3900 بشكل موثوق. هذا يجعل الاختبار قابلاً للتكرار ويعمل على أي تثبيت لـ Windows Server دون الحاجة إلى تنزيل ملفات إضافية.
لتشغيل السكربت:
CMD C:\>powershell -ExecutionPolicy Bypass -File C:\CVE-2013-3900-PoC-padding-injection.ps1
الروابط: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2013-3900