
سلسلة استغلالات لإثبات المفهوم (CVE-2026-47301) لـ Microsoft Configuration Manager (SCCM)، تجمع بين ضعف التحكم في الوصول، وثغرة تجاوز المسار مع الكتابة العشوائية في ملفات CAB، وتجاوز التحقق من الشهادة، واختطاف DLL لتحقيق تنفيذ برمجي على مستوى SYSTEM.
سلسلة استغلال إثبات المفهوم التي اكتشفتها والمُصنَّفة باسم CVE-2026-47301 لـ Microsoft Configuration Manager (SCCM)، والتي تجمع بين التحكم في الوصول المُعطَّل، وكتابة ملفات عشوائية عبر تجاوز مسار استخراج CAB، وتجاوز التحقق من الشهادة، واختطاف DLL لتحقيق تنفيذ تعليمات برمجية بمستوى SYSTEM.
يستخدم هذا الاستغلال ملف cab خبيثًا مُصمَّمًا خصيصًا لاستغلال هذا CVE، وقد قدّمتُ ملف cab لإثبات المفهوم.
سيقوم الاستغلال باختطاف التنفيذ عن طريق زرع مكتبتي DLL في: ..\..\..\..\ من المسار المقصود إلى دليل تثبيت Configuration Manager \bin\X64، ولن يُشكّل تثبيت Microsoft Configuration Manager في مسار مختلف أي فرق لأن الاستغلال عام ليعمل على أي مسار دون معرفة أي شيء.
أسماء مكتبات DLL هي: adsource_original.dll و adsource.dll.
تُستخدم مكتبة DLL "الأصلية" لتنفيذ هجوم DLL Proxy وجعل الاستغلال يعمل دون تعطّل خدمة SMS_EXECUTIVE.
كل ما تحتاجه هو اسم IP/DNS لخادم الموقع الأساسي (Primary Site Server)، وعلى الرغم من أن هذه المعلومات لا تُنشر أبدًا في Active Directory، يمكننا أن نفترض بأمان أنه من خلال فحص SDDL على حاوية CN=System Management,CN=System. حسابات الأجهزة التي تمتلك تحكمًا كاملًا على هذه الحاوية، عادةً ما تكون خوادم المواقع (Site Servers).
$root = [ADSI]"LDAP://RootDSE"
$configDN = "CN=System Management,CN=System," + $root.defaultNamingContext
$container = [ADSI]"LDAP://$configDN"
$container.ObjectSecurity.Access |
Where-Object { $_.ActiveDirectoryRights -match "GenericAll|FullControl" } |
Select-Object IdentityReference, ActiveDirectoryRights, AccessControlType |
Format-Table -AutoSize
ستُظهر لك النتيجة الكيانات التي تمتلك GenericAll على تلك الحاوية، خذ الكيانات التي تنتهي بـ $ ، فهذه هي خوادم المواقع الأساسية.
.\C1_AFW.exe write SCCM-CM01.basoss.local 'pwn.cab' .\evil.cab --verbose
يُفعّل الاستغلال حساب Administrator ذا RID 500 إذا كان مُعطَّلًا، ويعيد تسميته إلى omrispy بكلمة المرور Xm#Poc-2026!Adm1n$Ok، كما يسجّل التغييرات التي أجراها الاستغلال والاسم السابق الذي كان يحمله حساب Administrator ذا RID 500 حتى تتمكن من إعادة كل شيء إلى ما كان عليه، وتُحفظ السجلات في المسار C:\POC.txt على خادم الموقع الأساسي المستهدف.
يحدث تحميل DLL كل 5 دقائق، لذا توقّع بعض التأخير بين تشغيل الاستغلال ورؤية النتائج فعليًا، وقد لوحظ هذا السلوك باستخدام Procmon64.exe.
بعد الاستغلال الناجح تحتاج إلى:
adsource.dll (الخبيثة)، وإعادة تسمية adsource_original.dll لتصبح adsource.dllلمزيد من المعلومات التفصيلية حول الاستغلال يمكنك قراءة مقالتي الكاملة عنه.
يُقدَّم إثبات المفهوم هذا ("PoC") حصريًا من أجل البحث الأمني المشروع، والأغراض التعليمية، واختبار الأمان المُصرَّح به.
استخدم هذا البرنامج فقط على الأنظمة التي تملكها أو التي لديك إذن صريح بإجراء الاختبار المحدد عليها. الوصول غير المُصرَّح به إلى أنظمة الحاسوب محظور تمامًا.
باستخدامك هذا البرنامج، فإنك توافق على أن:
أنت تتحمل المسؤولية الكاملة عن أفعالك وأي عواقب ناتجة عن استخدام هذا PoC، وأنا غير مسؤول عن أفعالك