
يقوم المتسللون باستغلال المصداقية والإهمال البشري لعقود من الزمن. معظم المستخدمين يفتحون البريد الآمن ، للوهلة الأولى ، مرفق البريد دون تردد ، وبدون معرفة ذلك ، إطلاق البرامج الضارة. لحماية نفسك من مثل هذه الهجمات ، عليك أن تعرف العدو شخصيًا. سنحاول اليوم معرفة كيف يتم ترتيب التقنيات الثلاث الجديدة لتنفيذ التعليمات البرمجية في التطبيقات المكتبية المكتشفة هذا العام ، وما هي أساليب الحماية ضدها.
وحدات الماكرو Xlm
قدم خبراء Outflank طريقة جديدة لتشغيل التعليمات البرمجية في MS Office Excel من خلال ما يسمى XLM وحدات الماكرو (لا ينبغي الخلط بينه وبين XML). على الرغم من استخدام تقنية الماكرو XLM لأكثر من 26 عامًا (ظهرت لأول مرة في Excel 4.0 لنظام التشغيل Windows 3.0 / 3.1) ، إلا أنها لا تزال مدعومة من قبل جميع إصدارات Microsoft Office Excel حتى Office 2016.
لإنشاء ماكرو XLM في Excel ، يجب اتباع الخطوات التالية:
في قائمة السياق من ورقة Excel ، حدد "إدراج".

بعد ذلك ، حدد "MS Excel 4.0".

نتيجة لذلك ، ستظهر ورقة "Macro1" ، في أي خلية ، باستخدام وظيفة "EXEC" ، يمكن بدء العملية المطلوبة. لتشغيل ماكرو تلقائيًا ، يجب إعادة تسمية الخلية الأولى إلى "Auto_open" (على غرار إجراء AutoOpen () في وحدات ماكرو VBA).
بعد فتح مستند محفوظ ، يظهر إعلام قياسي مع طلب لتشغيل ماكرو.

يمكن إخفاء ورقة الماكرو عن طريق تحديد "إخفاء" في قائمة السياق.
بالإضافة إلى القدرة على بدء العمليات ، يمكن لوحدات XLM الوصول إلى واجهة برمجة تطبيقات Win32 باستخدام وظائف REGISTER و CALL. التالي هو رمز PoC لماكرو يقوم بتنفيذ تقنية حقن shellcode.

في الوقت نفسه ، يتم استخدام وظيفة الترميز CHAR لتخزين أحرف رمز shell داخل خلية الماكرو. لإزالة البايتات الخالية ، يمكنك استخدام الأداة المساعدة msfvenom ، التي تعد جزءًا من Metasploit Framework.
من خلال طريقة التخزين داخل ملف Excel ، تختلف وحدات XLM بشكل كبير عن وحدات VBA الكلاسيكية التي ظهرت بعد عام في Excel 5.0. بتنسيق Excel .xlsm الجديد ، وهو أرشيف ZIP ، يتم تخزين وحدات XLM داخل ملف XML في دليل وحدات الماكرو. بتنسيق .xsl (Excel 97-2003) ، يتم تخزين الماكرو داخل دفق OLE.
علاوة على ذلك ، يتم تخزين ماكرو VBA في حاوية منفصلة (في الشكل على اليسار) ، بينما توجد وحدات الماكرو XLM في حاوية البيانات نفسها.

تؤثر هذه الاختلافات في طرق تخزين وحدات الماكرو بشكل كبير على جودة اكتشافها بواسطة برامج مكافحة الفيروسات ، على وجه الخصوص ، لا تدعم تقنية Antimalware Scanning Interface (AMSI) XLM ، على الرغم من الدعم المطالب به من Office 365.
على سبيل المثال ، تم تطبيق كود metasploit powershell web_delivery في Excel باستخدام وحدات VBA و XLM (في الأشكال أدناه).


على Virustotal ، تسبب مستند Excel مع ماكرو VBA في 21 من أصل 59 من برامج مكافحة الفيروسات.

في الوقت نفسه ، لم يثير مستند مشابه مع ماكرو XLM أي شكوك حول مكافحة الفيروسات.

مظاهرة
تنفيذ التعليمات البرمجية من خلال وحدات ماكرو XLM في Office
مايكروسوفت أوفيس اون لاين فيديو
اكتشف فريق البحث Cumulate طريقة جديدة لتنفيذ التعليمات البرمجية في Word عن طريق إدراج الفيديو باستخدام الفيديو عبر الإنترنت. باستخدام هذا العنصر ، يمكنك إضافة مقطع فيديو YouTube إلى المستند ، ثم استبدال الارتباط به برمز JavaScript الذي سيتم تنفيذه في Internet Explorer عند فتح المستند والنقر فوق الفيديو. المتجهات التالية تبدو أكثر ملاءمة للهندسة الاجتماعية:
- إضافة رمز استغلال لـ IE / Flash في إطار iframe مع فيديو YouTube.
- إضافة شفرة JavaScript في iframe مع فيديو YouTube باستخدام طريقة msSaveOrOpenBlob ، والتي من خلالها يُقترح تنزيل الملف الضار وتشغيله. ويرد نص الملف داخل base64 جافا سكريبت.
لإنشاء ملف بملحق docx. مع التحميل الموصوف ، يجب تنفيذ الخطوات التالية:
1. إضافة فيديو يوتيوب من خلال "إدراج - فيديو اون لاين".

2. احفظ ملف docx الذي تم إنشاؤه.
3. بفك docx المحفوظة. شكل Docx هو أرشيف مضغوط للمحتويات التالية:

4. في دليل Word في ملف document.xml في عنصر مضمن HTML ، أضف كود JavaScript الخاص بك عن طريق إدخاله في نص iframe أو عن طريق استبدال الرابط (src) المقابل في iframe.
5. قم بإنشاء أرشيف مضغوط (بملحق docx) مع إجراء التغييرات.
علاوة على ذلك ، عند فتح ملف docx الذي تم إنشاؤه ، يتعين على المستخدم النقر على رابط الفيديو وتشغيل الملف الذي تم تنزيله. بدلاً من ذلك ، يمكنك عرض لقطة شاشة مع اقتراح لتحديث Flash Player ، مطالبة المستخدم بتنزيل الملف وتشغيله. لا يتم عرض تحذيرات أمنية.

كما هو الحال في وحدات الماكرو XLM ، لا يتم اكتشاف تقنية تنفيذ التعليمات البرمجية هذه بواسطة أي برنامج مكافحة فيروسات على Virustotal وتبدو جذابة جدًا لكتاب الفيروسات ، كما أنها شائعة في الهندسة الاجتماعية كجزء من اختبار الاختراق.
مظاهرة
تنفيذ التعليمات البرمجية من خلال الفيديو عبر الإنترنت في Office
فبا الدوس
في مؤتمر Derbycon 2018 ، تم تقديم تقنية لإطلاق وحدات VBA في مستندات Office ، تسمى VBA Stomping. يتمثل جوهر هذه التقنية في حذف / تعديل (كخيار لملء الأصفار) شفرة مصدر VBA في نص وثيقة المكتب ، تاركًا رمز الماكرو المترجم يسمى p-code دون تغيير. توجد شفرة VBA ، بالإضافة إلى إصدارها المترجم ، داخل ملف vbaProject.bin الموجود في أرشيف zip (ملف ذو ملحق .docm ، .xslm).

وبالتالي ، فإن الأسلوب يتلخص في حذف / ملء جزء من الأصفار من ملف vbaProject.bin.

نتيجة لذلك ، لا يتسبب المستند في وجود شك بين مضادات الفيروسات التي تقوم بتحليل ماكرو فقط عن طريق الكود المصدري الخاص به. على سبيل المثال ، بمساعدة هذه التقنية ، تمكن الباحثون من تقليل عدد استجابات مكافحة الفيروسات إلى Emotet bank طروادة ، الموزعة من خلال ملفات المكتب ، من 36/59 إلى 7/58 على Virustotal.


أيضًا ، تجعل هذه التقنية من الصعب تحليل الملف ، حيث لن تتمكن أي أداة ، دون اللجوء إلى فك التشفير ، من استخراج شفرة مصدر VBA ، والتي لن يتم عرضها أيضًا في محرر الماكرو في Office حتى يتم حلها.
الحماية
توصيات مواجهة التقنيات الموضحة تقليدية للحماية من أساليب الهندسة الاجتماعية:
- رفع وعي الموظفين فيما يتعلق بقضايا أمن المعلومات.
- يحظر استخدام وحدات الماكرو في Microsoft Office.
- نهج متكامل لضمان أمن المعلومات ، بما في ذلك استخدام حلول Endpoint ، بالإضافة إلى أدوات أمان المحيط (جدران الحماية من الجيل التالي ، حلول UTM ، بوابات البريد).