فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3

وبهذا المقال نكمل سلسلة المنشورات المخصصة لتحليل البرامج الضارة. في الجزء الأول لقد أجرينا تحليلاً مفصلاً لملف مصاب استلمته شركة أوروبية عبر البريد واكتشفنا برنامج تجسس AgentTesla هناك. في الجزء الثاني وصف نتائج التحليل خطوة بخطوة لوحدة AgentTesla الرئيسية.

سيتحدث اليوم إيليا بوميرانتسيف، المتخصص في تحليل البرامج الضارة في CERT Group-IB، عن المرحلة الأولى من تحليل البرامج الضارة - التفريغ شبه التلقائي لعينات AgentTesla باستخدام مثال ثلاث حالات صغيرة من ممارسة متخصصي CERT Group-IB.

عادةً ما تكون المرحلة الأولى في تحليل البرامج الضارة هي إزالة الحماية في شكل أداة تعبئة أو تشفير أو أداة حماية أو أداة تحميل. في معظم الحالات، يمكن حل هذه المشكلة عن طريق تشغيل البرامج الضارة وإجراء تفريغ، ولكن هناك حالات لا تكون فيها هذه الطريقة مناسبة. على سبيل المثال، إذا كانت البرامج الضارة عبارة عن برنامج تشفير، أو إذا كانت تحمي مناطق الذاكرة الخاصة بها من الإغراق، أو إذا كانت التعليمات البرمجية تحتوي على آليات اكتشاف الجهاز الظاهري، أو إذا تم إعادة تشغيل البرامج الضارة فورًا بعد البدء. في مثل هذه الحالات، يتم استخدام ما يسمى بالتفريغ "شبه التلقائي"، أي أن الباحث لديه سيطرة كاملة على العملية ويمكنه التدخل في أي وقت. دعونا نفكر في هذا الإجراء باستخدام ثلاث عينات من عائلة AgentTesla كمثال. هذه برامج ضارة نسبيًا إذا قمت بتعطيل الوصول إلى الشبكة.

العينة رقم 1

الملف المصدر هو مستند MS Word يستغل الثغرة الأمنية CVE-2017-11882.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
ونتيجة لذلك، يتم تنزيل الحمولة وتشغيلها.

يُظهر تحليل شجرة العملية والعلامات السلوكية إدخالها في العملية RegAsm.exe.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
هناك علامات سلوكية مميزة لـ AgentTesla.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
العينة التي تم تنزيلها هي العينة القابلة للتنفيذ . NET- الملف محمي بواسطة حامي مفاعل .NET.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
دعونا نفتحه في الأداة المساعدة دي ان سباي x86 والانتقال إلى نقطة الدخول.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
عن طريق الذهاب إلى الوظيفة DateTimeOffset، سنجد رمز التهيئة الجديد . NET-وحدة. هيا نضع نقطة توقف على الخط الذي يهمنا وتشغيل الملف.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
في أحد المخازن المؤقتة التي تم إرجاعها، يمكنك رؤية توقيع MZ (0x4D 0x5A). دعونا نحفظه.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
الملف القابل للتنفيذ الذي تم تفريغه هو مكتبة ديناميكية تعمل كمحمل، أي. يستخرج الحمولة من قسم الموارد ويطلقها.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
وفي الوقت نفسه، فإن الموارد اللازمة نفسها غير موجودة في التفريغ. وهم في العينة الأصل.

فائدة com.dnSpy يحتوي على وظيفتين مفيدتين للغاية ستساعدنا في إنشاء "فرانكشتاين" بسرعة كبيرة من ملفين مرتبطين.

  1. الأول يسمح لك "بلصق" مكتبة ديناميكية في العينة الأصلية.

    فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3

  2. والثاني هو إعادة كتابة رمز الوظيفة عند نقطة الإدخال لاستدعاء الطريقة المطلوبة للمكتبة الديناميكية المدرجة.

    فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3

نحن نحفظ مجموعة "فرانكشتاين" الخاصة بنا نقطة توقف على الخط، يتم إرجاع مخزن مؤقت بموارد تم فك تشفيرها، وإنتاج تفريغ عن طريق القياس مع المرحلة السابقة.

التفريغ الثاني مكتوب فيه VB.NET ملف قابل للتنفيذ محمي بواسطة أداة حماية مألوفة لدينا ConfuserEx.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
بعد إزالة أداة الحماية، نستخدم قواعد YARA المكتوبة مسبقًا ونتأكد من أن البرنامج الضار الذي تم فك حزمته هو AgentTesla بالفعل.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3

العينة رقم 2

الملف المصدر هو مستند MS Excel. يتسبب الماكرو المضمن في تنفيذ تعليمات برمجية ضارة.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
ونتيجة لذلك، يتم تشغيل البرنامج النصي PowerShell.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
يقوم البرنامج النصي بفك تشفير كود C# وينقل التحكم إليه. الكود نفسه عبارة عن أداة تحميل التشغيل، كما يمكن رؤيته أيضًا من تقرير وضع الحماية.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
الحمولة هي ملف قابل للتنفيذ . NET-ملف.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
فتح الملف في دي ان سباي x86، يمكنك أن ترى أنه غامض. إزالة التشويش باستخدام الأداة المساعدة com.de4dot والعودة إلى التحليل.

عند فحص الكود، قد تكتشف الوظيفة التالية:

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
الخطوط المشفرة ملفتة للنظر نقطة الدخول и استدعاء. نضع نقطة توقف إلى السطر الأول، قم بتشغيل وحفظ قيمة المخزن المؤقت بايت_0.

التفريغ هو مرة أخرى تطبيق على . NET ومحمية ConfuserEx.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
نقوم بإزالة التشويش باستخدام com.de4dot وتحميل إلى com.dnSpy. من وصف الملف نفهم أننا نواجه محمل CyaX-Sharp.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
يتمتع هذا المُحمل بوظيفة واسعة النطاق لمكافحة التحليل.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
تتضمن هذه الوظيفة تجاوز أنظمة حماية Windows المضمنة، وتعطيل Windows Defender، بالإضافة إلى آليات وضع الحماية والكشف عن الأجهزة الافتراضية. من الممكن تحميل الحمولة من الشبكة أو تخزينها في قسم الموارد. يتم تنفيذ الإطلاق من خلال الحقن في عمليته الخاصة، أو في نسخة مكررة من عمليته الخاصة، أو في العمليات MSBuild.exe, vbc.exe и RegSvcs.exe اعتمادًا على المعلمة التي اختارها المهاجم.

ومع ذلك، بالنسبة لنا فهي أقل أهمية من مكافحة تفريغ- الوظيفة التي تضيف ConfuserEx. يمكن العثور على كود المصدر الخاص به على GitHub جيثب:.

لتعطيل الحماية، سوف ننتهز هذه الفرصة com.dnSpy، والذي يسمح لك بالتحرير IL-الشفرة.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
حفظ وتثبيت نقطة توقف إلى خط استدعاء وظيفة فك تشفير الحمولة. وهو موجود في منشئ الطبقة الرئيسية.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
نقوم بإطلاق وتفريغ الحمولة. باستخدام قواعد YARA المكتوبة مسبقًا، نتأكد من أن هذا هو AgentTesla.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3

العينة رقم 3

الملف المصدر هو الملف القابل للتنفيذ VB الأصلي PE32-ملف.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
يُظهر تحليل الإنتروبيا وجود جزء كبير من البيانات المشفرة.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
عند تحليل نموذج الطلب في برنامج فك ترجمات VB قد تلاحظ خلفية منقطة غريبة.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
الرسم البياني الانتروبيا BMP-الصورة مطابقة للرسم البياني للإنتروبيا للملف الأصلي، وحجمها هو 85% من حجم الملف.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
يشير المظهر العام للصورة إلى استخدام إخفاء المعلومات.

دعونا ننتبه إلى مظهر شجرة العملية، وكذلك وجود علامة الحقن.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
يشير هذا إلى أن التفريغ قيد التقدم. بالنسبة إلى أدوات تحميل Visual Basic (المعروفة أيضًا باسم VBKrypt أو VBInjector) الاستخدام النموذجي كود القشرة لتهيئة الحمولة، وكذلك لإجراء الحقن نفسه.

تحليل في برنامج فك ترجمات VB أظهر وجود حدث حمل في النموذج فيجاتاسوكAirballoon2.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
لنذهب إلى المؤسسة الدولية للتنمية برو إلى العنوان المحدد ودراسة الوظيفة. الكود غامض بشدة. الجزء الذي يهمنا معروض أدناه.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
هنا يتم فحص مساحة عنوان العملية بحثًا عن التوقيع. هذا النهج مشكوك فيه للغاية.

أولاً، عنوان بدء المسح 0x400100. هذه القيمة ثابتة ولا يتم تعديلها عند تغيير القاعدة. في ظروف الدفيئة المثالية سوف يشير إلى النهاية PE- رأس الملف القابل للتنفيذ. ومع ذلك، فإن قاعدة البيانات ليست ثابتة، ويمكن أن تتغير قيمتها، والبحث عن العنوان الحقيقي للتوقيع المطلوب، على الرغم من أنه لن يتسبب في تجاوز سعة المتغير، قد يستغرق وقتًا طويلاً جدًا.

ثانيا: معنى التوقيع iWGK. أعتقد أنه من الواضح أن 4 بايت صغيرة جدًا بحيث لا تضمن التفرد. وإذا أخذت في الاعتبار النقطة الأولى، فإن احتمال ارتكاب خطأ مرتفع للغاية.

في الواقع، يتم إرفاق الجزء المطلوب بنهاية ما تم العثور عليه مسبقًا BMP-الصور عن طريق الإزاحة 0xA1D0D.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
إعدام كود القشرة تتم على مرحلتين. الأول يفك رموز الجسم الرئيسي. في هذه الحالة، يتم تحديد المفتاح بالقوة الغاشمة.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
تفريغ واحد فك تشفيرها كود القشرة وانظر إلى السطور.

أولاً، نحن نعرف الآن وظيفة إنشاء عملية فرعية: إنشاء عملية داخليةW.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
ثانيا، أصبحنا على علم بآلية التثبيت في النظام.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
دعنا نعود إلى العملية الأصلية. هيا نضع نقطة توقف في إنشاء عملية داخليةW ومواصلة التنفيذ. التالي نرى الاتصال NtGetContextThread/NtSetContextThread، والذي يغير عنوان بدء التنفيذ إلى العنوان شلكود.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
نحن نتصل بالعملية التي تم إنشاؤها باستخدام مصحح الأخطاء ونقوم بتنشيط الحدث تعليق عند تحميل/تفريغ المكتبة، استأنف العملية وانتظر التحميل . NET-المكتبات.

مزيد من الاستخدام ProcessHacker مناطق تفريغ تحتوي على تفكيك . NET-طلب.

نقوم بإيقاف جميع العمليات وحذف نسخة البرامج الضارة التي أصبحت مدمجة في النظام.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
الملف الذي تم تفريغه محمي بواسطة أداة حماية مفاعل .NET، والتي يمكن إزالتها بسهولة باستخدام الأداة المساعدة com.de4dot.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 3
باستخدام قواعد YARA المكتوبة سابقًا، نتأكد من أن هذا هو AgentTesla.

تلخيص

لذلك، أظهرنا بالتفصيل عملية تفريغ العينات شبه التلقائية باستخدام ثلاث حالات صغيرة كمثال، وقمنا أيضًا بتحليل البرامج الضارة بناءً على حالة كاملة، واكتشفنا أن العينة قيد الدراسة هي AgentTesla، مما أدى إلى تحديد وظائفها و قائمة كاملة من مؤشرات التسوية.

إن تحليل الكائن الخبيث الذي قمنا به يتطلب الكثير من الوقت والجهد، ويجب أن يقوم بهذا العمل موظف خاص في الشركة، ولكن ليست كل الشركات مستعدة لتوظيف محلل.

إحدى الخدمات التي يقدمها مختبر Group-IB للطب الشرعي الحاسوبي وتحليل الرموز الضارة هي الاستجابة للحوادث السيبرانية. وحتى لا يضيع العملاء الوقت في الموافقة على المستندات ومناقشتها وسط الهجوم السيبراني، أطلقت Group-IB مثبت الاستجابة للحوادث، وهي خدمة الاستجابة لحوادث الاشتراك المسبق والتي تتضمن أيضًا خطوة تحليل البرامج الضارة. يمكن العثور على مزيد من المعلومات حول هذا هنا.

إذا كنت ترغب في دراسة كيفية تفريغ عينات AgentTesla مرة أخرى ومعرفة كيف يقوم متخصص CERT Group-IB بذلك، يمكنك تنزيل تسجيل الندوة عبر الإنترنت حول هذا الموضوع هنا.

المصدر: www.habr.com

إضافة تعليق