شرح کلی
نوع: Ransomware
اسامی بدافزار:
Ransomware.Android.Filecoder.C
درجه تخریب: زیاد
میزان شیوع: متوسط
باج افزار (Ransomware) چیست؟
باج افزارها نوعی از بدافزار محسوب میشوند که اقدام به رمزگذاری اطلاعات مهم کاربر میکنند و برای بازگردانی آن فایلها از کاربر طلب باج میکنند. روش رمزگذاری اکثرا روشی غیرقابل رمزگشایی بوده و یکی از راههای رایج برای پرداخت باج استفاده از پول الکترونیکی میباشد که دلیل آن مخفی ماندن و شناسایی نشدن طرفین میباشد. در اکثر باج افزارها هیچ راهی برای بازگشت فایل وجود ندارد و کاربر برای بازگردانی اطلاعات مهم مجبور به پرداخت مبلغ به حساب باج گیر است. باج افزارها یکی از زیان بارترین بدافزارها هستند که میتوانند باعث ضررهای مالی سنگینی شوند.
بدافزار Filecoder چیست؟
Filecoder ،نوعی باج افزار(Ransomware) است که فایلهای گوشی کاربر را با استفاده از الگوریتم رمزنگاری AES، رمز میکند. مشخصه این باج افزار این است که به تمام فایلهای رمز شده، پسوند seven اضافه میکند. کاربر نیز به ازای بازگردانی فایلهای خود به حالت اولیه بعد از آلودگی میبایستی مبلغ “0.01” بیت کوین را به آدرس عمومی رمز شده “16KQjht4ePZxxGPr3es24VQyMYgR9UEkFy” که توسط مهاجم به صورت hardcode شده در کد مشخص شده، پرداخت وجه داشته باشد. در ادامه به ازای پرداخت انجام شده، کلید خصوصی برای رمزگشایی فایلها از سوی سرور آلوده بدافزار به سمت گوشی کاربر ارسال میشود.
بعد از نصب برنامه آلوده در گوشی کاربر، بدافزارنویس به منظور انتشار بیشتر برنامه و آلوده سازی تعداد بیشتری از کاربران، به تمام لیست مخاطبین(contact list) گوشی، پیام متنی(sms) ارسال میکند. متن پیامها با توجه به تنظیمات تلفن همراه به ۴۲ زبان مختلف ارسال میشود که یکی از این زبانها “ایرانی” میباشد. مضمون این پیام اینگونه است: “چگونه میتوان عکسهای خود را در این برنامه قرار داد، فکر میکنم باید به شما بگویم”. در ادامه پیام، لینک (http://wevx.xyz/sexSimulator.apk) را جهت دانلود برنامه، قرار میدهد. با توجه به این مطلب میتوان فهمید یکی از کشورهای مورد هدف مهاجم، ایران بوده است.
بدافزارنویس با ایجاد ارتباط C&C با سرورهای آلوده خود و اجرای دستورات دریافتی، عملیات مخرب را انجام میدهد. ولی هم اکنون به دلیل تشخیص فایل بدافزار، سرورهای آن به صورت غیرفعال در آمده اند و به دنبال آن فایلهای گوشی کاربر رمز نمیشوند و تنها از علایم آلودگی این است که بعد از اجرای برنامه در گوشی، تصویر پس زمینه (wallpaper) تغییر میکند که قابل بازگردانی توسط کاربر است و با حذف برنامه از لیست برنامهها، گوشی پاکسازی میشود.
توضیحات فنی
با اجرای اکتیویتی اصلی برنامه، تمام دادههای موجود از آدرس “URl : https://pastebin.com/raw/LQwGQ0RQ” خوانده شده و در متغیر رشتهای “C2Content” موجود در فایل پایگاه داده برنامه ذخیره میشود. دلیل استفاده مهاجم از سرویس Pastebin این است که به واسطه آن میتواند دادههای متنی که میخواهد را برای بازه ای از زمان، ذخیره نماید و هر زمان که خواست آنها را به صورت داینامیک تغییر دهد. تمام آدرسهایی که در این سرور قرار داشته، با الگوریتم base64 کد شدهاند. درواقع بدافزارنویس به گونه ای کد برنامه را نوشته که اگر آدرسها را نتواند به صورت داینامیک از سرور دریافت نماید، از همان آدرسها که به صورت hardcode شده در کد برنامه هستند استفاده کند.
سرویس برنامه به نام MyService در پس زمینه برای اهداف زیر اجرا میشود:
- با استفاده از الگوریتم رمزگذاری نامتقارن، دو کلید عمومی و خصوصی که جفت هم هستند ایجاد میشود.
کلید عمومی: به صورت hardcode شده در کد برنامه و در متغیر رشتهای “hackPubKey” قرار دارد.
کلید خصوصی: کلید خصوصی با کلید عمومی [که از حالت hex2byte تبدیل شده] با استفاده از الگوریتم RSA رمز میشود و خروجی تولید شده دوباره با استفاده از الگوریتم رمزنگاری base64 رمز میشود. مقدار رشتهای تولید شده در فایل پایگاه داده برنامه قرار میگیرد.
- بدافزارنویس، یک لیست کامل از اطلاعات مربوط به مخاطبین گوشی جمع آوری میکند. این اطلاعات، از فایل مربوط به دیتابیس مخاطبین گوشی، خوانده میشود و در یک فایل json نگهداری میشود. در نهایت فایل json را به سمت سرور خود(=http://wevx.xyz/post.php?uid) ارسال میکند. با استفاده از دستورات C&C با سرور آلوده خود ارتباط گرفته، و بنابر اطلاعات ارسال شده، پیامی را جهت اجرای یکسری عملیات در گوشی کاربر دریافت میکند.
- به هر کاربر که دارای شماره موبایل باشد، پیام کوتاه(sms)ارسال میکند.
از روی تنظیمات گوشی، زبان را تشخیص میدهد. اگر تنظیمات زبان گوشی جزو لیست زبانها باشد، متن پیام ارسالی براساس آن نوشته میشود و در صورت نبود زبان تعیین شده در لیست، به صورت پیش فرض “how can they put your photo in this app, I think I need to tell you ” قرار میگیرد. در نهایت هم لینک آلوده برای دانلود فایل برنامه http://wevx[.]xyz/sexSimulator.apk قرارمیگیرد.
روال رمزگذاری فایلها(Encryption)
بدافزارنویس، یک کلید AES ایجاد میکند. این کلید را با استفاده از کلید عمومی(public key) و الگوریتم RSA رمز میکند و با داشتن مجوزهای دسترسی
(WRITE_EXTERNAL_STORAGE , READ_EXTERNAL_STORAGE) و با درنظر گرفتن شرایط زیر یک لیست کامل از فایلهای گوشی، با شرایط زیر را جمع آوری میکند:
- نباید فایلها داخل فولدرهایی با رشتههای “cache” , “.temp.” باشند.
- پسوند فایلها، “.zip” یا “.rar” و سایز فایلها بیشتر از 51.200 KB یا 50 MB نباشد.
- پسوند فایلها، “jpeg.” یا “jpg.” یا “png.” و سایز فایلها کمتر از 150 KB نباشد.
- پسوند فایلهای جمع آوری شده به این ترتیب باشد:
. “doc”, “.docx”, “.xls”, “.xlsx”, “.ppt”, “.pptx”, “.pst”, “.ost”, “.msg”, “.eml”, “.vsd”, “.vsdx”, “.txt”, “.csv”, “.rtf”, “.123”, “.wks”, “.wk1”, “.pdf”, “.dwg”, “.onetoc2”, “.snt”, “.jpeg”, “.jpg”, “.docb”, “.docm”, “.dot”, “.dotm”, “.dotx”, “.xlsm”, “.xlsb”, “.xlw”, “.xlt”, “.xlm”, “.xlc”, “.xltx”, “.xltm”, “.pptm”, “.pot”, “.pps”, “.ppsm”, “.ppsx”, “.ppam”, “.potx”, “.potm”, “.edb”, “.hwp”, “.602”, “.sxi”, “.sti”, “.sldx”, “.sldm”, “.sldm”, “.vdi”, “.vmdk”, “.vmx”, “.gpg”, “.aes”, “.ARC”, “.PAQ”, “.bz2”, “.tbk”, “.bak”, “.tar”, “.tgz”, “.gz”, “.7z”, “.rar”, “.zip”, “.backup”, “.iso”, “.vcd”, “.bmp”, “.png”, “.gif”, “.raw”, “.cgm”, “.tif”, “.tiff”, “.nef”, “.psd”, “.ai”, “.svg”, “.djvu”, “.m4u”, “.m3u”, “.mid”, “.wma”, “.flv”, “.3g2”, “.mkv”, “.3gp”, “.mp4”, “.mov”, “.avi”, “.asf”, “.mpeg”, “.vob”, “.mpg”, “.wmv”, “.fla”, “.swf”, “.wav”, “.mp3”, “.sh”, “.class”, “.jar”, “.java”, “.rb”, “.asp”, “.php”, “.jsp”, “.brd”, “.sch”, “.dch”, “.dip”, “.pl”, “.vb”, “.vbs”, “.ps1”, “.bat”, “.cmd”, “.js”, “.asm”, “.h”, “.pas”, “.cpp”, “.c”, “.cs”, “.suo”, “.sln”, “.ldf”, “.mdf”, “.ibd”, “.myi”, “.myd”, “.frm”, “.odb”, “.dbf”, “.db”, “.mdb”, “.accdb”, “.sql”, “.sqlitedb”, “.sqlite3”, “.asc”, “.lay6”, “.lay”, “.mml”, “.sxm”, “.otg”, “.odg”, “.uop”, “.std”, “.sxd”, “.otp”, “.odp”, “.wb2”, “.slk”, “.dif”, “.stc”, “.sxc”, “.ots”, “.ods”, “.3dm”, “.max”, “.3ds”, “.uot”, “.stw”, “.sxw”, “.ott”, “.odt”, “.pem”, “.p12”, “.csr”, “.crt”, “.key”, “.pfx”, “.der”
به ازای تمام فایلهای جمع آوری شده در لیست، هر کدام جداگانه به این ترتیب رمز میشوند:
(RSA { (AES)(Public key) } + (AES)(File)] + (.seven ]
بعد از رمزشدن فایلها، اکتیویتی MainActivity نمایش داده میشود، در این اکتیویتی دو بخش اصلی داریم:
- UserID : که اطلاعات گوشی هر شخص میباشد که به صورت کد شده در این فیلد قرار میگیرد.
- BTC addr : آدرس کیف پولی است که به صورت هش شده از سوی مهاجم تعیین میشود و کاربر درصورت تمایل به منظور بازگردانی فایلهایش باید به مبلغ تعیین شده، به wallet مهاجم بیت کوین واریز کند. آدرس عمومی رمز شده “16KQjht4ePZxxGPr3es24VQyMYgR9UEkFy” میباشد که به صورت کد شده در برنامه وجود دارد. این آدرس را بدافزارنویس میتواند به صورت داینامیک از دادههای ذخیره شده در سرور “https://pastebin.com/raw/LQwGQ0RQ” خود بدست آورد.
مهاجم شناسه کاربری(UID) مربوط به برنامه را دریافت میکند. باج درخواست شده تا حدودی پویا است. این بخش شامل دو قسمت میباشد:
قسمت اول میزان بیت کوین مورد درخواست از کاربر خواهد بود، که مقدار 0.01 است. در حالی که رقمهای باقی مانده در ادامه مقدار بیت کوین درخواستی، شناسه کاربری(UID) است. این عمل منحصر به فرد بمنظور ایجاد کیف پول بیت کوین(wallet) جداگانه برای هر گوشی آلوده به صورت رمزگذاری شده است.
روال رمزگشایی فایلها(Decryption)
در صورتیکه کاربر بخواهد برای بازگردانی فایلهای رمزشده خود، پرداخت بیت کوین به آدرس ذکر شده داشته باشد بعد از کلیک برروی button مربوط به رمزگشایی(DECRYPT) تابع getDecryptUrl فراخوانی میشود.
در این تابع نیز همانند بالا که توضیح داده شد، بدافزارنویس میتواند به صورت داینامیک از دادههای ذخیره شده در سرور “https://pastebin.com/raw/LQwGQ0RQ” خود برای دستیابی به آدرس موردنظر استفاده کند. ولی بازهم مانند سایر آدرسهای موجود اگر داینامیک به آدرس دست پیدا نکند، کاربر به آدرس hardcode شده(“http://wevx.xyz/decrypt.php”) ارجاع داده میشود. به محض پرداخت بیت کوین، شناسه UID کاربر ارسال میشود و به ازای آن کلید خصوصی مربوط به رمزگشایی فایلهای گوشی، برای کاربر ارسال میشود.
از مسیر فایلهای ذخیره شده در گوشی، یک لیست کامل از تمام فایلهایی که رمزشده اند، گرفته میشود (تمام فایلهایی که پسوند آنها به seven. تغییر پیدا کرده است). الگوریتم رمزگشایی دقیقا عکس همان عملیات رمزگذاری انجام میشود و در نهایت بعد از رمزگشایی هرفایل و بازگرداندن آنها، فایلهای رمزشده از گوشی پاک میشوند.
روش مقابله و پاکسازی سیستم
- این بدافزار توسط آنتیویروس پادویش شناسایی میشود.
- گوشیهای خود را به روز نگه دارید، در حالت ایده آل آنها را تنظیم کنید تا به صورت خودکار به روز شوند.
- به مجوزهای دسترسی برنامه تمرکز کنید. اگر به نظر میرسد آنها برای عملکردهای برنامه پیش از اندازه هستند ، از نصب برنامه خودداری کنید.
- دقت کنید که برنامههای خود را از مارکتهای معتبر دانلود و یا خریداری کنید و از کانالهای تلگرامی، اینستاگرام و وب سایتهای نامعتبر آنها را دانلود نکنید. همچنین برروی لینکهای مشکوکی که از طریق sms دریافت میکنید، کلیک نکنید.