PowerShell: تجاوز الكشف عبر -EncodedCommand غير قياسي
أساليب الهجوم وتقنياته2026-10-23, 12:39
تبحث معظم أدوات الكشف عن السلسلة
-enc في سطر الأوامر، وأحيانًا عن -e، وأحيانًا عن -EncodedCommand الكامل. لكن PowerShell لا يعامل هذا العلم ككلمة. بل يعامله كاسم معامل، ويقبل أي بادئة يمكنه حلها بشكل لا لبس فيه، ويتجاهل حالة الأحرف، ويقبل أحرفًا معينة بدلاً من الشرطة الأولى.ما الذي يقبله PowerShell بالضبط
إذا قمت بتشفير أمر غير ضار وتمريره إلى PowerShell باستخدام تهجئات مختلفة للعلم، فإن PowerShell 7.6.6 يقبل ما يلي:
-e، -ec، -en، -enc، -enco، -encod، -encode، -encoded، -encodedc، -EncodedCommand — بأي مزيج من الأحرف الكبيرة والصغيرة. يقبل PowerShell أيضًا /enc، --enc، وenc مسبوقًا بشرطة مطبعية: قصيرة (en dash)، أو طويلة (em dash)، أو شريط أفقي.
يتم رفض ثلاثة أحرف أخرى شبيهة بالشرطة: شرطة الأرقام، والواصلة Unicode، وعلامة الطرح. كما يتم رفض التهجئات الأطول من الاسم، مثل -encodedcommandx.الشرطات مهمة. قد يلتقط سطر أوامر منسوخ من مستند أو رسالة دردشة أو طُعم تصيد احتيالي شرطات مطبعية على طول الطريق. قاعدة كشف تبحث عن مسافة متبوعة بشرطة ستفوتها هذه المتغيرات.
كيف يُستخدم هذا في هجوم
- تحضير الحمولة. يتم ترميز الأمر كما هو متوقع بواسطة
-EncodedCommand: أولاً بـ UTF-16LE، ثم بـ base64. غالبًا ما يتم ترميز الحمولة مرة أخرى: يمرر الأمر المفكوك سلسلة base64 ثانية إلىFromBase64String، وتُمرر النتيجة إلىInvoke-Expression. - تشويش الإطلاق. بدلاً من العلم الكامل، يستخدم سطر الأوامر بادئة مقبولة أو متغيرًا بشرطة مائلة أو شرطة مزدوجة أو شرطة مطبعية. بالنسبة إلى PowerShell، يُحل ذلك إلى نفس المعامل؛ وبالنسبة إلى الكشف، فهو سلسلة مختلفة.
- التنفيذ. تبدأ العملية بشكل طبيعي، دون أخطاء. يُنفذ الأمر المرمز حتى لو فشلت قاعدة مصممة لـ -enc في التقاطه.
ما يحتاج المهاجم إلى معرفته
• إصدار PowerShell. أُجري الاختبار على PowerShell 7.6.6. يجب اختبار Windows PowerShell 5.1، الذي لا يزال مستخدمًا على نطاق واسع بواسطة أدوات المهاجمين، بشكل منفصل في بيئتك الخاصة.
• طول الحمولة. يزيد الترميز من حجم الأمر: يضاعف UTF-16 عدد البايتات، ويضيف base64 ثلثًا آخر. يمكن أن يصبح الأمر القصير أطول بشكل ملحوظ.
• التسجيل. إذا كان تسجيل كتل النصوص البرمجية ممكّنًا على المضيف، فقد يظهر النص المفكوك في الحدث 4104. هذا لا يزيل تشويش سطر الأوامر، لكنه يسهّل فحص الحمولة.
المورّدون
المنتجات