تروجان نکرو
در سال 2019، محققان امنیت سایبری یک مسئله نگرانکننده را کشف کردند: یک برنامه Android قانونی در فروشگاه Google Play توسط یک کتابخانه شخص ثالث مورد استفاده توسعهدهندگان برای ایجاد درآمد تبلیغاتی قرار گرفته بود. این اصلاح منجر به اتصال 100 میلیون دستگاه به سرورهایی شد که توسط مهاجمان کنترل میشوند و سپس بارهای مخفی را مستقر کردند.
وضعیت مشابه اکنون دوباره ظاهر شده است. کارشناسان Infosec دو برنامه جدید را شناسایی کردهاند که ۱۱ میلیون بار از گوگل پلی دانلود شدهاند و توسط همان خانواده بدافزار آلوده شدهاند. به نظر می رسد یک کیت توسعه نرم افزار ناامن که برای ادغام ویژگی های تبلیغاتی استفاده می شود، بار دیگر مقصر است.
فهرست مطالب
SDK چیست؟
کیتهای توسعه نرمافزار یا SDKها، چارچوبهای از پیش ساخته شدهای را به توسعهدهندگان ارائه میدهند که فرآیند ایجاد برنامهها را با انجام کارهای روتین ساده و تسریع میکنند. در این مورد، یک ماژول SDK تایید نشده، که ظاهرا برای پشتیبانی از نمایش تبلیغات طراحی شده بود، در برنامهها ادغام شد. با این حال، در زیر سطح، روش های پیشرفته ای را برای برقراری ارتباط مخفیانه با سرورهای در معرض خطر فعال می کند. این به برنامهها اجازه میداد تا دادههای کاربر را آپلود کنند و کد مضر را بارگیری کنند، که میتوان آن را در هر زمان اجرا یا بهروزرسانی کرد.
چگونه تروجان های نکرو دستگاه ها را آلوده می کنند؟
خانواده بدافزار پشت هر دو کمپین Necro نامیده میشود، و در این مثال، برخی از انواع از تکنیکهای پیشرفتهای مانند استگانوگرافی استفاده میکنند - یک روش مبهمسازی نادر در تهدیدات موبایل. انواع خاصی نیز از روشهای پیچیده برای ارائه کدهای جعلی استفاده میکنند که میتوانند با امتیازات سیستمی بالا کار کنند. هنگامی که یک دستگاه آلوده می شود، با یک سرور فرمان و کنترل کنترل شده توسط مهاجم ارتباط برقرار می کند. دادههای JSON رمزگذاریشده را ارسال میکند که جزئیات مربوط به دستگاه آسیبدیده و برنامه میزبان ماژول جعلی را گزارش میکند.
سپس سرور با یک پیام JSON که شامل پیوندی به یک تصویر PNG و ابرداده حاوی هش تصویر است، پاسخ میدهد. اگر ماژول روی دستگاه آلوده هش را تأیید کند، به دانلود تصویر ادامه میدهد.
محققان توضیح دادند که ماژول SDK از یک الگوریتم steganographic ساده استفاده می کند. پس از گذراندن بررسی MD5، محتویات فایل PNG، بهویژه مقادیر پیکسلها را از کانالهای ARGB، با استفاده از ابزارهای استاندارد اندروید استخراج میکند. روش getPixel مقداری را بازیابی میکند که کمترین بایت حاوی کانال آبی تصویر است و بدافزار پردازش خود را از آنجا آغاز میکند.
تروجان Necro می تواند منجر به عواقب شدید شود
بارهای متعاقب نصب شده توسط بدافزار، افزونه های جعلی را دانلود می کنند که می توانند برای هر دستگاه آلوده برای انجام اقدامات مختلف سفارشی شوند. یکی از این پلاگین ها اجازه می دهد تا کد با امتیازات سیستمی بالا اجرا شود. به طور معمول، اندروید فرآیندهای ممتاز را از استفاده از WebView محدود میکند - مؤلفهای برای نمایش صفحات وب در برنامهها. برای غلبه بر این محدودیت، Necro از تکنیکی به نام حمله انعکاسی برای ایجاد یک رخداد جداگانه از کارخانه WebView استفاده می کند.
علاوه بر این، این افزونه می تواند فایل های دیگری را که لینک های نمایش داده شده از طریق WebView را تغییر می دهند دانلود و اجرا کند. با حقوق سیستم بالا، این فایل های اجرایی می توانند URL ها را برای درج کدهای تایید برای اشتراک های پولی و دانلود و اجرای کد از لینک های کنترل شده توسط مهاجم تغییر دهند. محققان طی تجزیه و تحلیل خود از Necro، پنج محموله متمایز را شناسایی کردند. علاوه بر این، ساختار ماژولار Necro راه های متعددی را برای عملکرد بدافزار فراهم می کند.
تروجان Necro در دو برنامه یافت شد
محققان Necro را در دو برنامه در Google Play شناسایی کردند. یکی از آنها، Wuta Camera، 10 میلیون بار دانلود شده است. نسخههای 6.3.2.148 تا 6.3.6.148 Wuta Camera حاوی SDK مخربی بود که مسئول عفونتها بود، اما برنامه از آن زمان برای حذف مؤلفه مضر بهروزرسانی شده است. برنامه دیگری، Max Browser، با تقریباً 1 میلیون بارگیری، نیز در معرض خطر قرار گرفت. با این حال، دیگر در Google Play در دسترس نیست.
علاوه بر این، محققان Necro را کشف کردند که طیف وسیعی از برنامههای Android ارائه شده در بازارهای جایگزین را آلوده میکند. این برنامهها معمولاً بهعنوان نسخههای اصلاحشده برنامههای کاربردی، از جمله Spotify، Minecraft، WhatsApp، Stumble Guys، Car Parking Multiplayer و Melon Sandbox ارائه میشوند.