جغرافية هجمات المجموعة TA505 لعام 2019يراقب فريقنا من محللي ذكاء التهديدات من
PT Security Security Center مجرمي الإنترنت من TA505 لمدة ستة أشهر. مجال اهتمام المهاجمين مالي ، والأهداف تقع في عشرات البلدان في قارات مختلفة.
ما هي المجموعة TA505 المعروفة ل
تتمتع هذه المجموعة من المهاجمين
بتاريخ حافل: منذ عام 2014 ، أدرجوا أسماء البنوك Trojan Dridex ، و الروبوتات النيوترينو ، بالإضافة إلى سلسلة كاملة من برامج التشفير - Locky ، Jaff ، GlobeImposter ، إلخ.
تم تسجيل نشاط المجموعة في جميع أنحاء العالم - من أمريكا الشمالية إلى آسيا الوسطى. ملاحظة: سجلنا حالات معزولة لمجموعات TA505 الضارة في روسيا ، ولكن هناك ما يدعو إلى الاعتقاد بأن المهاجمين لم يكن لديهم أهداف في بلدنا ، وكانت الرسائل البريدية عشوائية في طبيعتها.
على الرغم من الدوافع المالية الغالبة للمجموعة ، من بين أهدافها في الأشهر الستة الماضية ، كانت هناك معاهد للأبحاث ، ومنظمات لصناعة الطاقة ، والرعاية الصحية ، وشركات الطيران ، وحتى القطاع العام.
توزيع هجمات TA505 حسب الصناعة لعام 2019فيما يلي مثال على رسالة بريد إلكتروني تصيّد تحتوي على برامج ضارة تم تطويرها من قِبل المجموعة واستهدافها ، بناءً على عنوان البريد الإلكتروني ، إلى وزارة الخارجية البريطانية.

منذ ربيع عام 2018 ، كانت المجموعة تستخدم أداة الوصول عن بعد FlawedAmmyy ، ومنذ نهاية العام ، كانت تستخدم مستتر ServHelper الجديد. TA505 - واحد من القلائل الذين يستطيعون التباهي بنشاط قوي لفترة طويلة. بالإضافة إلى ذلك ، مع كل موجة جديدة من الهجمات ، فإنها تؤدي إلى تغييرات مثيرة للاهتمام في أدواتهم.
TA505 Group Discovery Dynamics حسب الشهور لعام 2019بطبيعة الحال ، فإن هذا النشاط الصاخب لا يلاحظه أحد: فهناك العديد من منشورات زملائنا من
Proofpoint و
Trend Micro و
Yoroi وليس فقط حول التقنيات الضارة والبرامج الضارة. ومع ذلك ، يتم تجاهل العديد من التفاصيل المثيرة للاهتمام:
- معرف مجموعة PE باكر.
- تباين في الباب الخلفي لـ ServHelper ، حيث لا ينصب التركيز على وظائفه الخاصة ، ولكن على التنفيذ الجاهز والمشهور لـ NetsupportManager ؛
- البنية التحتية للشبكة: أمناء السجلات المميزون ، المضيفون ، بما في ذلك التقاطعات مع البنية التحتية لمجموعة Buhtrap ؛
- مجموعات VPO الأخرى التي لم يتم وصفها مسبقًا.
هذه المقالة هي الأولى في سلسلة منشوراتنا حول TA505.
الجزء الأول يجتمع من قبل الحزمة
في منتصف يونيو 2019 ، لاحظنا أن برامج تنزيل البرامج الضارة FlawedAmmy التالية تختلف اختلافًا كبيرًا عن الإصدارات السابقة: على سبيل المثال ، تم تغيير التمثيل المرئي لرمز البرنامج في محرر الست عشري ، وأصبح شيئًا مميزًا للعديد من العينات التي تم أخذها:
تمثيل ASCII لرمز البرنامجأظهر تحليل سريع للرمز أن أمامنا حزمة غير معروفة من الملفات القابلة للتنفيذ. تبين فيما بعد أن هذا العبوة لا يغطي فقط اللوادر المذكورة أعلاه ، بل يشمل أيضًا عينات أخرى من مجموعة HPE ، بما في ذلك الحمولة النافعة. ثم قررنا أن ندرس بالتفصيل منطق الضغط من أجل استخراج الكائن الهدف تلقائيًا.
طبقة 1. الملتوية XOR
الجزء الرئيسي من فاتح الحزم يسبقه وفرة من التعليمات عديمة الفائدة. غالبًا ما يلجأ كتاب الفيروسات إلى مثل هذه التقنية لإرباك محاكيات منتجات مكافحة الفيروسات. تبدأ كل الأشياء المثيرة للاهتمام بتخصيص ذاكرة لمخزن مؤقت بحجم 0xD20 باستخدام وظيفة WinAPI VirtualAllocEx. يتم تخصيص الذاكرة باستخدام أذونات PAGE_EXECUTE_READWRITE ، والتي تتيح لك كتابة التعليمات البرمجية وتنفيذها.
بداية محتوى فاتح الحزميحتوي قسم البيانات في الملف قيد الدراسة على مجموعة من البيانات التي تمر بعملية فك التشفير ، وتتم كتابة النتيجة على الذاكرة المخصصة. خوارزمية فك التشفير:
- تفسير 4 بايت كعدد صحيح ،
- اطرح الرقم التسلسلي
- إجراء عملية XOR مع ثابت معين ،
- إجراء تحول bitwise دوري إلى اليسار بواسطة 7 وحدات ،
- إجراء عملية XOR مرة أخرى مع ثابت معين.
فك الطبقة الأولىنشير إلى هذه الخوارزمية بواسطة الاختصار
SUB-XOR-ROL7-XOR للإشارة إليها لاحقًا.
بعد إجراء فك التشفير ، تتم تهيئة المتغيرات بالتسلسل. يمكن تمثيل هذا كملء بنية في C بالتنسيق التالي:
struct ZOZ { HMODULE hkernel32; void *aEncodedBlob; unsigned int nEncodedBlobSize; unsigned int nBlobMagic; unsigned int nBlobSize; };
حيث:
- hkernel32 - واصف المكتبة kernel32.dll؛
- aEncodedBlob - مؤشر إلى كتلة البيانات المشفرة ، ذكرنا ذلك عندما أشرنا إلى التشابه المرئي للعينات أعلاه ؛
كتلة البيانات المشفرة- nEncodedBlobSize - حجم 4 بايت من كتلة البيانات المشفرة ؛
- nBlobMagic - ثابت 4 بايت أمام كتلة البيانات ، والتي سنعود إليها لاحقًا ؛
- nBlobSize - حجم 4 بايت من كتلة البيانات فك الشفرة.
أطلقنا على هيكل
ZOZ (هذا هو "505" على
leetspeak ).
ملء هيكل ZOZنتيجة للإجراءات الموضحة ، سيتم إعادة توجيه تنفيذ التعليمات البرمجية إلى المخزن المؤقت الذي تم فك تشفيره (الآن ليس هناك شك في أن البيانات التي تم فك تشفيرها هي رمز قابل للتنفيذ) ، وسيتم تمرير المؤشر إلى البنية المعبأة كمعلمة دالة:
استدعاء الرمز الذي تم فك تشفيره باستخدام بنية " ZOZ " تم تمريره كوسيطة
قطعة مفككة من الشفرة المشفرةالطبقة 2. أصغر كان ذلك أفضل
بعد نقل التحكم إلى جزء الشفرة الذي تم فك تشفيره ، فإن الخطوة الأولى هي تحديد عناوين وظائف WinAPI GetProcAddress و VirtualQuery و VirtualAlloc و VirtualProtect و VirtualFree و LoadLibraryA. غالبًا ما توجد هذه القائمة في عمل رموز shell: فهي بحاجة إلى إعداد الذاكرة وملءها بشكل صحيح للإطلاق اللاحق للحمولة.
عند الانتهاء من الإجراءات الأولية ، يتم اقتطاع فدرة البيانات المشفرة المرسلة: من بين كل خمسة بايتات ، يتم تجاهل الأولين ، ويتم حفظ الثلاثة الباقية:
الحد من كتلة البيانات المشفرةثم ، يتم تنفيذ عملية فك التشفير ، والتي أطلقنا عليها اسم
SUB-XOR-ROL7-XOR . في هذه الحالة ، باعتباره ثابتًا لعملية XOR ، يتم استخدام قيمة nBlobMagic أخرى ، والتي تم تمريرها في بنية
ZOZ .
إعادة استخدام SUB-XOR-ROL7-XORبعد ذلك ، يتم نقل الصفيف الناتج إلى وظيفة تحدث فيها سلسلة من التحولات الأكثر تعقيدًا. من خلال القيم المميزة للثوابت ، من السهل إثبات أن هذا هو
تنفيذ FSG (FS Small Good) الشهير. من الغريب أن الإصدار الأصلي لحزم FSG يضغط PE في أقسام ، وتنفيذ الخوارزمية في حالتنا يعمل مع PE ككل.
FSG باكر التنفيذفي هذه المرحلة ، يكون ملف PE المستهدف المفصول جاهزًا لمزيد من التحليل. سيقوم باقي كود القشرة بالكتابة فوق PE الأصلي في مساحة العنوان بالإصدار الذي تم فك حزمه وتشغيله بشكل صحيح. من المثير للاهتمام أن نلاحظ أنه في عملية ضبط نقطة دخول الوحدة المحملة ، يتم التعامل مع الهياكل في PEB. لماذا قرر المهاجمون إعادة توجيه واصف kernel32 من منطق الطبقة الأولى بدلاً من استعادتها باستخدام نفس هياكل PEB غير معروف.
الكتابة فوق قيمة نقطة إدخال الوحدة النمطية المحملة في PEBاستنتاج
لذلك ، خوارزمية تفريغ الحمولة:
- فك شفرة shell باستخدام SUB-XOR-ROL7-XOR ،
- ملء هيكل ZOZ واستدعاء رمز القشرة ،
- خمسة إلى ثلاثة تخفيض الحمولة ،
- فك تشفير الحمولة النافعة باستخدام SUB-XOR-ROL7-XOR ،
- باكر الضغط FSG.
أثناء تطور البرامج الضارة ، تم تغيير المنطق: على سبيل المثال ، تم تغيير عدد التحولات الدورية لخوارزمية SUB-XOR-ROL7-XOR (سبعة في الحالة المدروسة) بمقدار خمسة ، تسعة ، تم إصدار إصدار packer الخاص بالنظام الأساسي x64 ، إلخ. نقش على الروايات المستقبلية حول أدوات وميزات TA505.
في المقالات التالية ، سنتحدث عن كيفية تطوير أدوات TA505 وتغييرها في سياق الهجمات الأخيرة ، وعن تفاعل المشاركين مع مجموعات الإنترنت الأخرى ، وسندرس نماذج البرامج الضارة التي لم يتم اعتبارها مسبقًا.
المؤلفون : أليكسي فيشناكوف وستانيسلاف راكوفسكي ، تقنيات إيجابية
شركات النفط العالمية
b635c11efdf4dc2119fa002f73a9df7b
- مُحمّل
b635c11efdf4dc2119fa002f73a9df7b
71b183a44f755ca170fc2e29b05b64d5
- محمل الإقلاع
71b183a44f755ca170fc2e29b05b64d5