روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ ما گاهی موقع تحلیل فایلهای مشکوک به اپهای مادیفایشده برمیخوریم. اینها را در پاسخ به درخواستهای کاربران برای گزینههای سفارشیسازی بیشتر در اپ یا برای قابلیتهای جدید که نسخههای رسمی آنها را ندارند طراحی میکنند. متأسفانه کم پیش نمیآید که این مدهای محبوب حاوی بدافزار باشند. این اغلب به این دلیل اتفاق میافتد که روی وبسایتهای غیررسمی توزیع میشوند؛ همانهایی که مد ندارند. برا مثال سال گذشته مدهای محبوب واتساپی را دیدیم که به CanesSpy آلوده شده بودند و به این طریق توزیعشان انجام شده بود. پیش از آن، تبلیغاتی را برای مدهای واتساپی پیدا کردیم آلوده به دراپر Triada Trojan در اپ محبوب اسنپتیوب. با این حال، حتی فروشگاههای رسمی اپ هم میتوانند میزبان اپهای آلوده باشند. در سال 2019 دراپر نکرو را پنهانشده در کماسکنر کشف کردیم؛ اپ پردازش و اسکن داکیومنت که به طور گسترده استفاده میشود. این اپ آلوده در گوگلپلی موجود بود. در زمان کشف بدافزار، این اپ روی بیش از 100 میلیون دستگاه در سراسر جهان دانلود شده بود. از بخت بد، تاریخ دوباره خود را تکرار کرد و این بار نویسندگان این تروجان هر دو بردار توزیع را اکسپلویت کردند. نسخه جدید لودر چند مرحلهای نکرو هر دو اپ را در گوگلپلی و نسخههای مودیفایشده اسپاتیفای، ماینکرفت و سایر اپهای محبوب در منابع غیررسمی آلوده کردند.
نتیجهگیریهای ما به طور خلاصه:
- نسخه جدید Necro Trojan برنامههای محبوب مختلفی از جمله مُدهای بازی را آلوده کرده است که برخی از آنها در زمان نگارش این گزارش در گوگلپلی در دسترس بودند. مجموع مخاطبان دومی بیش از 11 میلیون دستگاه اندرویدی است.
- نسخه جدید Necro loader، مانند بسیاری از پیلودهایی که بارگیری میکند، شروع به استفاده از مبهمسازی برای فرار از تشخیص کرده است.
- لودر، تعبیه شده در برخی از برنامهها، از تکنیکهای استگانوگرافی برای پنهان کردن پیلودها استفاده می کرد.
- بارهای دانلود شده، از میان موارد دیگر، میتوانند تبلیغات را در پنجرههای نامرئی نمایش دهند و با آنها تعامل داشته باشند، فایلهای DEX دلخواه را دانلود و اجرا کنند، برنامههایی را که دانلود کردهاند نصب کنند، پیوندهای دلخواه را در پنجرههای WebView نامرئی باز و هر کد جاوا اسکریپت را در آنها اجرا کنند، تونلی از طریق دستگاه قربانی اجرا کرده و بالقوه اشتراک خدمات پولی را بگیرند.
نکرو و نحوه توزیعش
لودر نکر داخل مد اسپاتیفای
اواخر آگوست 2024، توجه ما به یک مد Spotify به نام Spotify Plus، نسخه 18.9.40.5 جلب شد. در زمان نگارش این مطلب، این مد را میتوان از spotiplus[.]xyz و چندین سایت مرتبط که به آن لینک دادهاند دانلود کرد. وبسایت اصلی ادعا کرد که این مد دارای گواهینامه، ایمن و دارای ویژگیهای اضافی متعددی است که در برنامه رسمی یافت نمیشود. ما تصمیم گرفتیم با دانلود آخرین نسخه از این وبسایت acb7a06803e6de85986ac49e9c9f69f1) ) و تجزیه و تحلیل آن، ادعاهای مربوط به ایمنی برنامه را تأیید کنیم.
این مد یک زیرکلاس برنامه سفارشی را پیادهسازی نموده که SDK به نام adsrun را در متد onCreate خود راه اندازی میکند. این SDK برای ادغام چندین ماژول تبلیغاتی در برنامه در نظر گرفته شده است: در میان موارد دیگر، ماژولی به نام Coral SDK را مقداردهی اولیه میکند. پس از فعال سازی، Coral SDK یک درخواست POST را به یک سرور فرمان و کنترل تعیینشده ارسال میکند. این درخواست حاوی دادههای JSON رمزگذاریشده است، بهویژه جزئیات دستگاه آسیبدیده و برنامه میزبان ماژول. روش رمزگذاری به کار گرفته شده یک رمز جایگزین است، که در آن مقادیر جایگزینی با استفاده از یک مولد اعداد شبه تصادفی استاندارد جاوا با یک ثابت از پیش تعریف شده تولید میشوند.
سرور C2 یک پاسخ JSON را با یک کد خطا، رمزگذاری شده با همان روش، برمیگرداند. مقدار 0 نشان دهنده اجرای موفقیت آمیز است. در این مورد، پاسخ از C2 همچنین حاوی آرایهای از یک شی با پیوندی برای دانلود تصویر در فرمت PNG و ابرداده مرتبط است: نام، MD5، نسخه و غیره. جالب است بدانید که فایل دانلود شده shellP نامیده میشود، که نشان میدهد ممکن است فشردهای از shellPlugin باشد. سپس، ماژول یکپارچگی تصویر دانلود شده را با محاسبه هش MD5 آن و مقایسه آن با مقدار دریافتی از سرور تأیید میکند. پیلود در تصویر با استفاده از استگانوگرافی پنهان شده است که ماژول باید آن را استخراج و در مرحله بعد اجرا کند.
Coral SDK از الگوریتم استگانوگرافی بسیار ساده استفاده میکند. اگر بررسی MD5 موفقیت آمیز باشد، محتویات فایل PNG - مقادیر پیکسل در کانالهای ARGB- - را با استفاده از ابزارهای استاندارد Android استخراج میکند. سپس متد getPixel مقداری را برمیگرداند که کمترین بایت آن حاوی کانال آبی تصویر باشد و پردازش در کد آغاز میشود.
چنانچه کانال آبی تصویر را چینش بایتِ بُعد 1 در نظر بگیریم، پس 4 بایت اولی تصویر سایز پیلود کذگذاریشده در فرمت Little Endian است (از غیرمهمترین بایت تا مهمترین آن). سپس پیلود سایز تعیینشده ضبط میشود: این فایل JAR است با Base64 که بعد از کدگشایی از طریق DexClassLoader لود میشود. Coral SDK کلاس sdk.fkgh.mvp.SdkEntry را در فایل jar با استفاده از آرشیو بومی لود میکند. این کتابخانه یا آرشیو با استفاده از ابزار OLLVM مبهمسازی شده است. نقطه شروع یا نقطه ورود برای اجرا در کلاس لودشده، متود اجراست. از این رو ادعاهای امنیتی در مورد اپ روی وبسایت مد را میتوان غلط پنداشت.
برنامههای محبوب در گوگلپلی به Necro آلوده شدهاند
پس از جستجوی لودر در تله متری خود، سایر برنامههای آلوده به Necro را پیدا کردیم، از جمله برنامههای موجود در Google Play در زمان نوشتن این گزارش. تعداد مخاطبان آنها در مجموع بیش از 11 میلیون دستگاه اندرویدی بود.
اولین یافته ما اپلیکیشن دوربین Wuta است. با قضاوت بر اساس صفحه آن در گوگلپلی، حداقل 10 میلیون بار دانلود شده است. طبق اطلاعات ما، Necro loader از نسخه 6.3.2.148 در آن تعبیه شده است. آخرین نسخه برنامه در زمان جمع آوری اطلاعات، 6.3.6.148 -که در گوگل پلی موجود بود- دارای لودر Necro نیز بود. ما وجود کد مخرب را به گوگلپلی گزارش کردیم که پس از آن لودر از برنامه در نسخه 6.3.7.138 حذف شد.
اپ آلوده دوم که کشف کردیم، Max Browser بود. به نقل از گوگلپلی، این مرورگر بیش از یک میلیون بار نصب شده است. با نسخه 1.2.0 شروع شد و دارای لودر نکرو است. بعد از گزارش آن، گوگل این اپ آلوده را از فروشگاه خود پاک کرد.
مدهای واتساپ با لودر نکرو
ما همچنین مدهای واتس اپ حاوی Necro loader (0898d1a6232699c7ee03dd5e58727ede) را در منابع غیر رسمی پیدا کردیم. برنامه آلوده تحت نام پکیجیِ com.leapzip.animatedstickers.maker.android توزیع میشود. جالب اینجاست که یک برنامه قانونی در Google Play با همان نام بسته وجود دارد که نسخه واتس اپ نیست، اما در عوض مجموعه ای از برچسبها را برای برنامه پیامرسانی ارائه میدهد. لودر موجود در ماژول تبلیغات در این برنامهها تا حدودی متفاوت از نمونه توصیف شده در بالا عمل میکند. به عنوان مثال، کد به هیچ وجه مبهم نیست، اما توسط محافظ کد SecAPK محافظت میشود. علاوه بر این، این برنامه از سرویس کلود Google's Firebase Remote Config به عنوان یک C2 استفاده و اطلاعات مربوط به فایلهایی را که باید دانلود و اجرا شوند ذخیره میکند.
در حین بررسی این لودر، یک نکته جالب را کشف کردیم: کد مخرب درون آن 84% یا 90% احتمال اجرا دارد. در ابتدا یک عدد تصادفی بین 0 تا 99 تولید میشود. پس از آن، بر اساس نام بسته برنامه، یک آستانه برای اجرای بدافزار انتخاب میشود: تعداد تولید شده باید از 9 یا 15 بیشتر شود تا لودر راه اندازی شود. اگر عدد با این معیار مطابقت داشته باشد، یک عملیات لودر بازدارنده پرچم مربوطه روی false تنظیم و عملکرد مخرب اجرا میشود. پیلودهای میانجی بارگیری شده توسط این لودر از پیش کدگذاری نشدهاند. تروجان هم اطلاعات نقطه ورودی فایل دانلود شده و هم لینک دانلود را از سرور C2 خود دریافت میکند. بر اساس دادههای ما، یکی از محمولهها (37404ff6ac229486a1de4b526dd9d9b6) شباهت زیادی به لودر موجود در نسخه اصلاحشده Spotify داشت، البته با تغییرات جزئی.
- پیلود مرحله بعدی ((shellPlugin بدون کمک کد بومی، لود میشود.
- مسیر متفاوتی برای درخواست POST به سرور فرمان و کنترل استفاده میشود تا اطلاعات شلپلاگین، بازیابی شود.
- به جای استفاده از الگوریتم استگانوگرافیک، شلپلاگین با Base64 کدگشایی میشود.
سایر اپهای آلوده
این فهرست جامعی از یافتههای ما نیست. علاوه بر مدهای واتساپ و اسپاتیفای و همچنین برنامههای موجود در گوگلپلی، مدهای بازی آلوده را پیدا کردیم، از جمله موارد زیر:
- Minecraft;
- Stumble Guys;
- Car Parking Multiplayer;
- Melon Sandbox.
با توجه به اپهای مختلف از منابع متعدد از جمله رسمیها آلوده از آب درآمدند، معتقدیم توسعهدهندگان از راهکار غیرمطمئنی برای تجمیع آگهی استفاده کردند. این باعث شده لودر مخرب در اپ ظاهر شود. راهکارهای امنیتی ما آن را با حکمهای زیر شناسایی کردند:
- HEUR:Trojan-Downloader.AndroidOS.Necro.f;
- HEUR:Trojan-Downloader.AndroidOS.Necro.h.
چرخه عمر نکرو در محیط بیرون: ساز و کار پیلود
در طول تحقیقات خود، موفق به به دست آوردن چندین نمونه از پیلودها شدیم که لودر متعاقباً آنها را اجرا میکند. این پیلود خاص (fa217ca023cda4f063399107f20bd123) چندین ویژگی جالب را نشان میدهد که به ما امکان میدهد آن را متعلق به خانواده Necro بدانیم:
- لودر اطلاعات دانلود را از دامنه C2 bearsplay[.]com دریافت میکند. با توجه به داده های تلهمتری ما، بدافزار Necro-family با دامنه تماس گرفته است.
- طبق دادههای ما، دامنههای C2 که این فایل با آنها تعامل دارد نیز توسط تروجانهای Necro و xHelper استفاده میشوند.
- عملکرد این بار جدید بسیار شبیه به نسخه قبلی Necro (402b91c6621b8093d44464fc006e706a) است. کد تروجانها نیز مشابه است، اما در این پیلود جدید، مهاجمین از یک مبهمساز استفاده کردهاند تا تشخیص و تجزیه و تحلیل راهکارهای امنیتی را دشوارتر کنند.
- ساختار پیکربندی پیلود با نسخههای قدیمیتر Necro، از جمله نسخهای که قبلاً در برنامه CamScanner کشف کردیم، یکسان است. نام فیلدها در پیکربندی با فیلدهای مربوطه در سایر نسخههای Necro مطابقت دارند.
بر این اساس، ما ادعا میکنیم که هم بار مورد بررسی و هم لودر اصلی متعلق به خانواده Necro هستند که برای ما آشنا هستند.
ساختار پیلود
حالا بیایید به تجزیه و تحلیل پیلود بپردازیم. مرحله دوم فرآیند راهاندازی، پیکربندی با فرمت JSON را میخواند که در کد جاسازی شده است. سوئیچ rp ممکن است حاوی سرویسهای مخرب آماده لانچ باشد اما در نمونههایی که ما تحلیل کردیم این سوئیچ خالی بود. سوئیچ پیکربندی mp پارامترهایی را برای لودر مرحله دوم نگه می دارد. احتمالاً مخفف «پارامترهای ماژول» است. عملکرد مخرب Necro در ماژولهای اضافی که از سرور C2 دانلود میشوند پیادهسازی شده است. نویسندگان بدافزار غالباً در کد به آنها به عنوان "پلاگین" اشاره می کنند. فیلد پیکربندی ps (احتمالاً مخفف «فهرست توقف پلاگین»، به معنای فهرستی از افزونههای ممنوعه) برای مسدود کردن این ماژولها ضروری است. سوئیچهای موجود در این شیء نام افزونههایی هستند که بارگذاری آنها ممنوع است و مقادیر آنها افزونه های جایگزینی هستند که در صورت بارگذاری میتوانند به جای پلاگینهای مسدود شده اجرا شوند. اگر در قسمت mp پرچم PluginControl روی true تنظیم شده باشد، ممنوعیت دانلود اعمال خواهد شد. اما در نمونههایی که توانستیم به دست آوریم، محدودیت اعمال نشد. علاوه بر این، قسمت mp ممکن است حاوی پرچم PluginUpdateFeature باشد که بهروزرسانیهای افزونه را کنترل میکند. اگر این پرچم وجود نداشته باشد، افزونهها به طور پیش فرض به روز میشوند.
سوئیچ hs در پیکربندی فهرستی از آدرس های C2 را ذخیره میکند که تروجان با آنها صحبت میکند. توجه داشته باشید که منطق بدافزار نیازی به مطابقت همه آدرس ها ندارد، اگرچه در نمونهای که ما بررسی کردیم، آنها یکسان بودند. تروجان برای انجام وظایف زیر به هر آدرس نیاز دارد:
- سرور برای به روز رسانی آدرس سرور PluginServer استفاده میشود. برای انجام این کار، تروجان ابتدا یک درخواست POST حاوی شناسه ایمپلنت مخرب و نام بسته برنامهای که در آن تعبیه شده است ارسال میکند. پس از آن، سرور میتواند یک آدرس PluginServer جدید ارسال کند. اگر آدرس را نمیتوان به روز کرد، از مقدار پیکربندی تنظیم شده در کد استفاده می شود.
- dataevent برای ذخیره رویدادهای مختلف مرتبط با فعالیت SDK استفاده میشود.
- پیش فرض در این مرحله استفاده نمیشود.
- PluginServer به تروجان دستور میدهد که کدام افزونه ها را دانلود کند. در ابتدا مقدار زیادی داده به این سرور ارسال میشود. این شامل اطلاعات مربوط به دستگاه آلوده (اندازه صفحه نمایش، RAM، IMEI، IMSI، نسخه سیستم عامل)، اطلاعات مربوط به محیط دستگاه (فعال بودن حالت اشکال زدایی USB و حالت توسعه دهنده، در صورت شناسایی مصنوعات شبیه ساز و غیره)، جزئیات مربوط به برنامه آلوده و غیره میشود.
در پاسخ، سرور فهرستی از پلاگینها را برای دانلود میفرستد. اینها به صورت ناهمزمان دانلود میشوند. برای انجام این کار، بدافزار گیرنده برادکستی را ثبت میکند و یک رشته جداگانه که برای دانلود استارتش می خورد، پیام برادکست را موقعی که یک پلاگین آماده دانلود شدن است ارسال میکند. پلاگینها نامشان با هم فرق دارد که این هم سرور ارائه میدهد.
رمزگذاری و لود پلاگین
کد بارگذاری افزونه، از جمله موارد دیگر، از قابلیت رمزگشایی افزونهها با استفاده از روشهای مختلف پشتیبانی میکند. بعلاوه، در صورتی که فایلی با پسوند png. دانلود شده باشد، میتوان از قبل با استفاده از الگوریتم استگانوگرافی شرح داده شده در بالا، بارهای پرداخت را استخراج کرد. روش رمزگشایی در آدرس فایل مشخص شده است. گزینههای زیر در دسترس هستند:
new/enc: رمزگشایی با رمز جایگزینی مشابه رمز مورد استفاده برای ارتباط C2
Ssd: رمزگشایی افزونه با استفاده از الگوریتم DES
Ori:افزونه رمزگذارینشده
اگر روش رمزگذاری مشخص نشده باشد، افزونه با استفاده از رمز جایگزین رمزگشایی میشود. دانه اولیه برای این رمز، پارامتر PMask (مخفف plugin mask)خواهد بود که در شی mp در پیکربندی لودر تعریف شده است. پس از رمزگشایی، پلاگینها را میتوان به روشهای مختلف بارگیری کرد.
- Dex: این روش افزونه را با استفاده از DexClassLoader بارگذاری میکند. لودر زمینه برنامه و افزونه و اطلاعات اضافی افزونه را در اختیار آن قرار میدهد.
- Res: این روش امکان بارگیری افزونهها با منابع جدید را فراهم میکند. از این منابع میتوان برای دانلود افزونه های بیشتری در آینده استفاده کرد.
- Apk:روشی که امکان ارسال اطلاعات مربوط به فایل دانلودشده را به یک سرویس از طریق مکانیسم IPC Binder میدهد. نام سرویس در ویژگی bird_vm_msg_service مشخص شده است. در حالی که به طور قطعی مشخص نیست که Necro از چه سرویس هایی استفاده میکند، میتوانیم حدس بزنیم این عملکرد برای نصب فایلهای APK دلخواه بر روی دستگاه قربانی استفاده میشود.
انواع پلاگینها
برای درک بهتر اهداف مهاجمین، تصمیم گرفتیم پیلودهای لودشده را توسط تروجان به طور کامل بررسی کنیم و پس از تجزیه و تحلیل داده های تله متری، چندین ماژول Necro را پیدا کردیم.
ed6c6924201bc779d45f35ccf2e463bb-
Trojan.AndroidOS.Necro.g
این یک ماژول Necro به نام NProxy است. هدف آن ایجاد یک تونل از طریق دستگاه قربانی است. هنگام راه اندازی، ماژول به سروری که در کد تعریف شده است متصل میشود.
این سرور به عنوان یک سرور C2 عمل میکند که تروجان از طریق یک پروتکل ناشناس پیادهسازی شده روی سوکتهای TCP با آن صحبت میکند. C2 دستوراتی را ارسال میکند که تروجان آنها را پردازش میکند. پس از پردازش، تروجان ترافیک را از یک نقطه پایانی به نقطه دیگر از طریق دستگاه قربانی ارسال میکند.
b3ba3749237793d2c06eaaf5263533f2 – Trojan.AndroidOS.Necro.i
نام این افزونه را جزیره گذاشتیم. موقع لانچ، این افزونه یک عدد شبه تصادفی تولید میکند که از آن به عنوان فاصله (بر حسب میلی ثانیه) بین نمایش تبلیغات مزاحم استفاده میکند.
ccde06a19ef586e0124b120db9bf802e – Trojan.AndroidOS.Necro.d
این افزونه "وب" نام دارد و بر اساس دادههای تله متری ما یکی از محبوبترین پلاگین های Necro است. کد آن حاوی پیکربندی شبیه به پیکربندی payload shellPlugin در مرحله قبل است. جالب است که کد این افزونه حاوی مصنوعات نسخه های قدیمی Necro است.
بسته به مقدار پرچم CheckAbnormal، افزونه وجود یک دیباگر را در محیط اجرا و اینکه آیا تلفن از طریق USB با استفاده از ADB متصل شده است بررسی میکند. اگر هر یک از شرطها برآورده شود، تروجان لاگ Logcat را پاک کرده تا آثار فعالیت خود را پنهان کند. علاوه بر این، این افزونه تأیید میکند که آیا مجوز نمایش پنجره ها را در بالای برنامههای دیگر دارد یا خیر. پس از تمام این بررسیها، یک کار مخرب را راه اندازی میکند که هر دو ساعت یک بار اجرا میشود. موقع لانچ، درخواست POST حاوی جزئیات مربوط به دستگاه آلوده را به سرور ارسال میکند. این کار برای دریافت آدرس سرور دیگری به نام URL اصلی انجام می شود که تروجان اغلب با آن ارتباط برقرار میکند. اگر هنگام دریافت این آدرس خطایی رخ دهد، بدافزار به استفاده از سروری به نام پیشفرض بازمیگردد.
URL اصلی دریافت شده به عنوان سرور C2 عمل میکند: لیستی از صفحات را به تروجان ارسال میکند که بدافزار بعداً قبل از پردازش عناصر تعاملی موجود در آنها در پس زمینه باز میشود. این قابلیت چند ویژگی جالب دارد. اول، کد تروجان حاوی برخی مصنوعات است که نشان میدهد ممکن است با امتیازات بالا در حال اجرا باشد. با این حال، فرآیندهای اندروید با امتیازات بالا به طور پیشفرض اجازه WebView را نمیدهند. بررسی های امتیاز مستقیماً هنگام ایجاد نمونهای از کارخانه WebView انجام میشود: در فرآیندهای دارای امتیاز، ایجاد نمیشود. برای دور زدن این محدودیت، تروجان یک نمونه کارخانهای را مستقیماً با استفاده از بازتاب ایجاد میکند، بنابراین تمام بررسی های فرآیند جاری را دور می زند.
ثانیاً، تروجان میتواند فایلهای اجرایی دیگر را دانلود و اجرا کند، که سپس برای جایگزینی پیوندهای بارگذاری شده با WebView استفاده میشوند. همراه با عملکردی که در بالا توضیح داده شد، این از لحاظ نظری به انجام کارهایی مانند افزودن هرگونه اطلاعات اضافی به پارامترهای URL لینک جایگزین شده، مانند کدهای تأیید برای اشتراکهای پولی، و همچنین اجرای سایر کدهای دلخواه هنگام بارگیری لینکهای خاص اجازه میدهد.
36ab434c54cce25d301f2a6f55241205 – Trojan-Downloader.AndroidOS.Necro.b
این ماژول Happy SDK نام دارد. کد آن تا حدی منطق NProxy و ماژولهای وب و همچنین عملکرد مرحله قبلی لودر را با چند تفاوت جزئی ترکیب میکند:
کد فاقد پیکربندی تروجان است و سرورهای پشتیبان C2 به طور پیش فرض در روشهای مربوطه قرار دارند. کد مربوط به پلاگین "وب" فاقد قابلیت اجرای کد دلخواه است. توجه داشته باشید که ما گاهی اوقات با این SDK با نام Jar SDK مواجه شده ایم. تجزیه و تحلیل نشان داده است که Jar SDK نسخه جدیدی از Happy SDK است.
ما معتقدیم که این یک نوع متفاوت از Necro است که در آن توسعه دهندگان معماری غیر ماژولار را در SDK مخرب انتخاب کردهاند. این نشان می دهد Necro بسیار سازگار است و میتواند تکرارهای مختلف خود را شاید برای معرفی ویژگی های جدید دانلود کند.
874418d3d1a761875ebc0f60f9573746 – Trojan.AndroidOS.Necro.j
ما این افزونه را Cube SDK نامیدیم. این بسیار ساده است و به عنوان یک کمککننده عمل میکند: تنها کار آن بارگیری افزونههای دیگر برای مدیریت تبلیغات در پس زمینه است.
522d2e2adedc3eb11eb9c4b864ca0c7f – Trojan.AndroidOS.Necro.l
این افزونه، علاوه بر عملکرد NProxy، دارای یک نقطه ورودی برای پلاگین دیگری است که آن را «تپ» نامیدهایم. با قضاوت بر اساس کد آن، دومی هنوز در حال توسعه است: دارای بسیاری از عملکردهای استفاده نشده برای تعامل با صفحات تبلیغاتی است. روی دانلود کد دلخواه جاوا اسکریپت و یک رابط WebView از سرور C2 ضربه بزنید، که مسئول مشاهده تبلیغات در پس زمینه هستند. از جمله موارد دیگر، این افزونه شامل com.leapzip.animatedstickers.maker.android به عنوان نام بسته برنامه آلوده میشود. این تأیید میکند که لودر مود واتساپ که قبلاً توضیح داده شد، که از Firebase Remote Config به عنوان C2 استفاده میکند، نیز به خانواده Necro تعلق دارد. اینها همه پیلودهایی هستند که ما در طول تحقیقات خود توانستیم پیدا کنیم. شایان ذکر است که سازندگان نکرو ممکن است به طور مرتب افزونههای جدیدی را منتشر کرده و آنها را مثلاً بسته به اطلاعات مربوط به برنامه آلوده، بهطور انتخابی یا طور دیگر بین دستگاههای آلوده توزیع کنند.
قربانیها
طبق دادههای گوگلپلی، اپهای آلوده میتوانستند بیش از 11 میلیون بار دانلود شده باشند. با این حال تعداد واقعی دستگاههای آلوده ممکن است بیش از اینها باشد؛ با توجه به اینکه این تروجان همچنین به نسخههای مد اپهای محبوب توزیعشده در منابع غیررسمی نیز رخنه کرده است. دادههای KSN نشان میدهد راهکارهای امنیتی ما بیش از ده هزار حمله نکرویی را در سراسر جهان در بازه 26 آگست تا 15 سپتامبر مسدود کرده. روسیه، برزیل و ویتنام بالاترین تعداد حمله را تجربه کردند.
نتیجه
تروجان نکرو باری دیگر قصد کرده هزاران دستگاه را سراسر جهان آلوده کند. این نسخه جدید لودری است چند مرحلهای که برای پنهان کردن پی لود مرحله دوم و نیز مبهمسازی برای دورزدن شناسایی از استگانوگرافی که تکنیک نادری برای بدافزارهای موبایل است استفاده میکند. این ساختار ماژولار به سازندگان تروجان مذکور طیف وسیعی از گزینهها را برای تحویل هدفدار یا انبوه آپدیتهای لودر یا ماژولهای مخرب بسته به اپ آلوده ارائه میدهد. برای آلوده نشدن به این بدافزار:
- اگر یکی از برنامههای Google Play فوقالذکر را نصب کردهاید و نسخهها آلوده هستند، برنامه را به نسخهای که کد مخرب آن حذف شده بهروزرسانی یا آن را حذف کنید.
- برنامه ها را فقط از منابع رسمی دانلود کنید. برنامههای نصب شده از سیستم عامل های غیر رسمی ممکن است دارای عملکرد مخرب باشند.
- از یک راهکار امنیتی قابل اعتماد برای محافظت از دستگاه خود در برابر تلاش برای نصب بدافزار استفاده کنید.
شاخصهای دستکاری
اپهای آلودهشده با لودر
Loader C2 server
oad1.bearsplay[.]com
shellPlugin versions
پیلود مرحله دوم
37404ff6ac229486a1de4b526dd9d9b6
سرور C2 پیلود مرحله دوم
oad1.azhituo[.]com
پلاگینها (مرحله سوم)
سرورهای C2 پلاگین
47.88.246[.]111
174.129.61[.]221
47.88.245[.]162
47.88.190[.]200
47.88.3[.]73
hsa.govsred[.]buzz
justbigso[.]com
bear-ad.oss-us-west-1.aliyuncs[.]com
کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.