في يوم الخامس من تشرين الثاني/ نوفمبر، أعلنت شركة مايكروسوفت عن اكتشاف الثغرة الجديدة CVE-2013-3906، والتي يُمكن استغلالها عندما تتم معالجة ملفات الصور الموسومة (تيف). باستغلال هذه الثغرة، من الممكن مهاجمة البرمجيات، بما في ذلك مايكروسوفت أوفيس ولينك (lync) التي تستخدم صور تيف. في نفس اليوم، كانت توجد تقارير تشير إلى أن مايكروسوفت قد سجلت هجماتٍ تستغل الثغرة CVE-2013-3906.
أصبحت العديد من عينات البرامج الخبيثة التي تستغِل الثغرة CVE-2013-3906 متاحةً لنا. لقد قمنا بتحليلها بالتفصيل، فوجدنا أنها جميعها تستفيد من اختراق الأجهزة والبريد الإلكتروني (heap spraying)، وتُسجل التعليمات البرمجية الخاصة بهما على العنوان 0x08080808، وتقوم بتنفيذ التعليمات البرمجية من هذا الموقع. يتم إجراء توليدٍ للاستثناءات، وإعادة كتابة الذاكرة في الملف ogl.dll غير المُحَصَّن.
جزء من تنفيذ التعليمات البرمجية الخبيثة WinDbg-shellcode
برامج استغلال الثغرات التي أمكن الوصول إليها، يمكن تقسيمها إلى مجموعتين وفقًا للتعليمات البرمجية الخبيثة (shellcode) المستخدَمة فيها.
برامج استغلال الثغرات في المجموعة الأولى، تَستخدم تعليمات برمجية خبيثة بدائية وغير مشفرة، والتي مهمتها الوحيدة هي تحميل وإطلاق البرامج الخبيثة.
التعليمات البرمجية لأحد برامج استغلال الثغرات في المجموعة الأولى
تُسقِط الحمولة (payload) ملفًا نظيفًا بامتداد .doc يتم عرضه لمحو أي شكوكٍ لدى المستخدم، فضلًا عن عرض أحد البرامج الخبيثة التي شوهدت في وقتٍ سابقٍ من الهجوم الضار. هذا هو أحد الأبواب الخلفية (برامج اختراق الحاسوب)، مكتوب بلغة البرمجة C++ والذي لم يتم حتى تشفيره.
جزء من محتويات ملف .docx النظيف
برامج استغلال الثغرات في المجموعة الثانية، هي أكثر تعقيدًا من ذلك بكثير. بالنسبة للمبتدئين، فإن التعليمات البرمجية الخبيثة (Shellcode) التي يستخدمونها، مشفرةٌ بالفعل بواسطة تشفير XOR القياسي. بعد فك التشفير، يصبح من الواضح أنها لا تقوم بتحميل وإطلاق تعليماتٍ برمجيةٍ خبيثة، على عكس برامج استغلال الثغرات، بما في ذلك تلك الموجودة في المجموعة الأولى التي تستهدف الثغرة CVE-2013-3906.
التعليمات البرمجية لأحد برامج استغلال الثغرات من المجموعة الثانية، والتي تم فك تشفيرها
يوجد كائن OLE2 المدمج في ملف docx الأصلي، يتم قراءة هذا الكائن في التعليمات البرمجية الخبيثة (shellcode). إنه يحتوي على تيارٍ للبيانات، يتألف من 6 بايتات، ويقع قبل البيانات المشفرة، التي تحتوي على مفتاح فك التشفير الأصلي، ومفتاح فك تشفيرٍ ديناميكي، وطول تيار البيانات التي تم فك تشفيرها. خوارزمية فك التشفير، هي تشفير XOR القياسي، مع مفتاحٍ تم تعديله بواسطة عملية البايت ADD.
جزء من البيانات المعبأة، والقمة (في المربع الأحمر) تحتوي على المفاتيح والحجم
بعد فك التشفير، تتحول هذه البيانات إلى ملف DLL يُسمى a.I، الذي يتم تحميله خلال العملية winword.exe. ملف الـــ DLL هذا، يُسقِط ملف a.exe، الذي هو الباب الخلفي (برنامج اختراق الحاسوب) Citadel.
جزء من عيّنة مفتوحة من Citadel
هذا يعني، أنه توجد بالفعل مجموعتان من مجرمي الإنترنت، تستخدمان الثغرة الجديدة.
من المثير للاهتمام، أن ملفات تيف في الفئة الثانية من برامج استغلال الثغرات، مؤرخة في آذار/ مارس 2013، ولكننا سجّلنا أول ظهورٍ لبرامج استغلال الثغرات هذه في 31 تموز/ يوليو. لقد قاموا باستخدام التخزين، والتشفير، وتقنية إطلاق الحمولة الموضحة أعلاه، ولكن الحمولة الفعلية تختلف في برامج استغلال الثغرات السابقة. في العيّنات الجديدة، يتم إسقاط مكتبةٍ برمجيةٍ دينامكية، والتي بدورها تُسقط وتشغل ملف .docx نظيفًا وقابلًا للتنفيذ.
في العينات السابقة، كان ملف الـ DLL مختلفًا، ويقوم بإسقاط ملف .docx نظيفًا ومختلفًا أيضًا، وكذلك البرنامج النصي vbe. يتم استخدام نفس البرنامج النصي vbe، في البرنامج الخبيث متعدد المنصات Janicab.
جزء من ملف docx. الذي تم إسقاطه من عيّنة تموز/ يوليو، من برنامج استغلال الثغرات
يبدو أن واحدًا من نفس هؤلاء الأشخاص كان مسؤولًا عن نشر CitadelJanicab – من برنامج استغلال الثغرات إلى الحمولة – أو أن شخصًا ما يبيع خدمات نشر البرمجيات الخبيثة، التي تستخدم برامج استغلال الثغرات، والهجوم الفوري.
منذ لحظة ظهور مثل هذه البرامج المستغِلة للثغرات، فإن تكنولوجيا منع الاستغلال المتقدمة لدينا (AEP)، تحمي المستخدمين من إطلاق التعليمات البرمجية الخبيثة، بواسطة التطبيقات التي تعرضت للهجوم من برامج استغلال الثغرات، التي تستهدف الثغرة CVE-2013-3906. بالاستجابة للحالات الشاذة في سلوك عمليات التطبيقات الشهيرة، فإن AEP يجعل من الممكن منع إطلاق برامج استغلال الثغرات.
تم الكشف عن برامج استغلال الثغرات هذه بواسطة توقيعات ثابتة، باعتبارها Exploit.Win32.CVE-2013-3906.a