شعار زيفيرنت

تسليط الضوء على برنامج AceCryptor وتشغيله | WeLiveSecurity

التاريخ:

يكشف باحثو ESET عن تفاصيل حول برنامج تشفير سائد ، يعمل كخدمة مشفر كخدمة يستخدمها عشرات من عائلات البرامج الضارة

في هذه المدونة ، نفحص تشغيل AceCryptor ، الموثق أصلاً بواسطة Avast. كان هذا التشفير موجودًا منذ عام 2016 ولأنه - طوال فترة وجوده - تم استخدامه لحزم عشرات عائلات البرامج الضارة ، تم بالفعل وصف العديد من الأجزاء التقنية من هذا البرنامج الضار. ربما تكون قد قرأت بالفعل عن برنامج التشفير هذا ، والذي يُعرف بشكل مختلف باسم تشويش DJVU, مرحلة SmokeLoader 1, RedLine stealer المرحلة 1 و 2 و 3, باكر بسيط وشعبي، وما إلى ذلك ... لا يتعرف العديد من منشورات المدونات المنشورة (وليس كلها) على هذا التشفير كعائلة برامج ضارة منفصلة ، لذا دعنا نربط جميع النقاط نيابة عنك ، ولا نقدم فقط تحليلًا تقنيًا لمتغيراته ولكن أيضًا نظرة عامة على عائلات البرامج الضارة التي يمكن العثور عليها معبأة ومدى انتشار AceCryptor في البرية.

بالنسبة لمؤلفي البرامج الضارة ، تعد حماية إبداعاتهم من الاكتشاف مهمة صعبة. تعد برامج التشفير الطبقة الأولى للدفاع عن البرامج الضارة التي يتم توزيعها. على الرغم من أنه يمكن للجهات الفاعلة في مجال التهديد إنشاء برامج التشفير المخصصة الخاصة بها والحفاظ عليها ، إلا أنه بالنسبة لممثلي تهديدات البرامج الإجرامية ، غالبًا ما تكون مهمة مستهلكة للوقت أو صعبة تقنيًا للحفاظ على التشفير الخاص بهم في حالة تسمى FUD (غير قابلة للكشف تمامًا). لقد خلق الطلب على هذه الحماية متعددة المشفر مثل-خدمة (CaaS) الخيارات التي تحزم البرامج الضارة. يمكن أن تتضمن هذه المشفرات تقنيات متعددة لمكافحة VM ، ومكافحة تصحيح الأخطاء ، ومكافحة التحليل مجتمعة لتحقيق إخفاء الحمولة.

النقاط الرئيسية لهذه المدونة:

  • يوفر AceCryptor خدمات التعبئة لعشرات من عائلات البرامج الضارة المعروفة جدًا.
  • تنتشر عينات AceCryptor بشكل كبير في جميع أنحاء العالم لأن العديد من جهات التهديد التي تستخدمها تنشر برامجها الضارة المعبأة في حملاتهم الخاصة.
  • تم تعتيم AceCryptor بشكل كبير وقد تم دمج العديد من التقنيات على مر السنين لتجنب الكشف.
  • يحتوي AceCryptor على العديد من المتغيرات الموضحة في هذه المدونة.
  • على الرغم من أنه من الممكن العثور على التحليلات التقنية (غالبًا عندما يظهر هذا التشفير كجزء / مرحلة من البرامج الضارة الأخرى) من قبل باحثين آخرين ، فإن ESET Research لا يهدف فقط إلى تقديم نظرة عامة شاملة على وظائف AceCryptor ، ولكن أيضًا عن تاريخها وانتشارها.
  • خلال عامي 2021 و 2022 ، قامت ESET بحماية أكثر من 80,000 عميل تأثروا بالبرامج الضارة التي تم تعبئتها بواسطة AceCryptor.

نظرة عامة على الإحصائيات والعائلات المكتظة

منذ الظهور الأول المعروف لـ AceCryptor في عام 2016 ، استخدم العديد من مؤلفي البرامج الضارة خدمات هذا التشفير ، حتى برامج الجريمة الأكثر شهرة مثل Emotet ، عندما لم يستخدم برنامج التشفير الخاص به. خلال الفترة من 2021 إلى 2022 ، اكتشفت ESET أكثر من 80,000 عينة فريدة من AceCryptor. نظرًا للعدد الكبير من عائلات البرامج الضارة المختلفة المكدسة بالداخل ، نفترض أن AceCryptor يُباع في مكان ما باعتباره CaaS. إذا أخذنا في الاعتبار عدد الملفات الفريدة التي تم اكتشافها: على الرغم من أننا لا نعرف السعر الدقيق لهذه الخدمة ، فإننا نفترض أن المكاسب التي حققها مؤلفو AceCryptor ليست ضئيلة.

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

الشكل 1. عدد اكتشافات AceCryptor خلال عامي 2021 و 2022 (المتوسط ​​المتحرك لمدة 7 أيام)

بعد الاطلاع على البرامج الضارة المعبأة بواسطة AceCryptor ، وجدنا أكثر من 200 اسم من أسماء ESET. الآن ، بالطبع قد تحتوي عائلة واحدة من البرامج الضارة على العديد من أسماء الكشف عبر المتغيرات الفردية ، بسبب التحديثات أو التغييرات في التعتيم - على سبيل المثال ، MSIL / Spy.RedLine.A و MSIL / Spy.RedLine.B هما اكتشافان للبرامج الضارة RedLine Stealer . أسماء الكشف عن بعض البرامج الضارة الأخرى ليست حسب العائلة ، ولكن حسب الفئة (على سبيل المثال ، ClipBanker أو Agent) ، نظرًا لأن الكثير من عينات البرامج الضارة التي تم فك حزمها هي عبارة عن سارقون عامون للحافظة ، وأحصنة طروادة ، وما إلى ذلك ، وهي ليست منتشرة على نطاق واسع و / أو قليلة المتغيرات المعدلة من البرامج الضارة المعروفة الأخرى المنشورة في مستودعات عامة مختلفة. بعد التجميع ، يمكننا أن نستنتج أنه بعد التفريغ ، من بين عائلات البرامج الضارة التي تم العثور عليها SmokeLoader و RedLine Stealer و RanumBot و Raccoon Stealer و STOP ransomware و Amadey و Fareit و Pitou و Tofsee و Taurus و Phobos و Formbook و Danabot و Warzone وغيرها الكثير ... يوضح الشكل 2 نظرة عامة على كميات العينات التي تنتمي إلى بعض عائلات البرامج الضارة المعروفة والمنتشرة والمعبأة بواسطة AceCryptor.

الشكل 2. حزم البرامج الضارة داخل برنامج AceCryptor خلال عامي 2021 و 2022

تعد أنشطة مراقبة موفري CaaS مثل AceCryptor مفيدة في مراقبة البرامج الضارة التي تستخدم خدماتهم. كمثال ، فكر في RedLine Stealer الذي ظهر لأول مرة في الربع الأول من عام 1. كما يتضح من الشكل 2022 ، استخدم موزعو RedLine Stealer برنامج AceCryptor منذ بداية وجود RedLine Stealer وما زالوا يواصلون القيام بذلك. وبالتالي ، فإن القدرة على اكتشاف AceCryptor (وغيره من CaaS) بشكل موثوق لا يساعدنا فقط في رؤية التهديدات الناشئة الجديدة ، ولكن أيضًا في مراقبة أنشطة الجهات الفاعلة في التهديد.

الشكل 3. حوادث RedLine Stealer في عينات AceCryptor (متوسطات 7 أيام)

بالضحايا

كما هو متوقع من مجموعة متنوعة من البرامج الضارة المعبأة داخل AceCryptor وتنوع اهتمامات مؤلفي البرامج الضارة المختلفة ، يمكن رؤية AceCryptor في كل مكان في العالم. خلال عامي 2021 و 2022 ، اكتشف القياس عن بُعد من ESET أكثر من 240,000 عملية اكتشاف لهذه البرامج الضارة ، والتي تصل إلى أكثر من 10,000 زيارة كل شهر. في الشكل 4 ، يمكنك رؤية البلدان التي لديها أكبر عدد من الاكتشافات خلال عامي 2021 و 2022.

الشكل 4. خريطة الحرارة للبلدان المتأثرة بـ AceCryptor وفقًا للقياس عن بُعد لـ ESET

خلال عامي 2021 و 2022 ، اكتشفت منتجات ESET متغيرات البرامج الضارة المعبأة بواسطة AceCryptor وحظرتها على أكثر من 80,000 جهاز كمبيوتر للعملاء. اكتشفنا أيضًا أكثر من 80,000 عينة فريدة من AceCryptor. الآن ، بالطبع يمكن اكتشاف أي عينة على أجهزة كمبيوتر متعددة أو تمت حماية جهاز كمبيوتر واحد عدة مرات بواسطة برنامج ESET ، لكن عدد التجزئة الفريدة يوضح مدى فعالية عمل مؤلفي AceCryptor على التعتيم والتهرب من الاكتشاف. سوف نتعمق أكثر في التفاصيل الفنية لتشويش AceCryptor في التحليل الفني جزء من هذه المدونة.

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

التوزيع

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

هناك طريقة أخرى قد يتعرض بها شخص ما للبرامج الضارة المعبأة بواسطة AceCryptor وهي عبر برامج ضارة أخرى تقوم بتنزيل برامج ضارة جديدة محمية بواسطة AceCryptor. مثال على ذلك هو شبكة Amadey الروبوتية ، التي لاحظنا تنزيلها لبرنامج RedLine Stealer المعبأ بـ AceCryptor.

نود أن نلاحظ أن هذا يعمل في كلا الاتجاهين وأن بعض عائلات البرامج الضارة المحمية بواسطة AceCryptor يمكنها أيضًا تنزيل برامج ضارة جديدة إضافية.

التحليل الفني

يستخدم AceCryptor حاليًا بنية متعددة المراحل وثلاث طبقات. هناك إصداران معروفان من الطبقة الأولى قيد الاستخدام حاليًا - إصدار يستخدم TEA (Tiny Encryption Algorithm) لفك تشفير الطبقة الثانية والإصدار الذي يستخدم ملف المولد الخطي المتطابق (LCG) من Microsoft Visual / Quick / C ++ لفك تشفير الطبقة الثانية. الطبقة الثانية هي كود القشرة الذي يقوم بحيل دفاعية ، ثم يفك تشفير الطبقة الثالثة ويطلقها. أخيرًا ، الطبقة الثالثة عبارة عن كود قشرة أكثر يؤدي أيضًا بعض الحيل المضادة للتحقيق ، ومهمتها هي إطلاق الحمولة. هناك نسختان معروفتان من الطبقة الثالثة: يقوم أحدهما بإجراء عملية تجويف ، بينما يستخدم الآخر محملًا عاكسًا ويقوم بالكتابة فوق صورته مع PE للحمولة النهائية.

الشكل 5. هندسة AceCryptor

طبقة 1

على الرغم من وجود نسختين من Layer 1 ، إلا أنهما يعملان بشكل مشابه جدًا. يمكن تلخيص مهامهم الرئيسية على النحو التالي:

  1. قم بتحميل الطبقة المشفرة 2 في الذاكرة المخصصة.
  2. فك تشفير الطبقة 2.
  3. اتصل أو انتقل إلى الطبقة 2.

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

الحلقات

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

الشكل 6. تشويش AceCryptor مع حلقات وإخفاء أجزاء مهمة من التعليمات البرمجية

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

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

التوزيع العشوائي - لا يجب عليك YARA

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

  • عدد التكرارات يتغير ،
  • تغيير مكالمات API ،
  • عدد استدعاءات API يتغير ، و
  • تغيير حسابات البريد غير الهام أو تعليمات MOV.

يمكن أن يؤدي كل هذا التوزيع العشوائي أيضًا إلى تعقيد تحديد خوارزمية فك التشفير والمفاتيح. في الشكل 7 والشكل 8 ، يمكنك رؤية النسخة الأصلية غير المبهمة والمبهمة من خوارزمية TEA. في النسخة المبهمة ، لا توجد تعليمات حسابية غير مهمة فحسب ، بل توجد أيضًا بعض أجزاء الخوارزمية مُحددة في إجراءات فرعية ويتم إخفاء الثوابت المعروفة (مجموع ودلتا في الشكل 7) ، فقط لجعل التحديد الصحيح للخوارزمية غير مرجح أو بالتأكيد أكثر صعوبة .

الشكل 7. وظيفة فك تشفير TEA - غير مبهمة

الشكل 8. وظيفة فك تشفير TEA - مشوشة

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

يقوم مؤلفو AceCryptor أيضًا بترتيب الخصائص التالية عشوائيًا:

  • يبدأ مسار PDB دائمًا بـ C:، لكن باقي المسار عشوائي.
  • الموارد ذات الأسماء والمحتويات العشوائية ، كما يتضح من الشكل 9. يملأ مؤلفو AceCryptor العينات بموارد تم إنشاؤها عشوائيًا تحتوي على بيانات تم إنشاؤها عشوائيًا. نفترض أن هذا يتم لجعل العينات أقل شكًا وجعل تحديد موقع البيانات المشفرة الفعلية أكثر صعوبة. يمكن أن تحتوي الموارد على:
    • الجداول سلسلة
    • القوائم الرئيسية
    • الصور النقطية
    • البيانات الثنائية
  • السلاسل المستخدمة في الكود.
  • الأيقونات - على الرغم من أن الرموز المستخدمة في العديد من العينات تبدو متشابهة ، إلا أنها معدلة قليلاً / عشوائية لتكون فريدة من نوعها.
  • أسماء الأقسام الوهمية العشوائية.
  • وظائف تخصيص الذاكرة لبيانات الطبقة الثانية - GlobalAlloc, لوكال ألوكو VirtualAlloc.
  • استخدام بعض واجهات برمجة التطبيقات المهمة لتنفيذ التعليمات البرمجية - قد يتم استيرادها بشكل ثابت أو الحصول عليها عبر GetModuleHandleA و GetProcAddress.

الشكل 9. يتم إنشاء موارد AceCryptor بشكل عشوائي باستخدام محتويات يتم إنشاؤها عشوائيًا لجعل العينات أقل إثارة للشك

الشكل 10. سلاسل AceCryptor العشوائية في الموارد

الإصدارات السابقة

على مر السنين ، أصبح مؤلفو AceCryptor أكثر كفاءة في تطوير البرامج الضارة وتغير التشفير وتطور. على الرغم من وجود العديد من التغييرات والتحديثات والتحسينات الأصغر ، إلا أن بعض الميزات المثيرة للاهتمام للإصدارات القديمة من الطبقة الأولى تضمنت ما يلي:

  • خلال عام 2016 ، استخدم AceCryptor إصدارًا من الطبقة الأولى مع خوارزمية تشفير XTEA.
  • خلال 2017-2018 ، استخدم AceCryptor إصدارًا آخر من الطبقة الأولى ، حيث كانت خوارزمية التشفير المستخدمة هي RC1.
  • ظهرت أول إصدارات (X) TEA و LCG من الطبقة 1 في عام 2016. على عكس إصدار LCG ، سرعان ما تم إهمال إصدار XTEA وتم استبداله بإصدار TEA.
  • في الإصدارات القديمة ، كانت الطبقة 2 المشفرة موجودة في الموارد المخفية في صورة BMP. تم إنشاء هذه الصورة بشكل عشوائي بعرض وارتفاع عشوائي ، وتم قص منتصف الصورة واستبدالها ببيانات مشفرة. يجب العثور على البيانات في الإزاحة الصحيحة.

طبقة 2

ظهرت الطبقة الثانية من AceCryptor في عام 2. وحتى ذلك الحين ، أطلقت AceCryptor Layer 2019 مباشرةً من الطبقة 3. تعمل هذه الطبقة كتشفير وحماية إضافية للطبقة 1 وتتكون ، كما يوضح الشكل 3 ، من ثلاثة أجزاء:

  • رمز مستقل عن الموضع ،
  • بنية مخصصة أطلقنا عليها اسم L2_INFO_STRUCT، التي تحتوي على معلومات حول الطبقة 3 ، و
  • بيانات الطبقة 3

الشكل 11. بنية الطبقة الثانية من AceCryptor

كخطوة أولى ، يستخدم AceCryptor أسلوبًا شائعًا للحصول على بعض عناوين وظائف API. يقرر GetProcAddress و تحميل مكتبة وظائف باستخدام PEB_LDR_DATA للانتقال عبر الوحدات المحملة ، ومن خلال مقارنة قيم التجزئة لأسماء التصدير الخاصة بهم مقابل القيم المشفرة. كدالة المجموع الاختباري ، يستخدم AceCryptor ملف shl1_add وظيفة ، تم تنفيذها بالفعل في التجزئة، والتي يمكن أن تجعل التعرف على واجهات برمجة التطبيقات التي تم حلها أسرع.

الرقم 12. shl1_add مزيج نفذت في بايثون

ثم يحصل AceCryptor على مقبض لـ kernel32.dll استخدام تحميل مكتبة ويستخدم ذلك و GetProcAddress لحل المزيد من واجهات برمجة التطبيقات.

للخطوات التالية ، يستخدم AceCryptor معلومات من هيكله المخصص L2_INFO_STRUCT (كما هو موضح في الشكل 13) ، والذي يمكن العثور عليه في نهاية الكود المستقل عن الموضع ، كما يتضح من الشكل 11.

الشكل 13. نظرة عامة على L2_INFO_STRUCT من الطبقة 2

في الخطوات التالية ، يقوم AceCryptor بفك تشفير الطبقة 3 المشفرة باستخدام LCG من Microsoft Visual / QuickC / C ++. يحدث فك التشفير في المكان. إذا كان ضغط تم تعيينه ، يخصص AceCryptor الذاكرة بامتداد VirtualAlloc API ويفك ضغط البيانات التي تم فك تشفيرها باستخدام خوارزمية إلغاء الضغط LZO_1Z. بعد ذلك ، ينتقل التنفيذ إلى الطبقة 3 التي تم فك تشفيرها وفك ضغطها اختياريًا.

الطبقة 3 - عملية التفريغ

كخطوة أولى ، يحصل AceCryptor على عناوين تحميل مكتبة و GetProcAddress واجهات برمجة التطبيقات بنفس الطريقة كما في "2 - اجتياز الوحدات المحملة والتصدير والاستخدام shl1_add اختباري. ثم يحصل AceCryptor على عدة عناوين وظائف API ومقابض DLL.

الشكل 14. هيكل طبقة AceCryptor 3 - عملية التجويف

في الخطوة التالية ، يستخدم AceCryptor واجهة برمجة التطبيقات GetFileAttributesA ويتحقق من سمات نظام الملفات لملف يسمى apfHQ. تتم مقارنة السمات بـ أ مجموعة غير موجودة من الأعلام 0x637ADF وإذا كانت متساوية ، سينتهي البرنامج في حلقة لا نهائية. نظرًا لاستخدام هذا في الطبقة الأخيرة ، والتي تم إخفاؤها جيدًا بالفعل ، ولأن هذه ليست الحيلة الوحيدة هنا ، نفترض أن هذه ليست تقنية تشويش أخرى ، بل هي خدعة غير موثقة ضد وضع الحماية / مضاد المحاكي ضد مجهول لكن وضع الحماية / المحاكي المحدد الذي يُرجع هذه القيمة.

إذا استمر البرنامج بنجاح ، فهناك فحص آخر لمكافحة وضع الحماية / مكافحة المحاكي. الآن يستخدم AceCryptor API التسجيل لتسجيل الفصل باسم الفصل saodkfnosa9uin. ثم يحاول إنشاء نافذة بالاسم com.mfoaskdfnoa يستخدم ال إنشاءWindowExA API. في الخطوة الأخيرة من هذا الفحص ، يحاول AceCryptor استخدام واجهات برمجة التطبيقات PostMessage و GetMessage لتمرير رسالة. نظرًا لأن واجهات برمجة التطبيقات هذه لا تُستخدم كثيرًا ، فإن هذا الفحص يساعد في تفادي صناديق الحماية / المحاكيات التي لم تنفذ واجهات برمجة التطبيقات هذه أو حيث لا تعمل واجهات برمجة التطبيقات التي تمت محاكاتها بشكل صحيح.

الشكل 15. خدعة Anti-VM / anti-emulator

بعد اجتياز هذه الفحوصات بنجاح ، يستخدم AceCryptor ملحق تقنية عملية التفريغ حيث يتم إنشاء مثيل جديد للعملية الحالية (احصل علىCommandLineA, إنشاء العملية) ، وتعيين الحمولة النهائية في العملية المنشأة حديثًا ، وبدء تشغيلها.

الإصدارات السابقة

خدعة مكافحة التحقيق باستخدام التسجيل, إنشاءWindowExA, PostMessage, GetMessage كانت في الإصدارات السابقة (على سبيل المثال ، SHA-1: 01906C1B73ECFFD72F98E729D8EDEDD8A716B7E3) المستخدمة في الطبقة 1 وما بعدها (عندما تم اختبارها وتطورت بنية التشفير) تم نقلها إلى الطبقة 3.

الطبقة 3 - محمل عاكس

الخطوة الأولى هذه الطبقة تشبه طبقة 2 و طبقة 3 - عملية التفريغيحصل على عناوين GetProcAddress و تحميل مكتبة وظائف API. الفرق هو أنه هذه المرة ، لسبب ما ، لم يستخدم المؤلفون ملحق shl1_add الاختباري ، لكنهم يحصلون أولاً على GetProcAddress من خلال عبور الوحدات المحملة ، واجتياز الصادرات ، ومقارنة السلاسل. ثم استخدم GetProcAddress يحصلون على تحميل مكتبة وظيفة. باستخدام هاتين واجهتي برمجة التطبيقات ، يقوم AceCryptor بتحميل عناوين لبعض وظائف API ومقبض kernel32.dll.

الشكل 16. هيكل الجرافة العاكسة للطبقة 3

في الكود ، توجد خدعة (كما هو موضح في الشكل 17) حيث يمزج AceCryptor الكود بالبيانات. يتحكم AceCryptor في القيمة الموجودة على عنوان المرسل بعد مكالمة واحدة. يتم تعيين هذه القيمة افتراضيًا على صفر ويكتب AceCryptor لاحقًا عنوان نقطة دخول الحمولة النهائية. إذا تم تصحيح البرنامج وتم ضبط القيمة على قيمة غير صفرية ، فسينتقل البرنامج إلى العنوان المشار إليه بهذه القيمة ويتعطل.

الشكل 17. مزج التعليمات البرمجية بالبيانات

في الخطوة التالية ، يقوم AceCryptor بتنفيذ ملف مكافحة VM التحقق تستهدف Cuckoo sandbox و IDA Pro + Bochs و Norman SandBox. في الشكل 19 يمكن رؤية هذا العلم SEM_NOALIGNMENTFAULTEXCEPT مع القيمة 0x04 دائمًا ما يتم تعيينها بواسطة Cuckoo sandbox ، وبسبب ذلك ، يتم تعيين المكالمة الثانية لـ SetErrorMode في الكود الموجود في الشكل 18 لن يُرجع نفس القيمة التي تم تعيينها بواسطة المكالمة السابقة.

الشكل 18. خدعة Anti-VM

الرقم 19. كود من الوقواق رمل

في الخطوات الأخيرة ، يتحقق AceCryptor أولاً مما إذا تم ضغط الحمولة النهائية (مرة أخرى) وإذا كان الأمر كذلك ، فإنه يستخدم فك ضغط LZO_1Z. على غرار Layer 2 ، يستخدم اللودر العاكس من الطبقة 3 هيكلًا مخصصًا ، والذي أطلقنا عليه اسم ENCRYPTED_DATA_INFO_STRUCT (الشكل 16) ، يمكن العثور عليها مباشرة بين الكود المستقل عن الموضع والحمولة النهائية ، والتي تحتوي على معلومات مثل علامة الضغط ، وعدد أقسام الحمولة ، والحجم المضغوط للحمولة ، وعنوان نقطة الدخول ، وعناوين بعض الأدلة ، والصورة عنوان جدول النقل ، وما إلى ذلك. يستخدم AceCryptor هذه المعلومات (على عكس الطبقة 3 - عملية التفريغ، والتي تحلل PE للحمولة النهائية) للقيام بتقنية تحميل رمز عاكسة حيث تقوم بإعادة رسم الخرائط (أقسام الخريطة ، صورة إعادة الأساس ، ...) صورتها الخاصة مع صورة الحمولة النهائية وتطلق الحمولة من خلال استدعاء نقطة الدخول الخاصة بها.

وفي الختام

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

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

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

لأية استفسارات حول بحثنا المنشور على WeLiveSecurity ، يرجى الاتصال بنا على التهديدintel@eset.com.

تقدم ESET Research تقارير استخباراتية خاصة لـ APT وموجزات بيانات. لأية استفسارات حول هذه الخدمة ، قم بزيارة استخبارات التهديدات من إسيت .

شركات النفط العالمية

ملفات

ملاحظة: الملفات المدرجة هي مجموعة معقولة من العينات على مدار الوقت ، تغطي إصدارات مختلفة من AceCryptor أو تحزم برامج ضارة مختلفة.

SHA-1 اسم الملف اسم اكتشاف ESET الوصف
0BE8F44F5351A6CBEF1A54A6DE7674E1219D65B6 N / A Win32 / Kryptik.HPKJ نسخة TEA من الطبقة 1 ، مع SmokeLoader معبأة بالداخل.
0BE56A8C0D0DE11E0E97B563CAE6D1EE164F3317 N / A Win32 / Kryptik.GOFF نسخة LCG من Layer 1 ، مع SmokeLoader معبأة بالداخل ، خدعة مضادة للتحقيق على Layer 2.
1E3D4230655411CB5F7C6885D7F947072B8F9F0F N / A Win32 / Emotet.AW نسخة RC4 من الطبقة 1 ، مع حزمة Emotet بالداخل.
2FDD49A3F7D06FFFD32B40D35ABD69DEC851EB77 N / A Win32 / Smokeloader.F نسخة TEA من الطبقة 1 ، مع SmokeLoader معبأة بالداخل.
3AC205BE62806A90072524C193B731A1423D5DFD N / A Win32 / Kryptik.GPCG نسخة TEA من الطبقة 1 ، مع SmokeLoader معبأة بالداخل.
6ABF731B90C11FFBD3406AA6B89261CC9596FEFD N / A Win32 / Kryptik.HRHP نسخة الشاي من الطبقة 1 ، مع RedLine stealer معبأة بالداخل.
8E99A5EC8C173033941F5E00A3FC38B7DEA9DCB3 N / A Win32 / Kryptik.FKYH نسخة TEA من Layer 1 ، مع Filecoder.Q معبأة بالداخل ، الطبقة التالية في صورة BMP.
15ADFFDA49C07946D4BD41AB44846EB673C22B2B N / A WinGo / RanumBot.B نسخة TEA من الطبقة 1 ، مع RanumBot معبأة بالداخل ، والتشويش - مسار PDB عشوائي.
47DB52AB94B9A303E85ED1AA1DD949605157417E N / A Win32 / Smokeloader.A نسخة TEA من Layer 1 ، مع SmokeLoader معبأة بالداخل ، خدعة مضادة للمحاكي على Layer 1.
70BC8C2DC62CF894E765950DE60EC5BD2128D55B N / A Win32 / Smokeloader.F نسخة TEA من الطبقة 1 ، مع SmokeLoader معبأة بالداخل.
88B125DDA928462FDB00C459131B232A3CD21887 N / A Win32 / Kryptik.GDTA نسخة TEA من الطبقة 1 ، مع Hermes معبأة بالداخل ، والتشويش - إخفاء القيم.
90A443787B464877AD9EB57536F51556B5BA8117 N / A Win32 / Kovter.C نسخة XTEA من Layer 1 ، مع Kovter معبأة بالداخل.
249BED77C1349BE7EC1FC182AFCCB1234ADFACDF N / A Win32 / Smokeloader.F نسخة TEA من الطبقة 1 ، مع SmokeLoader معبأة بالداخل.
3101B17D73031384F555AE3ACD7139BBBAB3F525 N / A Win32 / TrojanDownloader.Amadey.A نسخة الشاي من الطبقة 1 ، مع Amadey معبأة بالداخل.
8946E40255B57E95BAB041687A2F0F0E15F5FFCE N / A Win32 / Kryptik.GKIN نسخة LCG من الطبقة 1 ، مع GandCrab معبأة بالداخل ، والتشويش - أقسام مسماة.
946082F225C76F2FFBE92235F0FAF9FB9E33B784 N / A Win32 / Filecoder.Locky.C نسخة LCG من الطبقة 1 ، مع حزمة Locky بالداخل.
A8ACF307EA747B24D7C405DEEF70B50B2B3F2186 N / A MSIL / Spy.RedLine.B نسخة LCG من Layer 1 ، مع RedLine Stealer معبأة بالداخل.
F8039D04FF310CEF9CA47AC03025BD38A3587D10 N / A Win32 / Smokeloader.F نسخة TEA من الطبقة 1 ، مع SmokeLoader معبأة بالداخل.

الكائنات المسماة

نوع الكائن اسم الكائن
مبوبة saodkfnosa9uin
نافذة com.mfoaskdfnoa

تقنيات MITER ATT & CK

تم بناء هذا الجدول باستخدام إصدار 12 من تقنيات مؤسسة MITER ATT & CK.

تكتيك ID الاسم الوصف
التنفيذ T1106 API الأصلي AceCryptor قادر على بدء عملية باستخدام ملف إنشاء العملية API.
التهرب الدفاعي T1497.003 المحاكاة الافتراضية / التهرب من وضع الحماية: التهرب المستند إلى الوقت يستخدم AceCryptor حلقات برمز تعسفي لتأخير تنفيذ الوظائف الأساسية.
T1497.001 المحاكاة الافتراضية / تجنب وضع الحماية: فحوصات النظام يستخدم AceCryptor تقنيات متعددة لاكتشاف صناديق الحماية والمحاكيات.
T1140 فك تشفير / فك تشفير الملفات أو المعلومات يستخدم AceCryptor تشفير TEA أو LCG أو XTEA أو RC4 وضغط LZO_1Z لاستخراج رمز وحمولات مستقلة عن الموضع.
T1027 ملفات أو معلومات مبهمة يخفي AceCryptor قيمًا مثل طول الحمولة أو الثوابت المعروفة لخوارزميات فك التشفير أو مفتاح فك التشفير.
T1055.012 عملية الحقن: عملية التجويف يمكن لـ AceCryptor إنشاء عملية جديدة في حالة تعليق لإلغاء خريطة ذاكرتها واستبدالها بالحمولة المخفية.
T1620 تحميل رمز عاكس يمكن لـ AceCryptor استخدام محمل عاكس لإعادة كتابة صورته واستبدالها بحمولة مخفية (Windows PE).

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة