هک اسنپ‌فود از طریق بدافزار StealC

هک اسنپ‌فود از طریق بدافزار StealC

تاریخ ایجاد

محققان گزارشی منتشر کرده‌اند که احتمالاً حمله به سیستم‌های اسنپ‌فود از طریق بدافزاری به نام StealC صورت گرفته است. در تاریخ 20 دسامبر (29 آذر)، یک مهاجم به نام irleaks اعلام کرده است که به 160,000,000 رکورد از 23 شرکت بیمه در ایران دسترسی دارد و این اطلاعات را در یکی از سایت‌های فروش داده بارگزاری کرده است.
 

لیست شرکت‌های بیمه

شکل 1: لیست شرکت‌های بیمه

داده‌هایی که در طی این حمله استخراج شده‌اند، شامل اطلاعات حساس و گسترده‌ای هستند که احتمالاً معتبر هم می‌باشند. در تاریخ 30 دسامبر (9 دی)، مهاجمی به نام irleaks اعلام کرد که توانسته است به سیستم‌های اسنپ‌فود نفوذ کند و اطلاعات زیر را از این شرکت استخراج نماید:
•    اطلاعات بیش از ۲۰ میلیون کاربر شامل نام کاربری، رمز عبور، ایمیل، نام و نام خانوادگی، شماره موبایل، تاریخ تولد و غیره
•    اطلاعات بیش از ۵۱ میلیون آدرس کاربر، شامل موقعیت GPS، آدرس کامل، شماره تلفن و  غیره.
•    اطلاعات بیش از ۱۸۰ میلیون دستگاه تلفن همراه، شامل نوع و مدل دستگاه، پلتفرم، توکن و غیره.
•    اطلاعات بیش از ۳۶۰ میلیون سفارش، شامل آی‌پی سفارش‌دهنده، آدرس دریافتی، تلفن دریافتی، شهر، مدت زمان دریافت، نام و نام خانوادگی، مشخصات فروشگاه یا رستوران، قیمت، محصول و ...
•    اطلاعات بیش از ۳۵ هزار پیک، شامل نام، نام خانوادگی، شماره تماس، کد ملی، شهر و  غیره.
•    اطلاعات بیش از ۶۰۰  هزار پرداخت سفارش، شامل نام کامل صاحب کارت، نام کامل مشتری، شماره تماس، شماره کارت، نام بانک و  غیره.
•    اطلاعات بیش از ۱۶۰ میلیون سفر انجام شده توسط پیک، شامل نام کامل مبدأ و مقصد، آدرس مبدأ و مقصد، تلفن مبدأ و مقصد، موقعیت جغرافیایی مبدأ و مقصد، تاریخ و  غیره.
•    اطلاعات بیش از ۲۴۰ هزار Vendor، شامل نام کامل، آدرس، تلفن، ایمیل، موقعیت مکانی GPS، نام مدیریت مجموعه و  غیره.
•    اطلاعات بیش از ۸۸۰ میلیون سفارش محصول
 

اطلاعات استخراج شده از اسنپ‌فود

شکل 2: اطلاعات استخراج شده از اسنپ‌فود

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

داده‌های رایانه آلوده یک کارمند

شکل 3: داده‌های رایانه آلوده یک کارمند

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

اطلاعات اعتبار اضافی مشخص شده بر روی کامپیوتر آلوده

شکل 4: اطلاعات اعتبار اضافی مشخص شده بر روی کامپیوتر آلوده

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

بدافزار StealC
بدافزارStealC، که در دسته بدافزارهای infostealer قرار می‌گیرد، برای اولین بار در تاریخ 9 ژانویه 2023 (19 دی 1401) منتشر شد. این بدافزار که بر اساس بدافزارهای معروفی همچون Vidar، Raccoon، Mars و Redline توسعه یافته است، به زبان C  نوشته شده و از توابع WinAPI استفاده می‌کند. قابلیت‌های این بدافزار شامل جمع‌آوری اطلاعات از مرورگرها، کیف پول‌های دیجیتال، پیام‌رسان‌ها مانند تلگرام، برنامه‌های ایمیل مانند Outlook و موارد دیگر است.
یکی از ویژگی‌های جالب StealC، امکان سفارشی‌سازی جمع‌آوری داده‌ها است، به این ترتیب که مهاجم می‌تواند به بدافزار بگوید که تنها اطلاعات خاصی را سرقت کند. علاوه بر این، بدافزار امکان جمع‌آوری فایل‌ها بر اساس دستورات مهاجم مانند تعیین پسوند فایل‌های مورد نظر جهت سرقت را نیز فراهم می‌کند. اطلاعات حاکی از این است که StealC همچنان در حال بروزرسانی و توسعه است.

بررسی فنی بدافزار StealC
با توجه به گزارش محققان درباره بدافزار Stealc، این بدافزار با روش‌های مشابه Vidar  و Raccoon ارتباط برقرار می‌کند و بر روی 40 سرور C2 متمرکز است. علاوه بر هدف‌گیری معمول اطلاعات مرورگر، اطلاعات افزونه‌ها و کیف‌پول‌های رمزارز را هم مورد سرقت قرار می‌دهد. Stealc همچنین دارای قابلیت سرقت فایل سفارشی است که می‌تواند به گونه‌ای تنظیم شود که هر نوع فایلی که اپراتور می‌خواهد را سرقت کند.
در تحلیل فنی این بدافزار، محققان به نقاط زیر پی بردند:
•    محققان با تحلیل و بررسی بیشتر گزارش‌ها، توانستند بیش از 40 سرور Command and Control (C2) از این بدافزار را شناسایی کنند. این موضوع نشان‌دهنده گسترده بودن استفاده مجرمان سایبری از این بدافزار است.
•    پس از اجرا، تمام رشته‌ها با الگوریتم‌های رمزنگاری RC4 و Base64 رمزگذاری می‌شوند. همچنین، تاریخ سیستم با تاریخ‌های رشته‌های هاردکد شده مقایسه می‌شود و اگر اجرا بعد از تاریخ‌های هاردکد شده باشد، اجرا متوقف می‌شود. این اقدام جهت بررسی وضعیت لایسنس برنامه است.
•    برنامه اطلاعاتی نظیر Machine Name و نام کاربری را با مقادیر هاردکد شده مانند HAL9TH و JohnDoe  مقایسه می‌کند. این اقدام به منظور شناسایی محیط‌های مجازی و سندباکس انجام می‌شود.
•    بدافزار از توابع مختلف WinAPI را به صورت داینامیک بارگذاری کرده و ارتباط اولیه خود را با سرور C2  برقرار می‌کند. این توابع با استفاده از متدهایLoadLibrary  و GetProcAddress به صورت پویا بارگذاری می‌شوند.

توضیحات داده شده نشان می‌دهد که بدافزار StealC یک فرآیند پیچیده و چندگانه دارد که مراحل مختلفی از جمع‌آوری اطلاعات تا ارسال آن‌ها به سرور C2 را پوشش می‌دهد. در ادامه، مراحل ذکر شده را به صورت دقیق‌تر مرور می‌کنیم:
•    ارتباط اولیه با سرور C2: در این مرحله، بدافزار اطلاعاتی به نام Hardware Identifier (HWID) و build name را از طریق یک درخواست POST ارسال می‌کند. این اطلاعات با استفاده از پارامترهای name="hwid" و name="build" ارسال می‌شوند. سرور نیز پاسخی را به صورت رشته Base64 ارسال می‌کند.
•    درخواست اطلاعات مرورگرها: بدافزار دستور مربوط به جمع‌آوری اطلاعات مرورگرها را با استفاده از درخواست POST به سرور C2 ارسال می‌کند. درخواست اطلاعات با پارامترهای name="token" و name="message" (message=browsers) ارسال می‌شود. سپس سرور باز هم پاسخی به صورت رشته Base64 ارسال می‌کند که شامل جزئیات مرورگرها می‌شود.
•    درخواست اطلاعات افزونه‌های مرورگرها: در این مرحله، بدافزار درخواست جمع‌آوری اطلاعات افزونه‌های مرورگرها را با استفاده از درخواست POST به سرور C2 ارسال می‌کند. این درخواست دارای پارامترهای name="token" و name="message" (message=plugins) است. سرور نیز پاسخ خود را به صورت رشته Base64 ارسال می‌کند که حاوی جزئیات افزونه‌های مرورگرها می‌باشد.
•    جمع‌آوری اطلاعات سیستم: در این مرحله، بدافزار با درخواست POST اطلاعات مختلفی از سیستم آلوده را جمع‌آوری می‌کند. اطلاعات موجود در این فایل شامل جزئیاتی از شبکه، سیستم، کاربران، برنامه‌های نصب شده و لیست پروسس‌ها می‌باشد.
•    دانلود فایل‌های DLL برای استخراج داده: در این مرحله، بدافزار از سرور C2 با استفاده از درخواست GET، 7 فایل DLL شخص ثالث قانونی را دانلود می‌کند. این DLLها به ترتیب زیر هستند:
•    استخراج فایل‌ها با پیکربندی مخصوص: در این مرحله، بدافزار فایل‌های خاصی از سیستم را با استفاده از درخواست POST و با فرمتی که در آن پارامترهایی نظیر "token"، "file_name" و "file"  وجود دارند، جمع‌آوری می‌کند. این فایل‌ها به اسم "system_info.txt" هستند و شامل اطلاعات متنوعی از سیستم آلوده می‌شوند. پارامتر "file_name" مشخص‌کننده نام فایل است و پارامتر "file" حاوی محتوای فایل به صورت بیتی (binary) است.
•    درخواست اطلاعات کیف پول: در این مرحله، بدافزار دستوری به نام "wallets" را به سرور C2 ارسال می‌کند تا نحوه‌ی جمع‌آوری اطلاعات مرتبط با کیف‌پول‌ها (wallets) را از سیستم قربانی بفهمد. این درخواست با استفاده از متغیرهای "token" و "message" و در قالب POST ارسال می‌شود.
•    درخواست اطلاعات فایل: در این مرحله، بدافزار دستوری به نام "files" را به سرور C2 ارسال می‌کند تا نحوه‌ی استخراج فایل‌ها از سیستم قربانی را دریافت کند. این درخواست نیز با استفاده از متغیرهای "token" و "message" و در قالب POST ارسال می‌شود. پس از ارسال این درخواست، سرور به صورت پیش‌فرض پاسخ را به صورت Base64 کدگذاری کرده و به بدافزار ارسال می‌کند.
•    استخراج داده‌ها با پیکربندی مخصوص: در این مرحله، داده‌هایی که بدافزار از سیستم قربانی جمع‌آوری کرده است، مشابه مرحله قبل به سرور C2 ارسال می‌شوند. این ارسال داده‌ها نیز با استفاده از متغیرهای "token" و "message" و در قالب POST انجام می‌شود.
•    جمع‌آوری اطلاعات حساس: در این مرحله، بدافزار اطلاعات حساس مرتبط با فایل‌ها و کلیدهای حساس رجیستری موردنظر، همچنین اطلاعات حساس از پنج سرویس Discord، Telegram، Tox، Outlook و Steam را از سیستم قربانی جمع‌آوری می‌کند. این اطلاعات می‌توانند شامل مواردی مانند رمزهای عبور، تنظیمات یا دیگر اطلاعات حساس باشند.
•    پایان فرآیند و پاک‌سازی: پس از جمع‌آوری تمام اطلاعات و ارسال آن‌ها به سرورC2، بدافزار یک پیام درخواست POST در قالب (name=”token”, name=”message” (done)) ارسال می‌کند. سپس، بدافزار و فایل‌های DLL دانلود شده از سرور C2 از طریق یک دستور اجرایی، پاکسازی و حذف می‌شوند.
 

تشخیص بدافزار StealC
تشخیص بدافزار Stealc و سرورهای C2 آن با استفاده از YARA Rules و ردیابی HTTP/HTML ممکن است. یک YARA Rule کمک می‌کند تا الگوهای خاصی که با Stealc مرتبط هستند، شناسایی شوند. برای تشخیص سرورهای Command and Control (C2)، می‌توان از طریق پاسخ‌های پیش‌فرض HTML و HTTP  به این سرورها استفاده کرد. بسیاری از سرورهای C2 در پاسخ به درخواست‌های HTTP با کد وضعیت 200 یک صفحه HTML  از نوع 404 Forbidden که معمولاً به عنوان یک صفحه خطای سرور Apache استفاده می‌شود، را روی پورت 80 ارائه می‌دهند. به عنوان مثال، کد HTML زیر ممکن است در این نوع صفحات نمایش داده شود.

توصیه‌های امنیتی
توصیه می‌شود کاربران کمترین تعامل را با نرم‌افزارهای کرک شده داشته باشند و تنها از وب‌سایت‌های رسمی توسعه‌دهنده برای دانلود محصولات استفاده کنند. به دلیل شناخته شدن این بدافزار از طریق ویدئوهای YouTube  که نحوه نصب نرم‌افزارهای کرک شده را توضیح می‌دهند و به وب‌سایت‌های دانلود مرتبط لینک می‌دهند، افراد باید از دانلود و استفاده از محصولات نرم‌افزاری غیرقانونی و ناامن خودداری کنند.

منابع  خبر:


[1]     https://malpedia.caad.fkie.fraunhofer.de/details/win.stealc
[2]    https://www.bleepingcomputer.com/news/security/new-stealc-malware-emerges-with-a-wide-set-of-steali…
[3]    https://cybernews.com/news/iranians-exposed-mysterious-hacker-sell-personal-data/
[4]    https://www.cynet.com/blog/static-analysis-stealc-infostealer/
[5]    https://blog.sekoia.io/stealc-a-copycat-of-vidar-and-raccoon-infostealers-gaining-in-popularity-par…