توسعه دهندگان بدافزار تروجان بانکی به طور مداوم به دنبال راههای ابداعی برای توزیع ایمپلنتهای خود و آلوده سازی قربانیان هستند. ما در تحقیقات اخیر، با بدافزار جدیدی به نام تروجان Coyote مواجه شدیم که تاکنون به طور خاص کاربران بیش از ۶۰ موسسه بانکی، عمدتاً واقع در برزیل را مورد هدف قرار داده است. آنچه توجه ما را به خود جلب کرد، زنجیره نفوذ پیچیدهای بود که از فناوریهای پیشرفته مختلف استفاده میکند و آن را از سایر نفوذهای تروجان بانکی شناخته شده متمایز میسازد.
این بدافزار، از نصبکننده Squirrel برای توزیع، استفاده از NodeJS و یک زبان برنامهنویسی چند پلتفرمی نسبتاً جدید به نام Nim بهعنوان لودر به منظور تکمیل فرآیند نفوذ خود استفاده میکند. به دلیل نقش Coyoteها به عنوان شکارچیان طبیعی Squirrel ها (سنجابها)، نام این تروجان تازه کشف شده را ” Coyote ” نهادیم.
زبان Nim خود را به عنوان یک زبان برنامه نویسی سیستمهای کامپایل شده به صورت ایستا تعریف میکند که مفاهیم موفق زبانهای تکامل یافته همچون Python، Ada و Modula را ترکیب مینماید. پذیرش زبانهای کمطرفدار/ بین پلتفرمی توسط مجرمان سایبری، چیزی است که به عنوان یک روند در تهدیدات سایبری مالی و جرم افزارها برای سال ۲۰۲۴ شناسایی شده است.
ما در این مقاله به بررسی عملکرد زنجیره نفوذ و بررسی قابلیتهای این تروجان خواهیم پرداخت.
دلفی و MSI قدیمی را فراموش کنید
در چشم انداز تروجان بانکی، استفاده از زبان دلفی یا نصب کنندههای MSI یک روند تکراری در میان سازندگان بدافزار است. این یک واقعیت شناخته شده در جامعه امنیت سایبری است که این روش به عنوان یک بردار نفوذ اولیه به طور گسترده مورد استفاده قرار میگیرد.
تروجان Coyote کارها رو کمی متفاوت انجام میدهد و به جای آن که مسیر متداول را با نصب کنندگان MSI طی کند، یک ابزار نسبتا جدید برای نصب و به روزرسانی برنامه های دسکتاپ ویندوز انتخاب میکند که Squirrel (سنجاب) میباشد. Squirrel از پکیجهای NuGet برای ایجاد پکیجهای نصب و به روزرسانی استفاده میکند، به این معنا که شما احتمالا بیشتر از آنچه را که برای ایجاد یک نصب کننده نیاز دارید میدانید.
تروجان Coyote با استفاده از این ابزار، لودر مرحله اولیه خود را با ارائه آن به عنوان packager بصورت پنهان بهروزرسانی میکند.
اسکریپت لودر Node.js
هنگامی که Squirrel اجرا میشود، در نهایت یک برنامه NodeJS را اجرا میکند که با Electron کامپایل شده است. این برنامه، کد جاوا اسکریپت مبهم (preload.js) را اجرا میکند که وظیفه اصلی آن کپی کردن همه فایلهای اجرایی موجود در یک پوشه لوکال به نام temp در پوشه captures (کپچر) کاربر در داخل پوشه Videos است و سپس یک برنامه امضا شده از آن دایرکتوری را اجرا خواهد کرد.
چندین فایل اجرایی در حال استفاده شناسایی شدهاند، از جمله موارد مرتبط با Chrome و OBS Studio. تروجان از طریق بارگذاری جانبی DLL یکی از ملزومات این فایلهای اجرایی بارگذاری میشود. در تمام مواردی که توسط تیم کسپرسکی تحلیل شده است، بارگذاری جانبی DLL در کتابخانه libcef.dll رخ داده است.
لودر Nim
یکی از عناصر جذاب زنجیره نفوذ، استفاده از Nim، یک زبان برنامه نویسی نسبتا جدید، برای بارگذاری پیلود مرحله نهایی است. هدف لودر، باز کردن یک فایل اجرایی دات نت (.NET) و اجرای آن در حافظه با استفاده از CLR است. این بدان معناست که مقصود لودر از بارگذاری فایل اجرایی و اجرای آن در فرآیند خود، یادآوری نحوه عملکرد Donut است.
شایان ذکر است که همان نقطه ورود، obs-browser-page.exe، برای هر راه اندازی مجدد ماشین استفاده میشود و تداوم دسترسی را تضمین میکند.
تروجان بانکي Coyote
پس از تمام این مراحل، تروجان با موفقیت اجرا میشود. Coyote هیچ کد مبهم سازی را پیاده نمیکند و فقط از مبهم سازی رشته با رمزگذاری AES استفاده مینماید.
تروجان برای بازیابی یک رشته خاص، یک متد رمزگشایی را با شاخص رشته به عنوان پارامتر فراخوانی میکند. متد رمزگشایی با ایجاد جدولی از داده های کدگذاری شده با base64 کار میکند. ۱۶ بایت اول هر آیتم، داده رمزگشایی شده به عنوان IV (بردار اولیه) عمل میکند، در حالی که مابقی، داده های رمزگذاری شده هستند که بعداً در روال رمزگشایی AES مورد استفاده واقع میشوند.
کلید به طور تصادفی توسط هر فایل اجرایی تولید میشود و الگوریتم رمزگشایی AES از اینترفیسهای رمزگذاری رسمی دات نت استفاده میکند. تروجان با این رویکرد، برای هر دسترسی رشتهای که Coyote به آن نیاز دارد، در داخل جدول جستجو کرده و هر رشته را با یک IV سفارشی رمزگشایی میکند.
تداوم دسترسی و اهداف
تروجان Coyote با سوء استفاده از اسکریپتهای ورود به سیستم ویندوز به تداوم دسترسی خواهد رسید. Coyote ابتدا بررسی میکند که آیا HKCU\Environment\UserInitMprLogonScript وجود دارد یا خیر، و اگر چنین است، مقدار رجیستری را به عنوان مسیر کامل برنامه امضا شده، در این مورد، obs-browser-page.exe درج میکند.
هدف تروجان Coyote با رفتار تروجان بانکی متداول سازگار است؛ تمام برنامههای باز شده در سیستم قربانی را کنترل میکند و منتظر میماند تا به برنامه یا وب سایت بانکی خاص دسترسی یابد.
کسپرسکی در تجزیه و تحلیل خود، حداقل ۶۱ اپلیکیشن مرتبط را شناسایی کرده است که همگی از برزیل نشات گرفته بودند. این شواهد حاکی از آن است که Coyote در واقع یک تروجان بانکی برزیلی میباشد.
ارتباطات و کنترل C2
هنگامی که هر اپلیکیشن مرتبط با تروجان بانکی اجرا و مورد استفاده قرار میگیرد، Coyote توسط این اطلاعات با C2 (سرور فرمان و کنترل) ارتباط برقرار میکند. C2 سپس با اقدامات مختلف بر روی دستگاه، از keylogging گرفته تا گرفتن اسکرین شات، پاسخ میدهد.
تروجان با استفاده از کانالهای SSL با یک طرح احراز هویت متقابل با سرور فرمان و کنترل خود ارتباط برقرار میکند. این بدان معناست که تروجان دارای گواهی از سرور تحت کنترل مهاجم است و از آن در طول فرآیند اتصال استفاده میکند.
گواهی به عنوان یک منبع در یک فرمت رمزگذاری شده ذخیره میشود که توسط کتابخانه X509 از دات نت رمزگشایی میگردد. هنگامی که بدافزار تأیید میکند که اتصال با مهاجم واقعا برقرار شده است، اطلاعات جمع آوری شده از دستگاه آلوده و اپلیکیشنهای بانکی را به سرور ارسال میکند. اطلاعات منتقل شده شامل موارد زیر میباشند:
- نام ماشین
- GUID تولید شده به صورت تصادفی
- اپلیکیشن بانکی در حال استفاده
مهاجم توسط این اطلاعات، یک بسته پاسخ ارسال میکند که شامل اقدامات خاصی است. مهاجم برای پردازش این اقدامات، یک رشته را با یک جداکننده (delimiter) تصادفی ارسال خواهد کرد، سپس هر موقعیت رشته به یک لیست تبدیل میشود که اولین ورودی نشان دهنده نوع فرمان است.
برای تعیین دستور مورد نظر، طول رشته که در اولین پارامتر یک رشته تصادفی قرار دارد، مورد بررسی واقع میشود. به عبارت دیگر، تنها تفاوت بین دستورات، اندازه رشته است.
مهمترین دستورات موجود عبارتند از:
تروجان همچنین میتواند رمزهای عبور کارت بانکی خاصی را درخواست کند و یک پوشش فیشینگ برای گرفتن اطلاعات کاربر ایجاد نماید.
جمع بندی
تروجان Coyote تغییر قابل توجهی را در تروجانهای بانکداری برزیل نشان میدهد و بر خلاف همتایان خود که اغلب از زبانهای قدیمی مانند دلفی استفاده میکنند، توسعه دهندگان پشت Coyote در فناوریهای مدرن مانند Node.js، .NET و تکنیکهای بسته بندی (packaging ) پیشرفته مهارت دارند.
اضافه شدن Nim به عنوان یک لودر به طراحی تروجان، پیچیدگی میبخشد. این تکامل، پیچیدگی روزافزون در چشمانداز تهدید را برجسته میکند و نشان میدهد که چگونه عوامل تهدید در حال سازگاری و استفاده از جدیدترین زبانها و ابزارها در کمپینهای مخرب خود هستند.
دادههای تلهمتری کسپرسکی حاکی از آن است که بیش از ۹۰ درصد نفوذها از برزیل نشات گرفتهاند. تمامی محصولات کسپرسکی، تهدید مورد نظر را به عنوان HEUR:Trojan-Banker.MSIL.Coyote.gen شناسایی میکنند.
IoCهای مرجع
مبتنی بر Host (هش MD5)
03 eacccb664d517772a33255dff96020
071b6efd6d3ace1ad23ee0d6d3eead76
276f14d432601003b6bf0caa8cd82fec
5134e6925ff1397fdda0f3b48afec87b
bf9c9cc94056bcdae6e579e724e8dbbd
لیست دامنههای C2
atendesolucao[.]com
servicoasso[.]com
dowfinanceiro[.]com
centralsolucao[.]com
traktinves[.]com
diadaacaodegraca[.]com
segurancasys[.]com
منبع
[1] Phishing