روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ تحول خدمات «بدافزار بهعنوان سرویس» (MaaS) باعث شده است ورود به دنیای جرایم سایبری آسانتر از گذشته شود؛ بهطوری که ابزارهای سرقت اطلاعات به یکی از موفقترین شاخههای این بازار زیرزمینی تبدیل شدهاند. در میان این تهدیدها، سارقی به نام لوماکه نخستین بار در سال ۲۰۲۲ توسط عامل تهدیدی با نام «Lumma» معرفی شد، به عنوان یکی از ابزارهای پیشرفته شناخته میشود. این بدافزار ابتدا تحت عنوان «LummaC2» به بازار عرضه شد و به سرعت در انجمنهای زیرزمینی محبوبیت یافت. قیمت اولیه آن از ۲۵۰ دلار آغاز میشد. تا مارس ۲۰۲۵، حضور این بدافزار در بازارهای دارک وب و کانالهای تلگرامی افزایش یافته و بیش از هزار مشترک فعال جذب کرده است.
تحویل لوما معمولاً مستلزم تعامل انسانی، مانند کلیک بر روی یک لینک یا اجرای دستورات مخرب است. اخیراً تیم واکنش اضطراری جهانی (GERT) در جریان بررسی رخداد در یکی از مشتریان خود، با Lumma بر روی سیستم قربانی مواجه شد. تجزیه و تحلیلها نشان داد که رخداد ناشی از فریب کاربر و اجرای یک دستور مخرب از طریق صفحه جعلی CAPTCHA بوده است. در این مقاله، بهطور مفصل به نحوه عملکرد این کمپین فریبآمیز خواهیم پرداخت و فهرستی از شاخصهای آلودگی (IoCs) کشفشده در جریان بررسی این حمله را ارائه خواهیم کرد. اگرچه پیش از این به این روش توزیع اشاره شده بود، اما اطلاعات جدیدتری در این زمینه به دست آمده است. با ما همراه باشید.
روشهای توزیع Lumma Stealer
لومای سارقاز روشهای متنوعی برای انتشار استفاده میکند که عمدتاً با تکنیکهای رایج در کمپینهای بدافزارهای سرقت اطلاعات همسو است. از جمله اصلیترین بردارهای آلودگی میتوان به ایمیلهای فیشینگ حاوی پیوستها یا لینکهای مخرب و همچنین برنامههای به ظاهر قانونی اما آلودهشده اشاره کرد. این روشهای فریبنده باعث میشوند کاربران به صورت ناخواسته بدافزار را اجرا کنند که در پسزمینه، دادههای ارزشمند را جمعآوری میکند. علاوه بر این، مشاهده شده است که Lumma از کیتهای اکسپلویت، مهندسی اجتماعی و وبسایتهای آلوده نیز برای گسترش خود و دور زدن راهکارهای امنیتی بهره میبرد.
در این مقاله، تمرکز اصلی بر روش توزیع از طریق CAPTCHA جعلی خواهد بود. این روش شامل صفحات جعلی تأیید هویت است که ظاهرشان شبیه به سرویسهای معتبر (مانند Google reCAPTCHA یا Cloudflare CAPTCHA)طراحی شده و اغلب بر روی پلتفرمهایی با استفاده از شبکههای تحویل محتوا (CDN) میزبانی میشوند. هدف این صفحات فریب کاربران و القای حس اعتماد برای اجرای دستورهای مخرب است.
روشهای استفاده از منابع برای ترویج صفحات جعلی CAPTCHA
مهاجمان برای ترویج صفحات جعلی CAPTCHA از دو دسته منبع بهره میبرند:
۱. وبسایتهای دارای محتوای دزدی، محتوای بزرگسالان و نرمافزارهای کرکشده:
مهاجمان نسخهای جعلی از این وبسایتها ایجاد کرده و در آن تبلیغات مخربی تزریق میکنند. این تبلیغات کاربران را به صفحات جعلی CAPTCHA هدایت میکنند.
۲. کانالهای جعلی تلگرام برای محتوای دزدی و ارزهای دیجیتال:
مهاجمان کانالهایی در تلگرام ایجاد میکنند که در نام آنها از کلمات کلیدی مرتبط با ارزهای دیجیتال یا محتوای دزدی، مانند نرمافزارها و فیلمها، استفاده شده است. این کانالهای جعلی در نتایج جستجو بالاتر ظاهر میشوند. علاوه بر این، مهاجمان از طریق پستهای شبکههای اجتماعی، قربانیان را به سمت این کانالها جذب میکنند. پس از عضویت کاربر در این کانالها، از وی خواسته میشود با استفاده از یک ربات جعلی به نام "Safeguard Captcha" فرآیند تأیید هویت را تکمیل کند.
نحوه عملکرد صفحه CAPTCHA جعلی
کاربران با صفحهای پاپآپ روبهرو میشوند که ظاهری شبیه به فرآیند تأیید هویت استاندارد CAPTCHA دارد و از آنها خواسته میشود روی دکمههایی نظیر «من ربات نیستم»، «تأیید» یا «کپی» کلیک کنند. اما در همین نقطه، روند فریب آغاز میشود.
محتوای مخرب صفحه جعلی
با کلیک بر روی دکمه مذکور، به کاربر دستور داده میشود یک سری اقدامات غیرمعمول انجام دهد:
- باز کردن پنجره Run با کلیدهای Win+R
- فشردن کلیدهای Ctrl+V
- فشردن کلید Enter
در پشتصحنه، کلیک بر روی دکمه باعث میشود یک دستور PowerShell مخرب به طور خودکار در کلیپبورد کاربر کپی شود. زمانی که کاربر این دستور را در پنجره Run پیست کرده و Enter را میزند، سیستم دستور مخرب را اجرا میکند.
این دستورات، بسته به سایت و زمان، ممکن است کمی متفاوت باشند و هر چند روز تغییر کنند. هدف اصلی این دستورات، دانلود بدافزارلومای سارقاز یک سرور راه دور است. این سرورها معمولاً شامل شبکههای تحویل محتوا (CDN) با دوره آزمایشی رایگان یا پلتفرمهای قانونی میزبانی کد مانندگیتهابهستند. پس از دانلود، فرآیند نصب بدافزار آغاز میشود.
عملکرد اسکریپت مخرب
اسکریپت مخرب اقداماتی زنجیرهای را برای نصب بدافزار انجام میدهد که شامل مراحل زیر است:
۱. دانلود بدافزار:
اسکریپت فایل win15.zip را از نشانی https[:]//win15.b-cdn[.]net/win15.zipدانلود و در مسیر [User Profile]\AppData\Roaming\bFylC6zX.zipذخیره میکند.
۲. استخراج بدافزار:
فایل ZIP دانلود شده در مسیر C:\Users\[User]\AppData\Roaming\7oCDTWYuکه یک پوشه مخفی در دایرکتوری AppData کاربر است، استخراج میشود.
۳. اجرای بدافزار:
اسکریپت فایل Set-up.exeرا از آرشیو استخراج شده و در مسیر C:\Users\[User]\AppData\Roaming\7oCDTWYu\Set-up.exeاجرا میکند.
۴. ایجاد مکانیسم ماندگاری:
برای اطمینان از اجرای بدافزار در هر بار راهاندازی سیستم، اسکریپت یک کلید جدید در رجیستری ویندوز ایجاد میکند. این کلید در مسیر HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Runافزوده شده و نام آن 5TQjtTuoاست که به فایل Set-up.exeاشاره میکند.
پیچیدگیهای احتمالی در تحویل بدافزار
در برخی موارد، مکانیزم تحویل بدافزار پیچیدهتر میشود. به عنوان مثال، اسکریپت تحویلی میتواند یک کد JavaScript باشد که درون فایلی با ظاهر یک فایل صوتی .mp3مخفی شده است. همچنین فرمتهای دیگری مانند .mp4یا .pngنیز به کار رفتهاند. این فایلها ممکن است علاوه بر کد JavaScript، شامل یک فایل صوتی/تصویری خراب، کد نرمافزاری معتبر یا دادههای تصادفی باشند.
اجرای این کد از طریق دستور mshta انجام میشود که فایل را به عنوان یک فایل برنامه HTML (HTA) پردازش کرده و هر کدی درون برچسب <script>را اجرا میکند. این روند باعث زنجیره آلودگی زیر میشود:
لایه اول
اسکریپت JavaScript داخل فایل .mp3توسط mshtaاجرا میشود.
لایه دوم
پس از محاسبه مقدار متغیر Kwb، اسکریپت بعدی به دست آمده و از طریق تابع evalاجرا میشود.
لایه سوم
در این مرحله، پس از محاسبه مقادیر متغیرهای kXNو zzI، فرمان نهایی ActiveX ساخته شده و اجرا میشود. این فرمان حاوی یک اسکریپت رمزگذاریشده PowerShell است که در متغیر $PBwRقرار دارد.
لایه چهارم
پس از رمزگشایی اسکریپت PowerShell، مشخص شد که هدف اصلی آن دانلود و اجرای یک فایل PowerShell دیگر از مسیر کنترل و فرمان (C2) به نشانی hXXps://connect[.]klipfuzj[.]shop/firefire[.]pngاست.
تحلیل فایل firefire.png
این فایل، یک اسکریپت PowerShell حجیم (حدود ۳۱ مگابایت) است که با چندین لایه اختفا (obfuscation) و ضد دیباگ محافظت شده است.
کلید رمزگشایی این فایل خروجی دستور Invoke-Metasploitاست که در صورت فعال بودن سامانه محافظت از اسکریپتهای مخرب (AMSI)، مسدود میشود. در این حالت، خطای AMSI_RESULT_NOT_DETECTEDایجاد میشود که بهعنوان کلید رمزگشایی مورد استفاده قرار میگیرد. در صورت غیرفعال بودن AMSI، بدافزار قادر به رمزگشایی اسکریپت نخواهد بود.
اسکریپت PowerShell رمزگشاییشده حدود ۱.۵ مگابایت حجم دارد و هدف اصلی آن ایجاد و اجرای یک فایل اجرایی مخرب است.
روشها و تکنیکهای آلودگی لومای سارق
بدافزار لوما در دنیای واقعی با استفاده از روشهای گوناگون انتشار مشاهده شده است. در این میان، دو تکنیک اصلی برجسته هستند:
بارگذاری جانبی DLL
بارگذاری جانبی DLL یکی از روشهای شناختهشدهای است که در آن کتابخانههای پیوند دینامیک مخرب (DLL) توسط یک نرمافزار قانونی بارگذاری میشوند. این تکنیک از آسیبپذیریها یا پیکربندیهای نادرست در نرمافزارها سوءاستفاده میکند که منجر به بارگذاری DLLها از مسیرهای غیرمطمئن میشود. مهاجمان با قرار دادن DLL آلوده در همان مسیر نرمافزار مورد اعتماد، باعث میشوند فایل مخرب همراه با اجرای نرمافزار بارگذاری شود. از آنجا که این DLL در بستر یک فرآیند مورد اعتماد اجرا میشود، شناسایی آن توسط راهکارهای امنیتی سنتی بسیار دشوار است.
تزریق محتوای مخرب به بخش Overlay نرمافزار
روش دیگر، تزریق محتوای مخرب به بخش Overlay یک نرمافزار رایگان است. بخش Overlay معمولاً برای افزودن قابلیتهای جانبی مانند نمایش رابط گرافیکی یا مدیریت رویدادهای ورودی استفاده میشود. مهاجمان با تغییر این بخش میتوانند بدون اختلال در عملکرد عادی برنامه، کد مخرب را تزریق کنند. این روش باعث میشود نرمافزار همچنان قانونی به نظر برسد، در حالی که کد مخرب در پسزمینه اجرا میشود. همچنین این تکنیک به بدافزار کمک میکند تا از دید ابزارهای امنیتی که بر پایش سطح سیستم تمرکز دارند، پنهان بماند.
هر دو روش، با سوءاستفاده از اعتماد کاربران به نرمافزارهای قانونی، احتمال موفقیت آلودگی را افزایش میدهند و میتوانند با تکنیکهای دیگری مانند فیشینگ یا بستههای نرمافزاری تروجانشده ترکیب شوند تا دامنه انتشار Lumma Stealer گستردهتر شود.
تحلیل نمونه
برای نمایش نحوه عملکرد نصبکنندههایلوماو اثرات آن بر سیستمها و امنیت دادهها، یک نمونهی واقعی از یک حادثه در مشتری مورد بررسی قرار گرفته است. این نمونه از تکنیک تزریق به بخش Overlay استفاده میکند. شرح زنجیره آلودگی و تکنیکهای بهکاررفته در این نمونه به شرح زیر است:
اجرای اولیه و آرشیو خوداستخراجشونده (SFX)
بار اولیهی مخرب در قالب فایلی با نام ProjectorNebraska.exeتحویل داده میشود که شامل یک فایل قانونی معیوب و بدافزار تزریقشده در بخش Overlay است. پس از اجرای فایل توسط قربانی، آرشیوی از نوع خوداستخراجشونده (SFX) اجرا میشود. این آرشیو مرحلهی بعدی آلودگی را شامل میشود: یک نصبکننده NSIS.
اجزای نصبکننده NSIS
نصبکننده NSIS چندین مؤلفه ضروری برای اجرای بدافزار را استخراج میکند که نقش کلیدی در پیشبرد فرآیند آلودگی دارند.
اجزای AutoIt و اسکریپت Batch مخفیشده
در این نمونه از حمله، نصبکننده NSIS چندین مؤلفه را استخراج میکند که شامل اجزای AutoIt و یک اسکریپت Batch مخفیشده به نام Hose.cmdاست. این اجزا شامل موارد زیر میشوند:
- قطعات یک فایل اجرایی قانونی AutoIt:
قطعات یک فایل اجرایی واقعی AutoIt روی سیستم قربانی رها میشود و در طول فرآیند آلودگی مجدداً مونتاژ میگردد.
- اسکریپت AutoIt کامپایلشده:
این اسکریپت کامپایلشده عملکرد اصلی Lumma Stealer را در بر دارد، از جمله سرقت اطلاعات کاربری و استخراج دادهها.
این مؤلفهها در ادامه توسط اسکریپت Batch به یک فایل اجرایی نهایی تبدیل شده و اجرا میشوند.
عملکرد اسکریپت Batch
اسکریپت Hose.cmdوظایف زیر را انجام میدهد:
فرار از شناسایی محصولات امنیتی
- اسکریپت با استفاده از دستور tasklistبررسی میکند که آیا نرمافزارهای امنیتی مانند SecureAnywhereیا Quick Heal AntiVirusفعال هستند یا خیر. در صورت شناسایی، اجرای خود را با دستور ping -n 198 localhostبه تأخیر میاندازد. این تکنیک برای گمراه کردن محیطهای سندباکس طراحی شده است، زیرا محیطهای سندباکس معمولاً پیش از تکمیل فرآیند پینگ متوقف میشوند.
- همچنین اسکریپت وجود آنتیویروسهایی مانند Avast، AVG، McAfee، Bitdefenderو Sophosرا بررسی میکند. اگر یکی از این محصولات یافت شود، نام فایل اجرایی AutoIt همان AutoIt3.exeباقی میماند. در غیر این صورت، به Suggests.pifتغییر داده میشود.
آمادهسازی محیط و تدارک Payload
- اسکریپت متغیرهای محیطی لازم برای فایل اجرایی AutoIt و Payload نهایی را تنظیم میکند.
- دایرکتوری کاری با نام 195402در پوشه Temp ایجاد میشود تا اجزای مخرب در آن ذخیره شوند.
اختفا و استخراج
- فایل Sitting از نصبکننده NSIS استخراج شده و با حذف رشتهی OptimumSlipProfessionalsPerspectiveبه عنوان Suggests.pifذخیره میشود.
- سپس با استفاده از دستور copy /b، فایل Suggests.pif با یک مؤلفه دیگر از نصبکننده به نام Oclcترکیب شده و مجدداً به عنوان Suggests.pif ذخیره میشود.
مونتاژ Payload
- اسکریپت چندین فایل دیگر از نصبکننده مانند Italy، Holmes، Trueو غیره را به یکدیگر متصل کرده و فایل نهایی به نام h.a3x (یک اسکریپت AutoIt)ایجاد میشود.
اجرای Lumma Stealer
- در نهایت، اسکریپت فایل Suggests.pifرا اجرا میکند که موجب اجرای فایل h.a3xو شروع به کار نسخهی مبتنی بر AutoIt ازلومامیشود.
تحلیل اسکریپت AutoIt
در فرآیند تحلیل، از ابزار AutoIt Extractorبرای دیکامپایل و استخراج اسکریپت از فایل h.a3xاستفاده شد. این اسکریپت به شدت مبهمسازی شده بود و نیاز به فرآیندهای اضافی برای پاکسازی و قابل تحلیل شدن داشت. در تحلیل نهایی، رفتار بارگذار AutoIt شناسایی و بررسی شد.
بررسیهای ضدتحلیل
در ابتدای اجرای اسکریپت، محیط اجرا به منظور شناسایی ابزارهای تحلیل یا محیطهای سندباکس بررسی میشود. این بررسی شامل کنترل نام رایانهها و نامهای کاربریای است که معمولاً در محیطهای تست و تحلیل استفاده میشوند.
پس از آن، فرآیندهای مربوط به آنتیویروسهای معروف شناسایی میشود.
در صورت کشف هر یک از این شرایط، اسکریپت اجرای خود را متوقف میکند تا از شناسایی توسط ابزارهای امنیتی جلوگیری کند.
اجرای شلکد بارگذار
در صورتی که بررسیهای ضدتحلیل با موفقیت پشت سر گذاشته شود، اسکریپت به صورت پویا شلکد مناسب با معماری سیستم (۳۲ یا ۶۴ بیتی) را از متغیر $vinylcigaretteauانتخاب میکند.
برای این کار، حافظه اجرایی تخصیص داده شده و شلکد در آن تزریق میشود. سپس این شلکد محیط اجرای لازم را راهاندازی کرده و آمادهسازی برای بارگذاری مرحله دوم انجام میشود.
پردازش بارگذاری مرحله دوم
پس از اجرای شلکد اولیه، اسکریپت بارگذاری مرحله دوم را که در متغیر $dayjoyقرار دارد پردازش میکند.
این بارگذاری با استفاده از الگوریتم رمزنگاری RC4 و کلید ثابت 1246403907690944رمزگشایی میشود.
پس از رمزگشایی، محتوا با استفاده از الگوریتم فشردهسازی LZNT1 از حالت فشرده خارج میشود.
اجرای نهایی پیلود
در پایان، بارگذاری $dayjoyمستقیماً در حافظه اجرا میشود. برای این کار، اسکریپت از تابع DllCallAddressبرای فراخوانی مستقیم بارگذاری در حافظه تخصیصیافته استفاده میکند.
این روش موجب میشودپیلودبدون نیاز به نوشتن روی دیسک اجرا شده و بدین ترتیب احتمال شناسایی آن توسط ابزارهای امنیتی به حداقل برسد.
پیلودنهایی شامل بدافزار اصلی Lumma Stealer است که قابلیتهای گستردهای در سرقت اطلاعات حساس دارد، از جمله:
- سرقت اعتبارنامههای کیف پولهای رمزارز مانند Binance و Ethereum) و افزونههای مربوطهمانند MetaMask
- سرقت دادههای احراز هویت دومرحلهای (2FA) و افزونههای احراز هویت
- سرقت رمزهای عبور و کوکیهای ذخیرهشده در مرورگرها
- سرقت اعتبارنامههای ابزارهای دسترسی از راه دور مانند AnyDesk
- سرقت رمزهای ذخیرهشده در نرمافزارهای مدیریت رمز عبور مانند KeePass
- سرقت اطلاعات سیستم و نرمافزارها
- سرقت اطلاعات مالی نظیر شماره کارتهای اعتباری
ارتباط با سرورهای فرماندهی و کنترل (C2)
پس از اجرای لومای سارق، بدافزار با سرورهای فرماندهی و کنترل (C2) ارتباط برقرار کرده و دادههای سرقتشده را به زیرساختهای مهاجمان ارسال میکند.
این ارتباط معمولاً از طریق پروتکلهای HTTP یا HTTPS انجام میشود و با هدف جلوگیری از شناسایی توسط ابزارهای نظارت شبکه، در قالب ترافیک مشروع پنهان میگردد.
سرورهای C2 شناساییشده
در نمونهی تحلیلشده، دامنههای زیر که توسط بدافزار لوما برای ارتباط با مهاجمان استفاده شدهاند، شناسایی گردید:
- reinforcenh[.]shop
- stogeneratmns[.]shop
- fragnantbui[.]shop
- drawzhotdog[.]shop
- vozmeatillu[.]shop
- offensivedzvju[.]shop
- ghostreedmnu[.]shop
- gutterydhowi[.]shop
این دامنهها برای دریافت دادههای سرقتشده از سیستمهای آلوده به کار میروند. ارتباط با این سرورها عمدتاً از طریق درخواستهای POST رمزنگاریشدهی HTTP انجام میشود.
جمعبندی
بدافزارلوما به عنوان یک برنامهی مخرب با توزیع گسترده، از زنجیرهی آلودهسازی پیچیدهای بهره میبرد که شامل تکنیکهای متعدد ضدتحلیل و فرار از شناسایی است تا به طور مخفیانه دستگاه قربانی را آلوده کند.
اگرچه روشهای اولیهی آلودگی از طریق نرمافزارهای کرکشده، سایتهای مرتبط با رمزارزها و کانالهای تلگرام مشکوک، نشان میدهد که هدف اصلی این حملات کاربران عادی هستند، اما مشاهدهی Lumma در یک حادثه امنیتی مربوط به یکی از مشتریان ما نشان میدهد که سازمانها نیز میتوانند قربانی این تهدید شوند.
اطلاعات سرقتشده توسط این بدافزار ممکن است در نهایت به دست مجرمان سایبری بزرگتر، مانند گروههای باجافزار، برسد. به همین دلیل پیشگیری از آلوده شدن به این نوع بدافزارها در مراحل اولیه بسیار حیاتی است.
با درک دقیق روشهای آلودگی، متخصصان امنیتی میتوانند بهتر در برابر این تهدید رو به رشد دفاع کنند و راهکارهای مؤثرتری برای شناسایی و جلوگیری از آن توسعه دهند.
شاخصهای آلودگی (IoCs)
فهرست زیر شامل نشانیهای اینترنتی کشفشده در جریان تحقیقات ما است. توجه داشته باشید که مهاجمان به طور مرتب (تقریباً به صورت روزانه) نشانیهای مخرب و کانالهای تلگرامی خود را تغییر میدهند. در زمان نگارش این گزارش، IoCهای زیر غیرفعال بودند، اما همچنان میتوانند برای شناسایی تهدیدهای گذشته مفید واقع شوند.
صفحات جعلی CAPTCHA مخرب:
- seenga[.]com/page/confirm.html
- serviceverifcaptcho[.]com
- downloadsbeta[.]com
- intelligenceadx[.]com
- downloadstep[.]com
- nannyirrationalacquainted[.]com
- suspectplainrevulsion[.]com
- streamingsplays[.]com
- bot-detection-v1.b-cdn[.]net
- bot-check-v5.b-cdn[.]net
- spam-verification.b-cdn[.]net
- human-test.b-cdn[.]net
- b-cdn[.]net
کانالهای تلگرامی توزیعکننده Lumma:
- t[.]me/hitbase
- t[.]me/sharmamod
کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.