پایگاه دانش

تروجان بانکی چند مرحله‌ای به نام Coyote

روابط عمومی شرکت ایدکو (توزیع‌کننده‌ی محصولات کسپرسکی در ایران)؛  توسعه‌دهندگان بدافزار «تروجان» همواره به دنبال راه‌های مبتکرانه‌ای برای توزیع ایمپلنت‌های خود و آلوده کردن قربانیان هستند. در بررسی‌های اخیر خود به بدافزار جدیدی برخوردیم که مشخصاً کاربران بیش از 60 مؤسسه بانکی را که عمدتاً از برزیل بودند هدف خود قرار داده. آنچه نظر ما را به خود جلب کرد زنجیره آلودگی پیچیده‌ای بود که از فناوری‌های پیشرفته مختلف استفاده می‌کرد و همین ویژگی آن را از بقیه آلودگی‌های شناخته‌شده تروجان‌های بانکی متمایز کرده است. این بدافزار برای توزیع از نصب‌گر Squirrel (به معنای سنجاب) استفاده می‌کند، به  NodeJS و زبان برنامه‌نویسی چند پلت‌فرمی نسبتاً جدید به نام Nim نفوذ کرده و برای تکمیل آلودگی‌اش خود را جای لودر می‌گذارد. ما نام این تروجان تازه‌کشف‌شده خود را Coyote گذاشتیم و دلیلش هم این بود بود که کایوت‌ها[1] در طبیعت خود، سنجاب‌ها را شکار می‌کنند. زبان Nim خود را زبان برنامه‌ریزی سیستم‌های کامپایل‌شده و به لحاظ ایستا تایپ‌شده‌ای شرح می‌دهد که مفاهیم زبان‌های بالغ را مانند پیتون، آدا و مادولا به طور موفقیت‌آمیزی ترکیب می‌کند. اتخاذ این زبان چند پلت‌فرمه کمتر محبوب توسط مجرمان سایبری چیزی است که ما در بین مجرمان سایبری «ترند» می‌پنداریم و این ترند در سال 2024 بین تروجان‌های بانکی خواهد بود. در این مقاله ساز و کار زنجیره عفونت و قابلیت‌های این تروجان را مورد بررسی قرار داده‌ایم. با ما همراه باشید.

Delphi و MSI قدیم را فراموش کنید

در چشم انداز تروجان بانکی، استفاده از زبان دلفی یا نصب کننده ‌های MSI یک روند تکراری در میان سازندگان بدافزار است. این یک واقعیت شناخته شده در جامعه امنیت سایبری است که این روش به عنوان ناقل عفونت اولیه به طور گسترده مورد استفاده قرار می‌گیرد. کایوت کارها را کمی متفاوت انجام می‌دهد. به جای رفتن به مسیر معمول با نصب کننده‌های MSI، ابزار نسبتا جدیدی را برای نصب و به روزرسانی برنامه‌های دسکتاپ ویندوز انتخاب کرد: Squirrel.  همانطور که نویسندگان توضیح می‌دهند، «Squirrel از بسته‌های NuGet برای ایجاد بسته‌های نصب و به‌روزرسانی استفاده می‌کند، به این معنی که احتمالاً از قبل بیشتر چیزهایی را که برای ایجاد یک نصب‌کننده نیاز دارید، می‌دانید».

اسکریپت لودر Node.js

هنگامی که Squirrel اجرا می‌شود، در نهایت یک برنامه NodeJS را اجرا می‌کند که با Electron کامپایل شده است. این برنامه کد جاوا اسکریپت مبهم preload.js)  ) را اجرا می‌کند که وظیفه اصلی آن کپی کردن همه فایل های اجرایی موجود در یک فولدر لوکال به نام temp در فولدر ضبط کاربر داخل فولدر Videos است. سپس یک برنامه امضا شده از آن دایرکتوری را اجرا می‌کند.

چندین فایل اجرایی در حال استفاده شناسایی شده‌اند، از جمله موارد مرتبط با Chrome و OBS Studio.  بانکر از طریق بارگذاری جانبی DLL یک وابستگی از این فایل های اجرایی بارگذاری می‌شود. در تمام مواردی که توسط تیم ما تحلیل شده است، بارگذاری جانبی DLL در آرشیو libcef.dll رخ می دهد.

لودر Nim

یکی از عناصر جذاب زنجیره عفونت، استفاده از Nim، زبان برنامه نویسی نسبتاً جدید، برای بارگذاری مرحله نهایی است. هدف لودر باز کردن یک فایل اجرایی دات نت و اجرای آن در حافظه با استفاده از CLR است. این بدان معناست که هدف لودر بارگذاری فایل اجرایی و اجرای آن در فرآیند خود، یادآور نحوه عملکرد Donut است. این نکته را هم بگوییم که همان نقطه ورودی، obs-browser-page.exe، برای راه‌اندازی مجدد هر دستگاه استفاده می‌شود و به عنوان وسیله‌ای برای پایداری عمل می‌کند.

و برسیم به تروجان بانکی کایوت

پس از تمام این مراحل، تروجان با موفقیت اجرا می‌شود. Coyote هیچ کد مبهم را پیاده سازی نکرده و فقط از مبهم‌سازی رشته با رمزگذاری AES استفاده می‌کند. برای بازیابی یک رشته خاص، روش رمزگشایی را با شاخص رشته به عنوان پارامتر فراخوان می‌کند. روش رمزگشایی با ایجاد جدولی از داده های کدگذاری شده با base64 کار می‌کند. 16 بایت اول هر آیتم داده رمزگشایی شده به عنوان IV  (بردار اولیه) عمل می‌کند و این درحالیست که بقیه داده های رمزگذاری شده هستند که بعداً در روال رمزگشایی AES استفاده می‌شوند.

کلید به طور تصادفی توسط هر فایل اجرایی تولید می‌شود و الگوریتم رمزگشایی AES از رابط‌های رمزگذاری رسمی دات نت استفاده می‌کند. با این رویکرد، برای هر دسترسی رشته‌ای که Coyote به آن نیاز دارد، در داخل جدول جستجو و هر رشته را با یک IV سفارشی رمزگشایی می‌کند.

پشتکار کایوت و اهدافش

Coyote با سوء استفاده از اسکریپت‌های ورود به سیستم ویندوز به پایداری دست می یابد. ابتدا بررسی می‌کند آیا HKCU\Environment\UserInitMprLogonScript وجود دارد یا خیر، و اگر چنین است، مقدار رجیستری را به عنوان مسیر کامل برنامه امضا شده، در این مورد، obs-browser-page.exe درج می‌کند.

هدف Coyote Trojan با رفتار تروجان بانکی معمولی سازگار است. تمام برنامه‌های باز شده در سیستم قربانی را کنترل کرده و منتظر می‌ماند تا به برنامه یا وب سایت بانکی خاص دسترسی پیدا کند.

ما در تجزیه و تحلیل خود حداقل 61 برنامه کاربردی مرتبط را شناسایی کردیم که همگی از برزیل منشا گرفته بودند. این به شدت نشان می‌دهد که Coyote در واقع یک تروجان بانکی برزیلی است که رفتاری مشابه آنچه قبلاً در پست وبلاگ Tetrade ما گزارش شده بود از خود نشان می دهد.

ارتباط و کنترل C2

هنگامی که هر برنامه مرتبط با بانکی اجرا و مورد استفاده قرار می‌گیرد، بانکدار Coyote با این اطلاعات با C2 تماس می‌گیرد. سپس C2 با اقدامات مختلف روی دستگاه، از keylogging گرفته تا گرفتن اسکرین شات، پاسخ می‌دهد. ارتباط با سرور مهاجم در قسمت های بعدی توضیح داده خواهد شد. تروجان با استفاده از کانال‌های SSL با یک طرح احراز هویت متقابل با سرور فرمان و کنترل خود ارتباط برقرار می‌کند. این بدان معناست که تروجان دارای گواهی از سرور تحت کنترل مهاجم است و از آن در طول فرآیند اتصال استفاده می‌کند. گواهی به عنوان یک منبع در قالب رمزگذاری شده ذخیره می‌شود که توسط آرشیو X509 از .Net رمزگشایی می‌شود. هنگامی که بدافزار تأیید می‌کند اتصال واقعاً با مهاجم است، اطلاعات جمع آوری شده از دستگاه آلوده و برنامه‌های بانکی را به سرور ارسال می‌کند. اطلاعات ارسال شده شامل:

  •         نام ماشین
  •         GUID تولیدشده به صورت تصادفی
  •         برنامه بانکی در حال استفاده ا

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

جمع‌بندی

کایوت میان تروجان‌های بانکی برزیلی یک نمونه متفاوت است. برخلاف همتایان خود که اغلب از زبان‌های قدیمی‌تر مانن دلفی استفاده می‌کنند، توسعه‌دهندگان کایوت در استفاده از فناوری‌های مدرن مانند Node.js، Net و تکنیک‌های پیشرفته پکیجینگ مهارت بالایی دارند. افزودن Nim به عنوان یک لودر به طراحی تروجان پیچیدگی می‌بخشد. این تکامل، پیچیدگی روزافزون در چشم‌انداز تهدید را برجسته می‌کند و نشان می‌دهد که چگونه بازیگران تهدید در حال سازگاری و استفاده از جدیدترین زبان‌ها و ابزارها در کمپین‌های مخرب خود هستند. داده‌های تله‌متری ما نشان می‌دهد که تا 90 درصد عفونت‌ها از برزیل منشأ گرفته‌اند. همه محصولات Kaspersky تهدید را به عنوان HEUR:Trojan-Banker.MSIL.Coyote.gen شناسایی می‌کنند.

شاخص‌های دستکاری

مبتنی بر میزبان (هش MD5)

03 eacccb664d517772a33255dff96020
071b6efd6d3ace1ad23ee0d6d3eead76
276f14d432601003b6bf0caa8cd82fec
5134e6925ff1397fdda0f3b48afec87b
bf9c9cc94056bcdae6e579e724e8dbbd

لیست دامنه C2

atendesolucao[.]com
servicoasso[.]com
dowfinanceiro[.]com
centralsolucao[.]com
traktinves[.]com
diadaacaodegraca[.]com
segurancasys[.]com

 

 

[1]پستانداری از راستهٔ گوشت‌خواران، ردهٔ سگ‌سانان است. این جانور بومی آمریکای شمالی و مرکزی است. کایوت خز قهوه‌ای-زرد (دشتی) یا قهوه‌ای-خاکستری (کوهی) دارد. خز زیر شکم جانور سفید رنگ است. بینی سیاه و چشم‌هایی زرد با دمی پشمالو دارد.

موارد اخیر

برترین ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *