
مع هذا المقال ، نبدأ سلسلة من المنشورات حول مالفاري بعيد المنال. عادةً ما تستخدم برامج القرصنة التي لا تترك أي آثار للهجوم ، والمعروفة أيضًا باسم بلا ملفات ، PowerShell على أنظمة Windows لتنفيذ أوامر سرية للبحث عن محتوى ثمين واستخراجه. يعد اكتشاف نشاط القراصنة بدون ملفات ضارة مهمة صعبة ، لأن تعمل برامج مكافحة الفيروسات والعديد من أنظمة الكشف الأخرى على تحليل التوقيع. لكن الخبر السار هو أن مثل هذا البرنامج موجود. على سبيل المثال ،
أنظمة UBA التي يمكنها اكتشاف النشاط الضار في أنظمة الملفات.
عندما بدأت في دراسة موضوع المتسللين الرائعين الذين
لم يستخدموا الأساليب التقليدية للإصابة ، ولكن فقط الأدوات والبرامج المتوفرة على جهاز الكمبيوتر الخاص بالضحية ، لم أكن أظن أن هذا سيصبح قريبًا طريقة هجوم شائعة.
يقول المتخصصون في مجال الأمن
أن هذا أصبح اتجاهًا ،
وعناوين المقالات المخيفة دليل على ذلك. لذلك ، قررت أن أقدم سلسلة من المنشورات حول هذا الموضوع.
PowerShell كبيرة ورهيبة
لقد كتبت عن بعض هذه الأفكار في وقت سابق
من سلسلة التشويش على PowerShell ، ولكن أكثر على أساس المفاهيم النظرية. في وقت لاحق ، صادفت
موقعًا للتحليل المختلط ، حيث يمكنك العثور على عينات من malvari "المصيدة" في البرية. قررت أن أحاول استخدام هذا الموقع للبحث عن عينات من البرامج الخبيثة التي لا مبرر لها. وفعلت ذلك. بالمناسبة ، إذا كنت ترغب في الذهاب في رحلة استكشافية للبحث عن البرامج الضارة ، فسيتعين عليك اجتياز فحص على هذا الموقع حتى يعلموا أنك تقوم بالعمل كأخصائي قبعة بيضاء. كمدون يكتب عن الأمن ، مررت به دون سؤال. أنا متأكد من أنك تستطيع أيضا.
بالإضافة إلى العينات نفسها ، يمكنك رؤية ما تفعله هذه البرامج على الموقع. يُطلق التحليل الهجين برامج ضارة في صندوق رمله ويتعقب مكالمات النظام ، ويقوم بتشغيل العمليات والإجراءات على الشبكة ، كما يستخلص سلاسل نصية مشبوهة. بالنسبة للملفات الثنائية وغيرها من الملفات القابلة للتنفيذ ، أي حيث لا يمكنك حتى النظر إلى الشفرة الفعلية عالية المستوى ، يقرر التحليل المختلط ما إذا كان البرنامج ضارًا أم ببساطة مريبًا استنادًا إلى نشاطه في وقت التشغيل. وبعد ذلك تم تقييم العينة بالفعل.
في حالة PowerShell ونماذج البرامج النصية الأخرى (Visual Basic ، JavaScript ، إلخ) ، تمكنت من رؤية الشفرة نفسها. على سبيل المثال ، صادفت مثيل PowerShell:

يمكنك أيضًا تشغيل PowerShell المرمز base64 لتجنب الكشف. إيلاء الاهتمام لاستخدام المعلمات غير التفاعلي والمخفية.
إذا قرأت إدخالات التشويش الخاصة بي ، فأنت تعلم أن الخيار -e يشير إلى أن المحتوى مشفر في base64. بالمناسبة ، يساعد التحليل المختلط أيضًا في فك تشفير كل شيء. إذا كنت ترغب في محاولة فك تشفير base64 PowerShell (المشار إليه فيما يلي - PS) بنفسك ، فأنت بحاجة إلى تشغيل هذا الأمر:
[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))
الذهاب أعمق
قمت بفك تشفير نص PS الخاص بنا باستخدام هذه الطريقة ، يتم تقديم نص البرنامج أدناه ، على الرغم من تعديله قليلاً من قِبل:

لاحظ أن صرير كان لا بد من تاريخ 4 سبتمبر 2017 وتمرير ملفات تعريف الارتباط الجلسة.
كتبت عن أسلوب الهجوم هذا في
سلسلة PS obfuscation ، حيث يقوم البرنامج النصي base64 المشفر نفسه بتنزيل البرامج الضارة
المفقودة من موقع آخر ، باستخدام كائن WebClient من مكتبة .Net Framework للقيام بكل العمل الشاق.
ما هذا؟
بالنسبة لبرنامج الأمان الذي يقوم بفحص سجلات أحداث Windows أو جدران الحماية ، يمنع تشفير base64 اكتشاف سلسلة WebClient بواسطة نموذج نصي بسيط للحماية من طلب الويب هذا. ونظرًا لأنه يتم تنزيل جميع البرامج الضارة "الشريرة" ونقلها إلى PowerShell ، فإن هذا النهج يتيح لك تجنب الاكتشاف بالكامل. بدلا من ذلك ، اعتقدت ذلك في البداية.
اتضح أنه مع تضمين التسجيل المتقدم لسجلات Windows PowerShell (راجع مقالتي) ، يمكنك رؤية السطر المحمّل في سجل الأحداث. أعتقد (مثل
الآخرين ) أنه ينبغي على Microsoft تمكين هذا المستوى من التسجيل بشكل افتراضي. لذلك ، عند تشغيل التسجيل الممتد ، سنرى في سجل أحداث Windows طلبًا مكتملًا للتحميل من برنامج PS وفقًا للمثال الذي درسناه أعلاه. لذلك ، فمن المنطقي لتفعيله ، توافق؟
إضافة نصوص إضافية
يقوم المتسللون بإخفاء هجوم PowerShell في وحدات ماكرو Microsoft Office المكتوبة بلغة Visual Basic ولغات البرمجة النصية الأخرى. الفكرة هي أن الضحية يتلقى رسالة ، على سبيل المثال ، من خدمة التسليم ، مع تقرير مرفق بتنسيق .doc. تفتح هذا المستند ، الذي يحتوي على ماكرو ، وفي النهاية يقوم بإطلاق PowerShell الخبيث نفسه.
غالبًا ما يكون البرنامج النصي Visual Basic نفسه غامضًا بحيث يتهرب بحرية من برامج مكافحة الفيروسات وغيرها من برامج مكافحة البرامج الضارة. وفقًا لما ورد أعلاه ، قررت كتمرين لتشفير PowerShell أعلاه في JavaScript. فيما يلي نتائج عملي:

جافا سكريبت غامض يختبئ لدينا PowerShell. المتسللين الحقيقيين يفعلون ذلك مرة أو مرتين.
هذا أحد الأساليب الأخرى التي صادفتها على الشبكة: استخدام Wscript.Shell لتشغيل PowerShell المشفر. بالمناسبة ، JavaScript نفسها
وسيلة لتوصيل البرامج الضارة. تحتوي العديد من إصدارات Windows على
Windows Script Host مضمن ، والذي يمكنه تشغيل JS.
في حالتنا ، يتم إرفاق البرنامج النصي JS الضار كملف بامتداد .doc.js. عادةً ما يُظهر Windows اللاحقة الأولى فقط ، لذلك سيظهر للضحية كمستند Word.

يتم عرض أيقونة JS فقط في أيقونة التمرير. ليس من المستغرب أن يفتح العديد من الأشخاص هذا المرفق ، معتقدين أنه مستند Word.
في مثالي ، قمت بتعديل PowerShell أعلاه لتنزيل البرنامج النصي من موقع الويب الخاص بي. البرنامج النصي PS البعيد يطبع ببساطة الشر البرمجيات الخبيثة. كما ترون ، فهو ليس شرًا على الإطلاق. بطبيعة الحال ، يهتم المتسللون الحقيقيون بالوصول إلى جهاز كمبيوتر محمول أو خادم ، على سبيل المثال ، من خلال برنامج shell command. في المقالة التالية ، سأوضح كيفية القيام بذلك باستخدام PowerShell Empire.
آمل ألا نتعمق في الموضوع التمهيدي الأول في الموضوع. الآن ، سوف أتركك تتنفس ، وسنبدأ في المرة القادمة في تحليل أمثلة واقعية للهجمات باستخدام ملفات خبيثة بلا ملفات بدون كلمات تمهيدية إضافية وإعداد.