
مولد ومُبهم مهد التحميل عن بُعد بـ PowerShell
===============

Invoke-CradleCrafter هي أداة مولّدة ومُعقّدة لـ PowerShell v2.0+ متوافقة مع قوالب تحميل عن بُعد.
في خريف عام 2016 بعد إصدار Invoke-Obfuscation، واصلت تحديث جدولي لقوالب تحميل PowerShell عن بُعد، معتقدًا أنني قد أضيف يومًا ما قائمة "محدد القالب" داخل Invoke-Obfuscation. تألفت هذه القائمة من قوالب كانت غامضة بالنسبة لي، والعديد منها لم يكن يُلاحظ بشكل شائع (أو على الإطلاق) في الممارسة العملية.
ومع ذلك، نظرًا لأن Invoke-Obfuscation صُمِّمَ لإخفاء أي أمر أو سكربت PowerShell تعسفي، فإن هناك تقنيات إخفاء معينة كنت أعلم أنني بحاجة لتضمينها فيما يتعلق ببناء قوالب مخصصة لم يكن من الممكن تضمينها في Invoke-Obfuscation.
هذه هي النقطة التي دفعتني إلى تحويل هذا البحث عن القوالب إلى مشروع منفصل تمامًا، رغم أنه يمكنك دائمًا أخذ المخرجات من Invoke-CradleCrafter وإدخالها إلى Invoke-Obfuscation لمواصلة المتعة. نظرًا لأن Invoke-CradleCrafter أكثر صرامة في التحكم، فقد مكنني ذلك من تضمين تقنيات إخفاء تختلف تمامًا عن أي تقنية موجودة في Invoke-Obfuscation.
تتضمن بعض تقنيات الإخفاء الجديدة في هذه الأداة إخفاء الرموز من خلال تعداد أنواع البيانات ومطابقة أحرف البدل، وإعادة ترتيب بنية الأوامر عبر إضافة متغيرات وبناء جمل متغيرات جديدة.
أخيرًا، تدعم الأداة أكثر من 10 صياغات استدعاء تتجاوز الصيغة الأكثر انتشارًا Invoke-Expression وIEX.
موجودة Invoke-CradleCrafter لمساعدة الفِرق الزرقاء والحمراء على استكشاف وتوليد وإخفاء قوالب تحميل PowerShell عن بُعد بسهولة. بالإضافة إلى ذلك، تساعد الفِرق الزرقاء في اختبار فعالية عمليات الكشف التي قد تنجح مع المخرجات الناتجة عن Invoke-Obfuscation ولكنها قد تقصر عند التعامل مع Invoke-CradleCrafter، لأنها لا تحتوي على أي وصلات سلاسل، أو تشفيرات، أو علامات اقتباس، أو تحويلات أنواع، إلخ.
عنصر مهم آخر في هذا البحث وتطوير الأداة هو تسليط الضوء بشكل فعال على السلوك عالي المستوى والآثار التي تُترك عند تنفيذ كل قالب. حاولت تسليط الضوء على هذه المعلومات عند الدخول لأول مرة إلى نوع قالب جديد في القوائم التفاعلية للأداة.
في النهاية، معرفة المزيد عن سلوك وآثار كل قالب ستساعد الفريق الأزرق على اكتشاف هذه القوالب بشكل أفضل. هذه المعرفة يجب أن تفيد أيضًا الفريق الأحمر في اختيار القالب الأنسب وفقًا للسيناريو.
على الرغم من أنه يمكن إنتاج جميع القوالب عن طريق استدعاء دالة Out-Cradle مباشرة، فإن تعقيد المكونات المتحركة لجميع المكونات المعقدة المكدّسة يجعل استخدام دالة Invoke-CradleCrafter أسهل طريقة لاستكشاف وتصور صيغ القوالب وتقنيات الإخفاء التي يدعمها هذا الإطار حاليًا.
الكود المصدري لـ Invoke-CradleCrafter مستضاف على Github، ويمكنك تحميله، استنساخه ومراجعته من هذا المستودع (https://github.com/danielbohannon/Invoke-CradleCrafter). يُرجى الإبلاغ عن المشكلات أو طلبات الميزات عبر متتبع الأخطاء في Github المرتبط بهذا المشروع.
للتثبيت:
Import-Module ./Invoke-CradleCrafter.psd1
Invoke-CradleCrafter
تم إصدار Invoke-CradleCrafter بموجب رخصة Apache 2.0.
v1.0 - 2017-04-28 x33fcon (غدانسك، بولندا): الإصدار العام لـ Invoke-CradleCrafter.
v1.1 - 2017-05-11 NOPcon (اسطنبول، تركيا): تمت إضافة 3 قوالب جديدة قائمة على الذاكرة:
v1.1.1 - 2018-01-08: تمت إضافة قالب واحد جديد قائم على الذاكرة:
v1.1.2 - 2018-02-05: تمت إضافة سلاسل وكيل المستخدم إلى معلومات القالب