فقدت أحصنة طروادة المصرفية في السنوات الأخيرة شعبيتها بين المجرمين الإلكترونيين. أحد الأسباب هو تطوير تقنيات الحماية لموردي مكافحة الفيروسات ومطوري متصفح الويب. من الصعب تنفيذ هجوم باستخدام مصرفي ، وهذا هو السبب في تحول العديد من كتاب الفيروسات إلى أدوات أبسط وأكثر ربحية: المشفرات ، وعمال المناجم ، والبرمجيات لسرقة العملات المشفرة.
كثير ولكن ليس كل شيء. لقد اكتشفنا عائلة جديدة من المصرفيين باستخدام تقنيات جديدة للتعامل مع المتصفح. بدلاً من إدخال تعليمات برمجية معقدة في عملية المتصفح لمراقبة نشاطه ، تكتشف البرامج الضارة أحداث Windows في دورة انتظار الرسائل للتحقق من قيم الكائنات ذات الصلة بالعمليات المصرفية.
بعد اكتشاف العمل في الخدمات المصرفية عبر الإنترنت ، تضخ البرامج الضارة جافا سكريبت ضارًا في صفحة الويب - من خلال وحدة تحكم المطور في المتصفح ، أو مباشرة في شريط العناوين. تتم العمليات دون علم ومشاركة المستخدم. للوهلة الأولى ، يسمح لك مخطط بسيط بتجاوز الآليات المتقدمة لحماية المتصفحات من الهجمات المعقدة.
مقدمة
لاحظنا لأول مرة هذه المجموعة الإلكترونية في يناير 2018 ، عندما وزعت التطورات المبكرة - على سبيل المثال ، برنامج لسرقة العملة المشفرة عن طريق تغيير عنوان المحفظة في الحافظة. انخرطت المجموعة في العملة المشفرة لعدة أشهر ، وبعد ذلك أصدرت الإصدار الأول من المصرفي - بدءًا من 13 مارس ، ستكتشف منتجات مكافحة الفيروسات ESET أنها Win32 / BackSwap.A.
في الرسم البياني أدناه ، يمكنك رؤية قفزة حادة في الاكتشافات مقارنة بالمشاريع السابقة ، وفقًا لإحصاءاتنا. يحسن المؤلفون المصرفي ويصدرون إصدارات جديدة كل يوم تقريبًا (مع استراحات لعطلة نهاية الأسبوع).
الشكل 1. اكتشف Win32 / BackSwap.A والمشاريع السابقة ذات الصلةالتوزيع والتنفيذ
يتم توزيع Win32 / BackSwap.A في رسائل البريد الإلكتروني العشوائية التي تحتوي على محمل جافا سكريبت غامض من عائلة Nemucod في المرفق. وتستهدف هذه الرسائل الإخبارية حاليًا مستخدمين من بولندا.
غالبًا ما وجدنا على الآلات الضحية
آخر Win32 / TrojanDownloader.Nymaim bootloader ، ربما ينتشر بنفس الطريقة. في الوقت الحاضر ، لا نعرف ما إذا كانت هذه المصادفة أو العائلات مرتبطة ببعضها البعض.
يتم تسليم الحمولة كنسخة معدلة من تطبيق شرعي ، يعاد كتابتها جزئيًا بواسطة مكون ضار. التطبيق المستخدم لتعديل التغييرات بانتظام - لاحظنا TPVCGateway و SQLMon و DbgView و WinRAR Uninstaller و 7 Zip و OllyDbg و FileZilla Server في هذه الجودة.
يتم تعديل التطبيق بطريقة تحوله إلى التعليمات البرمجية الضارة بعد التهيئة. للقيام بذلك ، يضيف المؤلفون مؤشرًا إلى مكون ضار في جدول دالة
_initterm()
، داخل وقت تشغيل مكتبة C ، والذي
_initterm()
المتغيرات العامة وأجزاء أخرى من البرنامج قبل استدعاء الوظيفة الرئيسية ().
الشكل 2. صفيف من المؤشرات _إرسال التطبيق الشرعي ، في نهايته يضاف مؤشر إلى رمز القشرة المصرفيةيشبه الأسلوب التروجنة. الفرق هو أنه في حالتنا ، يتوقف التطبيق الأصلي عن العمل بعد تهيئة الملف. الغرض من هذه الطريقة ليس إخفاء المستخدم ، بل هو عكس الكشف والبحث. يجد المحللون صعوبة أكبر في الكشف عن هذا المصرفي ، نظرًا لأن العديد من الأدوات الهندسية العكسية ، مثل IDA Pro ، تظهر الوظيفة main () الأصلية كبداية مشروعة لرمز التطبيق. ليس حقيقة أن المحلل للوهلة الأولى سيلاحظ شيئًا مريبًا.
الحمولة هي كائن رمز ثنائي مستقل عن الموضع مع بيانات مضمنة. يتم تخزين سلاسل الأحرف في نص عادي ، مما يسمح لك باستبدال الآثار الدقيقة بالفعل ، حيث يتم البحث عن جميع واجهات برمجة تطبيقات Windows المطلوبة عن طريق التجزئة. في بداية العمل ، توفر البرامج الضارة الثبات عن طريق نسخ نفسها إلى مجلد بدء التشغيل ، وبعد ذلك يتم التبديل إلى وظائف البنك.
طرق الحقن التقليدية
يقدم المصرفي العادي لسرقة الأموال من حساب الضحية من خلال واجهة الخدمات المصرفية عبر الإنترنت نفسه أو وحدة خاصة في مساحة العنوان لعملية المتصفح. لعدد من الأسباب هذه ليست مهمة سهلة. بادئ ذي بدء ، يمكن اعتراض الحقن بواسطة منتج مضاد للفيروسات. بالإضافة إلى ذلك ، يجب أن يتطابق عمق البت للوحدة النمطية المنفذة مع عمق البت للمتصفح - لا يجب تضمين الوحدة النمطية 32 بت في عملية 64 بت والعكس صحيح. نتيجة لذلك ، يتطلب الهجوم نسختين من نفس الوحدة - 32- / 64 بت.
بعد الحقن الناجح ، يجب على الوحدة المصرفية الكشف عن الوظائف المتعلقة بالمتصفح واعتراضها. يحتاج إلى وظائف مسؤولة عن إرسال واستقبال طلبات HTTP بتنسيق نص عادي قبل التشفير وبعد فك التشفير ، على التوالي. يختلف تعقيد البحث عن الميزات من متصفح لآخر. في Mozilla Firefox ، يتم تصديرها بواسطة مكتبة nss3.dll ، ويسهل العثور على عناوينها بأسمائها المعروفة. يخفي Google Chrome والمتصفحات الأخرى التي تستند إلى Chromium هذه الميزات. هذا يجبر كتّاب الفيروسات على وضع مخططات خاصة تهدف إلى إصدار محدد من المتصفح وتغيير التكتيكات عند إصدار إصدارات جديدة.
إذا تم العثور على الوظائف وتم إجراء اعتراض (ولم يكتشفها حل مكافحة الفيروسات) ، يمكن للمصرفي تغيير حركة مرور HTTP أو إعادة توجيه الضحية إلى مواقع تحاكي موارد مصرفية مشروعة عبر الإنترنت ، وتزوير الشهادات. يتم استخدام طرق مماثلة من قبل Trojans
Dridex المصرفية الشهيرة و
Ursnif و
Zbot و
Trickbot و
Qbot وغيرها الكثير.
طريقة معالجة المتصفح الجديدة
يقوم Win32 / BackSwap.A بتطبيق نهج مختلف تمامًا. يستخدم Bunker عناصر من shell الرسومية لـ Windows وتقليد إدخال المستخدم. قد تبدو الطريقة تافهة ، لكنها فعالة لأنها تسمح لك بحل المشاكل المعروفة للحقن التقليدي. أولاً ، لا تتفاعل البرامج الضارة مع المستعرض على مستوى العملية. بفضل هذا ، ليست هناك حاجة لامتيازات خاصة وتجاوز مضادات الفيروسات التي تحمي من الحقن التقليدي. الميزة الثانية للمهاجمين هي أن المصرفي لا يعتمد على بنية المتصفح أو نسخته ؛ رمز واحد يعمل للجميع.
تتتبع البرامج الضارة عنوان URL للصفحة التي تمت زيارتها من خلال تعيين روابط الأحداث لمجموعة معينة من الأحداث ذات الصلة المتاحة من خلال حلقة انتظار رسائل Windows ، مثل EVENT_OBJECT_FOCUS و EVENT_OBJECT_SELECTION و EVENT_OBJECT_NAMECHANGE والعديد من الأحداث الأخرى. يبحث المعالج عن قيم URL من خلال البحث عن كائنات السلسلة التي تبدأ بـ HTTPs التي تم الحصول عليها عن طريق استدعاء الأسلوب
get_accValue
من واجهة حدث
IAccessible
.
الشكل 3. يستخدم الاستقبال للحصول على عنوان URL للصفحة الحالية في المستعرض. يتم الحصول على هذه العناوين عن طريق التحقق من السلسلة الفرعية [ht] tp [s] (المميزة باللون الأحمر)ثم يبحث Win32 / BackSwap.A عن العناوين المتعلقة بالبنك ورؤوس نافذة المتصفح التي تشير إلى أن المستخدم يعد تحويل أموال.
الشكل 4. يبحث المصرفي عن سطور من الكود تتعلق بمصارف محددة. السطر الأول هو عنوان النافذة ، والثاني هو جزء URLبعد العثور على المطلوب ، يقوم المصرفي بتنزيل جافا سكريبت الخبيث المقابل لبنك معين وإدخاله في المتصفح. يتم الحقن بطريقة بسيطة ولكنها فعالة.
في العينات الأقدم ، يقوم Win32 / BackSwap.A بإدراج نص برمجي ضار في الحافظة ويحاكي ضغط المفاتيح لفتح وحدة تحكم المطور (CTRL + SHIFT + J في Google Chrome ، CTRL + SHIFT + K في Mozilla Firefox) ، ثم لصق محتويات المخزن المؤقت (CTRL + V) وتضغط ENTER لتنفيذ محتويات وحدة التحكم. ثم يكرر البرنامج الضار مجموعة المفاتيح لإغلاق وحدة التحكم. في هذا الوقت ، تصبح نافذة المتصفح غير مرئية - من المرجح أن يعتقد المستخدم العادي أن المتصفح يتجمد لبضع ثوان.
في الإصدارات الجديدة ، تم تحسين الدائرة. بدلاً من التفاعل مع وحدة تحكم المطور ، يتم تنفيذ برنامج نصي ضار مباشرة من شريط العناوين من خلال
بروتوكول JavaScript خاص ، وهي وظيفة غير مستغلة تدعمها معظم المتصفحات. يقلد المصرفي الضغط على CTRL + L لتحديد شريط العنوان ، وحذف لمسح الحقل ، و "إدخال" الأحرف في "جافا سكريبت" من خلال استدعاء لـ SendMessageA في حلقة ، ثم إدراج نص برمجي ضار باستخدام المجموعة CTRL + V. يتم تنفيذ البرنامج النصي بعد "الضغط" ENTER. في نهاية العملية ، يتم مسح شريط العناوين لإزالة آثار التسوية.
في الشكل 5 ، يمكنك رؤية جزء من الشفرة المحقونة في وحدة التحكم. أولاً ، يحدد Win32 / BackSwap.A المستعرض عن طريق التحقق من اسم فئة النافذة المحددة (المحددة باللون الأزرق). يتم نسخ جافا سكريبت الخبيث إلى المخزن المؤقت (المحدد باللون الأحمر). ثم يتم تغيير قيمة الشفافية في نافذة المتصفح إلى "3" ، مما يجعلها غير مرئية (مميزة باللون البنفسجي). يتم
ToggleBrowserConsole
الجزء المتعلق بوظيفة
ToggleBrowserConsole
، التي تقوم بتشغيل وحدة التحكم وإيقاف تشغيلها ،
ToggleBrowserConsole
.
الرقم 5 الرقم 5. حقن البرنامج النصيWin32 / BackSwap.A يدعم الهجمات على Google Chrome و Mozilla Firefox ، تمت إضافة دعم Internet Explorer في الإصدارات الأخيرة. هذه الطريقة مناسبة لمعظم المتصفحات التي لديها وحدة تحكم مطور أو لديها القدرة على تنفيذ كود JavaScript من شريط العنوان (وظائف المتصفح القياسية).
تحتوي ثلاثة متصفحات مخترقة على
ميزة أمان مثيرة للاهتمام مصممة لمنع
هجمات Self-XSS : عندما يحاول المستخدم لصق النص المنسوخ بدءًا بـ "javascript:" في شريط العناوين ، يتم حذف بادئة البروتوكول ويجب إدخالها يدويًا مرة أخرى لتنفيذ البرنامج النصي. يتجاوز Win32 / BackSwap.A هذه العقبة من خلال محاكاة إدخال الأحرف للبادئة في شريط العناوين قبل لصق البرنامج النصي الضار المنسوخ.
يتم تطبيق أداة أمنية أخرى في Mozilla Firefox. يمنع المتصفح نسخ البرامج النصية إلى وحدة التحكم بشكل افتراضي ؛ بدلاً من ذلك ، يعرض إشعارًا بالمخاطر المحتملة ويجبر المستخدم على إدخال عبارة "السماح باللصق" يدويًا للسماح بإدخال الأحرف المنسوخة. لتجاوز هذا الإجراء الأمني ، يوفر Win32 / BackSwap.A تنفيذ أمر shell (الشكل 6) ، الذي يُجري تغييرات على
prefs.js
التكوين
prefs.js
ويزيل هذه الحماية.
الشكل 6. أمر صدفة يزيل الحماية من إدراج برنامج نصي في وحدة تحكم Firefoxكود جافا سكريبت الخبيث
Win32 / BackSwap.A يستخدم برنامج نصي خاص لكل من البنوك المستهدفة. نظرًا لأن جميع البنوك لديها مواقع مختلفة ، فإن الرمز مختلف وله متغيرات مختلفة. يتم إدخال النصوص في الصفحات التي يتم فيها إعداد تحويل الأموال ، وفقًا للمصرفي. البرامج النصية المنفذة تستبدل رقم حساب المستلم سراً برقم آخر ، وعندما ترسل الضحية التحويل ، ستذهب الأموال إلى حساب المهاجمين. الإجراءات المضادة للتحويلات غير المصرح بها (المصادقة الثنائية) عاجزة ، حيث يؤكد صاحب الحساب إرسال الأموال.
كتب مؤلفو Win32 / BackSwap.A نصوصًا للعمل مع خمسة بنوك بولندية: PKO Bank Polski و Bank Zachodni WBK SA و mBank و ING و Pekao. يقوم المشغلون بإزالة بعض البنوك من قائمة الأهداف - في معظم الإصدارات الجديدة تبقى ثلاثة بنوك: PKO BP و mBank و ING. في الإصدارات القديمة ، يرسل المهاجمون رقم حساب المستلم من خوادم C&C على مواقع WordPress المخترقة. في الإصدارات الجديدة ، يتم تخزين الأرقام في البرامج النصية الخبيثة نفسها. غالبًا ما تتغير الحسابات - يتم استخدام رقم حساب جديد في كل حملة جديدة تقريبًا.
يهتم المصرفيون بالتحويلات في نطاق معين - عادة من 10000 إلى 20000 زلوتي بولندي (168000 - 337000 روبل). لا يستبدل البرنامج النصي رقم حساب المستلم فحسب ، بل يستبدل أيضًا حقل الإدخال بأخرى مزيفة - يرى المستخدم الرقم الصحيح ولا يشك في أي شيء.
الشكل 7. جزء من كود جافا سكريبت الخبيث. المواقع المحددة باللون الأحمر مسؤولة عن التحقق من مبلغ التحويل واستبدال رقم حساب المستلمالخلاصة
تثبت Win32 / BackSwap.A أن المواجهة بين صناعة الأمن وكتاب الفيروسات لا تتطلب دائمًا تقنية وتكتيكًا جديدًا ومتطورًا. تعزز المتصفحات الحماية من إدخال الشفرة ، لذلك تحول مؤلفو البرامج الضارة إلى طرق هجوم أخرى ، ويتم تنفيذ طريقة واحدة فقط في Win32 / BackSwap.A.
تكتشف
منتجات مكافحة الفيروسات
ESET تهديدًا مثل Win32 / BackSwap.A.
أبلغ المتخصصون في ESET المطورين من المتصفحات المخترقة عن طريقة هجوم جديدة.
IoCs
9BC4C1D5403DDD90712CE87225490A21D1EDC516 JS/Nemucod.EAN trojan
CF5A74C268661501156663F74CD5E20603B0F261 Win32/BackSwap.A trojan
6251F9AD0E5F551AC4A6B918EF366E86C4CCFDC4 Win32/BackSwap.A trojan
2DC9760A7C6E9D261C73EFB7B2604840734BC058 Win32/BackSwap.A trojan
A68901D0D8C1247FF280F9453E3AE45687C57566 Win32/BackSwap.A trojan (JavaScript)