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

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 1
في الآونة الأخيرة ، اتصلت شركة أوروبية لتصنيع المعدات الكهربائية بـ Group-IB بعد أن تلقى أحد الموظفين رسالة بريد إلكتروني مشبوهة بها مرفق ضار في البريد. ايليا بوميرانتسيفأجرى ، متخصص في تحليل البرامج الضارة في CERT Group-IB ، تحليلاً مفصلاً لهذا الملف ، ووجد برنامج التجسس AgentTesla هناك وأخبر ما يمكن توقعه من هذه البرامج الضارة وسبب كونها خطيرة.

من خلال هذا المنشور ، نفتح سلسلة من المقالات حول كيفية تحليل مثل هذه الملفات التي يحتمل أن تكون خطرة ، ونحن ننتظر الأكثر فضولًا في 5 كانون الأول (ديسمبر) للحصول على ندوة تفاعلية مجانية على الويب حول هذا الموضوع "تحليل البرامج الضارة: تحليل حالات حقيقية". كل التفاصيل تحت الخفض.

آلية التوزيع

نحن نعلم أن البرامج الضارة دخلت جهاز الضحية عبر رسائل البريد الإلكتروني للتصيد الاحتيالي. ربما تم وضع مستلم الرسالة في نسخة مخفية.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 1
يُظهر تحليل الرأس أن مرسل البريد الإلكتروني تم انتحاله. في الواقع ، انطلقت الرسالة من vps56 [.] oneworldhosting [.] com.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 1
يوجد في مرفق الرسالة أرشيف WinRar qoute_jpeg56a.r15 مع ملف تنفيذي ضار QOUTE_JPEG56A.exe داخل.

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

النظام البيئي HPE

الآن دعنا نرى كيف يبدو النظام البيئي للبرامج الضارة قيد التحقيق. يوضح الرسم البياني أدناه هيكله واتجاهات تفاعل المكونات.

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

محمل

الملف الأصلي QOUTE_JPEG56A.exe هو مترجم AutoIt v3 النصي.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 1
للتشويش على النص الأصلي ، تشويش مع ما شابه PELock AutoIT-Obfuscator صفات.
يتم تنفيذ عملية إزالة التبسيط على ثلاث مراحل:

  1. إزالة التشويش إذا

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

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

  2. استعادة السلسلة

    يتم استخدام وظيفتين لتشفير السلاسل:

    • gdorizabegkvfca - يقوم بفك تشفير يشبه Base64

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

    • xgacyukcyzxz - بايت بسيط XOR من السلسلة الأولى بطول الثانية

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

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

  3. إزالة التشويش بيناريتوسترينج и تنفيذ

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

يتم تخزين الحمولة الرئيسية في نموذج منفصل في الدليل الخطوط قسم موارد الملفات.

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 1
ترتيب اللصق كما يلي: TIEQHCXWFG, IME, SPDGUHIMPV, KQJMWQQAQTKTFXTUOSW, أوشكروسكوو, JSHMSJPS, NHHWXJBMTTSPXVN, BFUTIFWWXVE, هوجهو, أفزومففردوفلوو.

لفك تشفير البيانات المستخرجة ، استخدم الدالة WinAPI كريبتديكريبت، ويتم استخدام مفتاح الجلسة الذي تم إنشاؤه بناءً على القيمة كمفتاح fZgFiZlJDxvuWatFRgRXZqmNCIyQgMYc.

الملف القابل للتنفيذ الذي تم فك تشفيره هو إدخال إلى الوظيفة RunPEالذي ينفذ عمليةحقن в RegAsm.exe باستخدام المدمج في شلكود (المعروف أيضًا باسم RunPE ShellCode). حقوق النشر تنتمي إلى مستخدم منتدى إسباني غير قابلة للكشف [.] صافي تحت الاسم المستعار Wardow.

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

نفسه شلكود بسيطة للغاية وتجذب الانتباه فقط اقترضت من مجموعة الهاكر AnunakCarbanak. وظيفة تجزئة استدعاء API.

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

نحن نعلم أيضًا حالات الاستخدام كود القشرة الفرنسي إصدارات مختلفة.
بالإضافة إلى الوظائف الموصوفة ، حددنا أيضًا الوظائف غير النشطة:

  • منع الإنهاء اليدوي للعملية في مدير المهام

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

  • إعادة تشغيل عملية الطفل إذا انتهت

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

  • تجاوز UAC

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

  • حفظ الحمولة في ملف

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

  • مظاهرة النوافذ المشروطة

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

  • في انتظار تغيير موضع الماوس

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

  • AntiVM و AntiSandbox

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

  • التدمير الذاتي

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

  • تنزيل الحمولة من الشبكة

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

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

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

الوحدة الرئيسية للبرامج الضارة

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

فشل الإقبال: نحضر AgentTesla لتنظيف المياه. الجزء 1
أثناء التحليل ، وجدنا أنه تم استخدام مُعتِم ConfuserEX.

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

IELibrary.dll

يتم تخزين المكتبة كمورد وحدة أساسية وهي مكون إضافي معروف لـ وكيل تسلا، والذي يوفر وظائف لاستخراج معلومات متنوعة من مستعرضات Internet Explorer و Edge.

Agent Tesla عبارة عن حزمة برامج تجسس معيارية للبرامج الضارة كخدمة متنكرة على أنها منتج مسجل لوحة مفاتيح شرعي. Agent Tesla قادر على استخراج ونقل بيانات اعتماد المستخدم من المتصفحات وعملاء البريد الإلكتروني وعملاء FTP إلى الخادم للمهاجمين وتسجيل بيانات الحافظة والتقاط شاشة الجهاز. في وقت التحليل ، لم يكن الموقع الرسمي للمطورين متاحًا.

نقطة الدخول هي الوظيفة الحصول على كلمات المرور المحفوظة فئة Internet Explorer.

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

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

إصلاح محمل الإقلاع في النظام

دعونا ندرس كيفية إصلاح محمل الإقلاع في النظام. لا يقوم المثيل الذي تم فحصه بإجراء التثبيت ، ومع ذلك ، في الأحداث المماثلة ، يحدث على النحو التالي:

  1. في المجلد ج: UsersPublic يتم إنشاء البرنامج النصي Visual Basic

    مثال على البرنامج النصي:

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

  2. محتوى ملف المحمل مبطن بحرف فارغ ويتم حفظه في المجلد ٪ Temp٪ <اسم المجلد المخصص> <اسم الملف>
  3. يتم إنشاء مفتاح التشغيل التلقائي في التسجيل لملف البرنامج النصي HKCUSoftwareMicrosoftWindowsCurrentVersionRun <اسم البرنامج النصي>

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

بالمناسبة ، في 5 كانون الأول (ديسمبر) ، ندعو جميع القراء إلى ندوة تفاعلية مجانية على الويب حول موضوع "تحليل البرامج الضارة: تحليل الحالات الحقيقية" ، حيث سيعرض مؤلف هذه المقالة ، وهو متخصص في CERT-GIB ، عبر الإنترنت المرحلة الأولى من تحليل البرامج الضارة - التفريغ شبه التلقائي للعينات باستخدام مثال لثلاث حالات مصغرة حقيقية من الممارسة ، ويمكنك المشاركة في التحليل. ندوة الويب مناسبة للمتخصصين الذين لديهم بالفعل خبرة في تحليل الملفات الضارة. التسجيل بصرامة من بريد الشركة: зарегистрируйтесь. في انتظاركم!

يارا

rule AgentTesla_clean{
meta:
    author = "Group-IB"
    file = "78566E3FC49C291CB117C3D955FA34B9A9F3EEFEFAE3DE3D0212432EB18D2EAD"
    scoring = 5
    family = "AgentTesla"
strings:
    $string_format_AT = {74 00 79 00 70 00 65 00 3D 00 7B 00 30 00 7D 00 0D 00 0A 00 68 00 77 00 69 00 64 00 3D 00 7B 00 31 00 7D 00 0D 00 0A 00 74 00 69 00 6D 00 65 00 3D 00 7B 00 32 00 7D 00 0D 00 0A 00 70 00 63 00 6E 00 61 00 6D 00 65 00 3D 00 7B 00 33 00 7D 00 0D 00 0A 00 6C 00 6F 00 67 00 64 00 61 00 74 00 61 00 3D 00 7B 00 34 00 7D 00 0D 00 0A 00 73 00 63 00 72 00 65 00 65 00 6E 00 3D 00 7B 00 35 00 7D 00 0D 00 0A 00 69 00 70 00 61 00 64 00 64 00 3D 00 7B 00 36 00 7D 00 0D 00 0A 00 77 00 65 00 62 00 63 00 61 00 6D 00 5F 00 6C 00 69 00 6E 00 6B 00 3D 00 7B 00 37 00 7D 00 0D 00 0A 00 73 00 63 00 72 00 65 00 65 00 6E 00 5F 00 6C 00 69 00 6E 00 6B 00 3D 00 7B 00 38 00 7D 00 0D 00 0A 00 5B 00 70 00 61 00 73 00 73 00 77 00 6F 00 72 00 64 00 73 00 5D 00}
    $web_panel_format_string = {63 00 6C 00 69 00 65 00 6E 00 74 00 5B 00 5D 00 3D 00 7B 00 30 00 7D 00 0D 00 0A 00 6C 00 69 00 6E 00 6B 00 5B 00 5D 00 3D 00 7B 00 31 00 7D 00 0D 00 0A 00 75 00 73 00 65 00 72 00 6E 00 61 00 6D 00 65 00 5B 00 5D 00 3D 00 7B 00 32 00 7D 00 0D 00 0A 00 70 00 61 00 73 00 73 00 77 00 6F 00 72 00 64 00 5B 00 5D 00 3D 00 7B 00 33 00 7D 00 00 15 55 00 52 00 4C 00 3A 00 20 00 20 00 20 00 20 00 20 00 20 00 00 15 55 00 73 00 65 00 72 00 6E 00 61 00 6D 00 65 00 3A 00 20 00 00 15 50 00 61 00 73 00 73 00 77 00 6F 00 72 00 64 00 3A 00}
condition:
     all of them
}

rule  AgentTesla_obfuscated {
meta:
    author = "Group-IB"
    file = "41DC0D5459F25E2FDCF8797948A7B315D3CB075398D808D1772CACCC726AF6E9"
    scoring = 5
    family = "AgentTesla"
strings:
    $first_names = {61 66 6B 00 61 66 6D 00 61 66 6F 00 61 66 76 00 61 66 79 00 61 66 78 00 61 66 77 00 61 67 6A 00 61 67 6B 00 61 67 6C 00 61 67 70 00 61 67 72 00 61 67 73 00 61 67 75 00}
    $second_names = "IELibrary.resources"
condition:
     all of them
}

rule AgentTesla_module_for_IE{
meta:
    author = "Group-IB"
    file = "D55800A825792F55999ABDAD199DFA54F3184417215A298910F2C12CD9CC31EE"
    scoring = 5
    family = "AgentTesla_module_for_IE"
strings:
    $s0 = "ByteArrayToStructure" 
    $s1 = "CryptAcquireContext" 
    $s2 = "CryptCreateHash" 
    $s3 = "CryptDestroyHash" 
    $s4 = "CryptGetHashParam" 
    $s5 = "CryptHashData"
    $s6 = "CryptReleaseContext" 
    $s7 = "DecryptIePassword" 
    $s8 = "DoesURLMatchWithHash" 
    $s9 = "GetSavedCookies" 
    $s10 = "GetSavedPasswords" 
    $s11 = "GetURLHashString"  
condition:
     all of them
}

rule RunPE_shellcode {
meta:
    author = "Group-IB"
    file = "37A1961361073BEA6C6EACE6A8601F646C5B6ECD9D625E049AD02075BA996918"
    scoring = 5
    family = "RunPE_shellcode"
strings:
    $malcode = {
      C7 [2-5] EE 38 83 0C // mov     dword ptr [ebp-0A0h], 0C8338EEh
      C7 [2-5] 57 64 E1 01 // mov     dword ptr [ebp-9Ch], 1E16457h
      C7 [2-5] 18 E4 CA 08 // mov     dword ptr [ebp-98h], 8CAE418h
      C7 [2-5] E3 CA D8 03 // mov     dword ptr [ebp-94h], 3D8CAE3h
      C7 [2-5] 99 B0 48 06 // mov     dword ptr [ebp-90h], 648B099h
      C7 [2-5] 93 BA 94 03 // mov     dword ptr [ebp-8Ch], 394BA93h
      C7 [2-5] E4 C7 B9 04 // mov     dword ptr [ebp-88h], 4B9C7E4h
      C7 [2-5] E4 87 B8 04 // mov     dword ptr [ebp-84h], 4B887E4h
      C7 [2-5] A9 2D D7 01 // mov     dword ptr [ebp-80h], 1D72DA9h
      C7 [2-5] 05 D1 3D 0B // mov     dword ptr [ebp-7Ch], 0B3DD105h
      C7 [2-5] 44 27 23 0F // mov     dword ptr [ebp-78h], 0F232744h
      C7 [2-5] E8 6F 18 0D // mov     dword ptr [ebp-74h], 0D186FE8h
      }
condition:
    $malcode 
}

rule AgentTesla_AutoIT_module{
meta:
    author = "Group-IB"
    file = "49F94293F2EBD8CEFF180EDDD58FA50B30DC0F08C05B5E3BD36FD52668D196AF"
    scoring = 5
    family = "AgentTesla"
strings:                                    
    $packedexeau = {55 ED F5 9F 92 03 04 44 7E 16 6D 1F 8C D7 38 E6 29 E4 C8 CF DA 2C C4 E1 F3 65 48 25 B8 93 9D 66 A4 AD 3C 39 50 00 B9 60 66 19 8D FC 20 0A A0 56 52 8B 9F 15 D7 62 30 0D 5C C3 24 FE F8 FC 39 08 DF 87 2A B2 1C E9 F7 06 A8 53 B2 69 C3 3C D4 5E D4 74 91 6E 9D 9A A0 96 FD DB 1F 5E 09 D7 0F 25 FB 46 4E 74 15 BB AB DB 17 EE E7 64 33 D6 79 02 E4 85 79 14 6B 59 F9 43 3C 81 68 A8 B5 32 BC E6}
condition:
     all of them
}

تجزئات

الاسم qoute_jpeg56a.r15
MD5 53BE8F9B978062D4411F71010F49209E
SHA1 A8C2765B3D655BA23886D663D22BDD8EF6E8E894
SHA256 2641DAFB452562A0A92631C2849B8B9CE880F0F8F

890E643316E9276156EDC8A

النوع أرشيف WinRAR
مقاس 823014
الاسم QOUTE_JPEG56A.exe
MD5 329F6769CF21B660D5C3F5048CE30F17
SHA1 8010CC2AF398F9F951555F7D481CE13DF60BBECF
SHA256 49F94293F2EBD8CEFF180EDDD58FA50B30DC0F08

C05B5E3BD36FD52668D196AF

النوع PE (برنامج نصي تم تجميعه تلقائيًا)
مقاس 1327616
الاسم الاصلي غير معروف
طابع التاريخ 15.07.2019
الروابط Microsoft Linker (12.0) [EXE32]
MD5 C2743AEDDADACC012EF4A632598C00C0
SHA1 79B445DE923C92BF378B19D12A309C0E9C5851BF
SHA256 37A1961361073BEA6C6EACE6A8601F646C5B6ECD

9D625E049AD02075BA996918

النوع شلكود
مقاس 1474

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

إضافة تعليق