ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware

ترجمه و تحلیل عمیق باج‌افزار Lynx Ransomware

مقدمه: ترجمه و تحلیل عمیق باج‌افزار Lynx Ransomware

تهدید جدید باج‌افزار Lynx Ransomware

باج‌افزار Lynx Ransomware از اواسط سال 2024 فعالیت خود را آغاز کرده و به سرعت به یکی از تهدیدات پیشرفته در حوزه بدافزارها تبدیل شد. این بدافزار تاکنون بیش از 20 قربانی در صنایع مختلف ایجاد کرده است. Lynx Ransomware پس از نفوذ، فایل‌های حیاتی سیستم را رمزگذاری کرده و پسوند ‘.lynx’ به آن‌ها اضافه می‌کند. همچنین، برای جلوگیری از بازیابی داده‌ها، کپی‌های پشتیبان و فایل‌های سایه را حذف می‌کند.

ویژگی منحصربه‌فرد Lynx Ransomware، ارسال یادداشت‌های باج‌خواهی از طریق چاپگرهای شبکه است که حمله را غیرمنتظره و چندبعدی می‌کند. تحلیل نمونه‌های اولیه نشان می‌دهد این باج‌افزار شباهت‌هایی با نسخه پیشین باج‌افزار INC دارد و احتمالاً سازندگان آن به کد منبع این بدافزار دسترسی داشته‌اند.کاربر با نام ‘rivitna2’ اولین نمونه را شناسایی کرد. بررسی پایگاه داده VirusTotal نشان داد که تنها ۲۶ آنتی‌ویروس توانستند آن را شناسایی کنند. این تعداد، نرخ تشخیص پایین و سطح تهدید بالای بدافزار را نشان می‌دهد.

ساختار فنی باج‌افزار Lynx Ransomware

Lynx Ransomware چندین ماژول اصلی دارد:

  • رمزگذاری فایل‌های حساس با الگوریتم‌های پیشرفته.

  • حذف فایل‌های پشتیبان برای جلوگیری از بازیابی اطلاعات.

  • توزیع یادداشت‌های باج‌خواهی از طریق چاپگرهای شبکه.

  • بهره‌گیری از مکانیزم‌های مشابه با نسخه‌های قدیمی باج‌افزار INC.

این ساختار به مهاجمان اجازه می‌دهد کنترل کاملی بر سیستم قربانی داشته باشند و حملات خود را به‌صورت خودکار و گسترده اجرا کنند.

روش‌های انتشار

باج‌افزار Lynx Ransomware از چندین مسیر نفوذ استفاده می‌کند:

  1. مهاجمان از حملات فیشینگ و ایمیل‌های آلوده برای نفوذ به سیستم‌ها استفاده می‌کنند.

  2. بهره‌برداری از آسیب‌پذیری‌های نرم‌افزاری.

  3. ورود از طریق شبکه‌های محلی با دسترسی کم‌امنیت.

هر یک از این روش‌ها به مهاجم امکان می‌دهد سریع‌تر به سیستم دسترسی پیدا کند و رمزگذاری فایل‌ها را آغاز کند.

شاخص‌های تهدید و شناسایی

برای مقابله با Lynx Ransomware، تحلیلگران باید شاخص‌های تهدید (IoC) را شناسایی کنند:

  • پسوند فایل جدید: .lynx

  • حذف خودکار فایل‌های پشتیبان و کپی‌های سایه

  • یادداشت‌های چاپگر با محتوای باج‌خواهی

  • ارتباط با دامنه‌ها و IPهای شناخته‌شده مهاجمان

با رصد دقیق این شاخص‌ها، سازمان‌ها می‌توانند حملات را سریع شناسایی و محدود کنند.

پیشگیری و مقابله

راهکارهای پیشنهادی برای کاهش ریسک شامل موارد زیر است:

  • استفاده از ابزارهای اختصاصی تشخیص باج‌افزار.

  • پشتیبان‌گیری منظم و جدا از شبکه اصلی.

  • آموزش کارکنان برای شناسایی ایمیل‌ها و لینک‌های مشکوک.

  • مانیتورینگ مستمر شبکه و فعالیت‌های غیرمعمول سیستم.

lynx

بررسی اجمالی — ترجمه و تحلیل عمیق باج‌افزار Lynx Ransomware

باج‌افزار Lynx Ransomware از روش‌های متنوعی برای نفوذ و تداوم حمله استفاده می‌کند. تحلیل رفتار این بدافزار به تیم‌های امنیتی کمک می‌کند تا شاخص‌های تهدید را سریع‌تر شناسایی کنند. عملکردهای کلیدی Lynx عبارت‌اند از:

  • متوقف‌سازی اجرای برنامه‌ها و سرویس‌های حیاتی سیستم.

  • بدافزار ساختار دایرکتوری‌ها را جستجو و برای یافتن فایل‌های حساس بررسی می‌کند.

  • افزایش سطح دسترسی (Privilege Escalation) جهت کسب کنترل بیشتر.

  • حذف نسخه‌های پشتیبان (Shadow Copies) برای جلوگیری از بازیابی اطلاعات.

  • رمزگذاری درایوهای متصل و پوشه‌های اشتراکی.

  • تغییر تصویر پس‌زمینه دسکتاپ به‌عنوان شاخص قفل‌شدن سیستم.

  • چاپ یادداشت‌های باج‌خواهی از طریق چاپگرهای شبکه.

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

–file رمزگذاری فایل مشخص شده
–dir رمزگذاری دایرکتوری مشخص شده
–help نمایش لیست تمام آرگومان‌ها و نحوه استفاده از آن‌ها
–verbose فعال کردن حالت مفصل (نمایش جزئیات بیشتر)
–stop-processes توقف فرآیندها از طریق RestartManager
–encrypt-network رمزگذاری اشتراک‌های شبکه
–load-drives سوار کردن حجم‌های موجود
–hide-cmd پنهان کردن پنجره کنسول (استفاده نمی‌شود)
–no-background تغییر تصویر پس‌زمینه را انجام ندهید
–no-print یادداشت را روی چاپگرها چاپ نکنید
–kill متوقف سازی فرآیندها و سرویس‌ها
–safe-mod ورود به حالت ایمن (استفاده نمی‌شود)

شاخص‌های تهدید و تحلیل باج‌افزار Lynx Ransomware

در این بخش، باج‌افزار Lynx Ransomware و عملکرد داخلی آن را بررسی می‌کنیم تا تیم‌های امنیتی با نحوه فعالیت، رمزنگاری و پردازش فایل‌های این بدافزار آشنا شوند.در انتهای مقاله، فهرستی کامل از شاخص‌های خطر (IoC) ارائه شده است تا تحلیلگران بتوانند آن‌ها را بررسی و استفاده کنند.

اجرای بدافزار

باج‌افزار اجرای خود را با فراخوانی تابع اصلی (main function) آغاز می‌کند و بر اساس پارامترهای ورودی، پرچم‌ها را تنظیم می‌کند. این پرچم‌ها تعیین می‌کنند که کدام عملیات رمزگذاری، حذف فایل‌های پشتیبان یا خاتمه فرآیندها فعال شوند.

خاتمه فرآیندهای هدف

هنگامی که مهاجم پرچم kill را فعال می‌کند، Lynx تمام فرآیندهای در حال اجرا را بررسی کرده و فرآیندهایی با نام‌های زیر را خاتمه می‌دهد:

  • sql

  • veeam

  • backup

  • exchange

  • java

  • notepad

ابتدا با فراخوانی CreateToolhelp32Snapshot و پرچم TH32CS_SNAPPROCESS، یک تصویر کامل از تمامی فرآیندهای فعال ایجاد می‌شود. سپس Process32FirstW اطلاعات اولین فرآیند را در ساختار PE ذخیره می‌کند.

باج‌افزار نام هر فرآیند (pe.szExeFile) را با آرایه‌ای از فرآیندهای هدف مقایسه می‌کند. در صورت تطابق، OpenProcess یک handle برای فرآیند ایجاد کرده و در نهایت با TerminateProcess آن را خاتمه می‌دهد.

Lynx Ransomware

تابع شمارش و مدیریت خدمات در باج‌افزار Lynx Ransomware

باج‌افزار Lynx Ransomware یک تابع اجرا می‌کند که خدمات سیستم و سرویس‌های وابسته را شناسایی، شمارش و در صورت نیاز خاتمه می‌دهد. این تابع بررسی می‌کند که آیا نام نمایش یا نام سرویس شامل یکی از کلمات کلیدی هدف است و در صورت تطابق، عملیات خاتمه را اجرا می‌کند.

دسترسی به پایگاه‌داده سرویس‌ها (Service Control Manager Database)

تابع ابتدا با استفاده از OpenSCManagerW به پایگاه داده مدیر کنترل سرویس‌ها (SCM) دسترسی پیدا می‌کند تا مجوزهای کامل برای مدیریت خدمات داشته باشد.

شمارش و بررسی خدمات

سپس، تمام خدمات سیستم شناسایی شده و اطلاعات آن‌ها در ساختاری به نام lpServices ذخیره می‌شود. تابع یک حلقه ایجاد می‌کند تا هر سرویس موجود را بررسی کند و تطابق نام آن با کلمات کلیدی هدف را شناسایی نماید.

خاتمه خدمات هدف

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

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware1

تابع Stop Services در باج‌افزار Lynx Ransomware

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

دسترسی به مدیر کنترل سرویس

تابع ابتدا با استفاده از OpenSCManagerW یک هندل به مدیر کنترل سرویس (SCM) با مجوزهای دسترسی کامل ایجاد می‌کند.

باز کردن سرویس مورد نظر

با OpenServiceW سرویس مشخص باز می‌شود و دسترسی‌های لازم شامل SERVICE_QUERY_STATUS، SERVICE_ENUMERATE_DEPENDENTS و SERVICE_STOP فراهم می‌گردد. این مرحله امکان دسترسی به اطلاعات سرویس و کنترل آن را فراهم می‌کند.

بررسی وضعیت سرویس

تابع QueryServiceStatusEx وضعیت فعلی سرویس را بررسی می‌کند تا اطلاعاتی مانند اجرا، توقف یا وضعیت سایر پارامترها دریافت شود.

خدمات وابسته متوقف می‌شوند

سرویس‌های وابسته شناسایی و شمارش می‌شوند و برای هر یک تابع stop_services به صورت بازگشتی فراخوانی می‌شود تا همه سرویس‌های مرتبط متوقف شوند.

ارسال دستور توقف

در نهایت، ControlService دستور توقف را به سرویس مورد نظر ارسال می‌کند تا عملیات خاتمه به طور کامل انجام شود.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware2
ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware3

یادداشت باج‌خواهی ابتدا با استفاده از روش Base64 رمزگشایی می‌شود و سپس به یک تابع منتقل می‌شود تا هر رخداد %id% با شناسه قربانی 66a204aee7861ae72f21b4e0 جایگزین شود.

				
					Your data is stolen and encrypted.
Your unique identificator is %id%
Use this TOR site to contact with us:
http://lynxch2k5xi35j7hlbmwl7d6u2oz4vp2wqp6qkwol624cod3d6iqiyqd.onion/login

Use this email to contact with us:
martina.lestariid1898@proton.me

Our blog
 ~ TOR Network: http://lynxbllrfr5262yvbgtqoyq76s7mpztcqkv6tjjxgpilpma7nyoeohyd.onion/disclosures
 ~ Mirror #1: http://lynxblog.net/ 
				
			
ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware4
				
					/fix performance problems
				
			

رمزگذاری فایل‌ها در باج‌افزار Lynx Ransomware

باج‌افزار Lynx Ransomware با استفاده از مکانیزم I/O Completion Port در ویندوز، محیطی چند رشته‌ای برای عملیات رمزنگاری ایجاد می‌کند تا سرعت رمزگذاری فایل‌ها را افزایش دهد.

جمع‌آوری اطلاعات سیستم

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

ایجاد پورت تکمیل I/O

باج‌افزار یک I/O Completion Port برای مدیریت عملیات‌های ورودی/خروجی ناهمزمان ایجاد می‌کند:

  • مقدار 0xffffffff نشان می‌دهد که در ابتدا هیچ هندل فایلی به پورت متصل نیست.

  • مقدار 0 مشخص می‌کند که پورت تکمیل به پورت موجود مرتبط نمی‌شود.

  • باج‌افزار کلید تکمیل را روی مقدار صفر تنظیم می‌کند و حداکثر تعداد رشته‌های همزمان را مشخص می‌سازد.

اجرای رشته‌های رمزنگاری

باج‌افزار برای هر پردازنده یک رشته ایجاد می‌کند تا عملیات تکمیل I/O را مدیریت کند. هر رشته تابع رمزنگاری را اجرا کرده و از پورت تکمیل برای همگام‌سازی استفاده می‌کند. این ساختار باعث می‌شود فرآیند رمزگذاری فایل‌ها به‌صورت همزمان و با سرعت بالا انجام شود.

ادامه تحلیل

در بخش بعدی، مقاله جزئیات تابع رمزنگاری فایل‌ها و روش‌های پردازش داده توسط باج‌افزار Lynx Ransomware را بررسی می‌کند.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware5

تابع شمارش دایرکتوری در باج‌افزار Lynx Ransomware

باج‌افزار Lynx Ransomware تابعی را برای شمارش و پردازش دایرکتوری‌ها به‌کار می‌گیرد تا فایل‌های هدف را جهت رمزگذاری آماده‌سازی کند. این تابع ابتدا تلاش می‌کند یک فایل README.txt در دایرکتوری مشخص ایجاد کند و از تابع FindFirstFileW برای یافتن اولین فایل استفاده می‌کند.

پردازش فایل‌ها

یک حلقه بر روی هر فایل و زیر دایرکتوری اجرا می‌شود. باج‌افزار نمادهای ویژه دایرکتوری مانند . و .. و همچنین نقاط بازنویسی (reparse points) را نادیده می‌گیرد.

برای هر فایل، باج‌افزار بررسی می‌کند که آیا فایل سیستمی است یا پسوندی مانند .exe, .msi, .dll, .lynx دارد. فایل‌هایی که با این معیارها مطابقت ندارند و نام آن‌ها LYNX یا README.txt نیست، در صف رمزگذاری قرار می‌گیرند.

پردازش زیر دایرکتوری‌ها

برای هر زیر دایرکتوری، باج‌افزار فراخوانی بازگشتی enum_dir را اجرا می‌کند. دایرکتوری‌های مهم سیستم مانند windows و program files به‌صورت خاص مدیریت می‌شوند تا از پردازش ناخواسته آن‌ها جلوگیری شود.

در Program Files و Program Files (x86)، باج‌افزار زیر دایرکتوری‌ها را به‌صورت جداگانه بررسی می‌کند و به دنبال پوشه‌هایی مانند microsoft sql server می‌گردد تا فایل‌ها را رمزگذاری کند.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware6
ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware67
ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware8
ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware9

آماده‌سازی تابع رمزنگاری در باج‌افزار Lynx Ransomware

باج‌افزار Lynx Ransomware برای رمزگذاری فایل‌ها از تابعی استفاده می‌کند که مراحل زیر را انجام می‌دهد:

  1. بررسی دسترسی نوشتن: تابع ابتدا بررسی می‌کند که آیا فایل هدف مجوز نوشتن دارد یا خیر.

  2. افزایش سطح دسترسی (در صورت نیاز): اگر فایل مجوز نوشتن نداشته باشد، باج‌افزار تلاش می‌کند سطح دسترسی خود را افزایش دهد و مجدداً اجازه نوشتن را بررسی می‌کند.

  3. توقف فرآیندها (در صورت نیاز): در صورت فعال بودن پرچم stop_processes_flag، تابع همه فرآیندهایی را که در آن لحظه هندل باز به فایل دارند، متوقف می‌کند.

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

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware10

تابع بررسی دسترسی نوشتن در باج‌افزار Lynx Ransomware

باج‌افزار Lynx Ransomware ابتدا بررسی می‌کند که آیا می‌تواند روی فایل هدف بنویسد. تابع مربوطه مراحل زیر را اجرا می‌کند:

  1. نوشتن دادهٔ آزمایشی: بدافزار ۳۶ بایت از کاراکتر «2» را به انتهای فایل می‌نویسد.

  2. تأیید نوشتن: تابع تعداد بایت‌های نوشته‌شده را می‌خواند و بررسی می‌کند که آیا دقیقاً ۳۶ بایت ثبت شده است یا خیر. اگر بررسی موفقیت‌آمیز باشد، بدافزار دسترسی نوشتن را تأیید می‌کند.

  3. بازگرداندن مکان‌نما: تابع با SetFilePointerEx مکان‌نمای فایل را به انتهای فایل منتقل می‌کند، سپس پس از نوشتن دادهٔ آزمایشی مکان‌نما را به موقعیت قبلی بازمی‌گرداند.

  4. حذف دادهٔ آزمایشی: تابع با فراخوانی SetEndOfFile داده‌های آزمایشی را حذف می‌کند تا هیچ ردپایی از تلاش آزمایشی باقی نماند.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware11

تابع افزایش سطح دسترسی در باج‌افزار Lynx Ransomware

اگر باج‌افزار Lynx Ransomware نتواند به فایل‌ها دسترسی نوشتن پیدا کند، تابع priv_escalation را فراخوانی می‌کند تا امتیاز SeTakeOwnershipPrivilege را برای توکن فرآیند فعال کند. این امتیاز به باج‌افزار اجازه می‌دهد مالکیت هر شیء امن در سیستم را به دست آورد و دسترسی نوشتن را برای خود فراهم کند.

مراحل اعطای دسترسی نوشتن به شکل زیر انجام می‌شود:

  1. تعیین مالکیت: تابع مالکیت فایل یا دایرکتوری را به دست می‌آورد و توصیفگر امنیتی آن را برای اعطای کنترل کامل به یک گروه مشخص تنظیم می‌کند.

  2. ایجاد SID: با استفاده از AllocateAndInitializeSid یک SID برای گروه مشخص ایجاد می‌شود.

  3. تنظیم ساختار EXPLICIT_ACCESS: مجوزهای کامل برای ACL جدید تعریف می‌شود.

  4. ایجاد ACL جدید: SetEntriesInAclW یک ACL جدید ایجاد می‌کند که مجوزها را اعمال می‌کند.

  5. تنظیم DACL: با SetNamedSecurityInfoW DACL فایل یا دایرکتوری تنظیم می‌شود.

  6. باز کردن توکن فرآیند: OpenProcessToken یک هندل به توکن فرآیند فعلی باز می‌کند.

  7. دریافت LUID برای SeTakeOwnershipPrivilege: LookupPrivilegeValueW مقدار LUID این امتیاز را می‌گیرد.

  8. فعال‌سازی امتیاز: AdjustTokenPrivileges برای فعال کردن SeTakeOwnershipPrivilege فراخوانی می‌شود.

  9. تعیین مالکیت نهایی: SetNamedSecurityInfoW مالکیت فایل یا دایرکتوری را به SID مشخص شده تغییر می‌دهد.

  10. غیرفعال کردن امتیاز: AdjustTokenPrivileges امتیاز را غیرفعال کرده و توکن فرآیند را به حالت اولیه برمی‌گرداند.

  11. تنظیم مجدد DACL: SetNamedSecurityInfoW مجوزها را مجدداً اعمال می‌کند تا اطمینان حاصل شود دسترسی‌ها صحیح تنظیم شده‌اند.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware12

عملکرد خاتمه فرآیند با استفاده از مدیر راه‌اندازی مجدد در باج‌افزار Lynx Ransomware

باج‌افزار Lynx Ransomware برای رمزگذاری ایمن فایل‌ها، ابتدا هر فرآیندی را که هندل باز به فایل مورد نظر دارد، خاتمه می‌دهد. این کار از طریق API مدیر راه‌اندازی مجدد (Restart Manager) انجام می‌شود، بدون اینکه به فرآیندهای حیاتی سیستم یا Windows Explorer آسیبی برسد و تنها فرآیندهایی که دسترسی کافی برای خاتمه آن‌ها وجود دارد متوقف می‌شوند.

مراحل عملکرد تابع به شرح زیر است:

  1. آغاز جلسه Restart Manager: RmStartSession یک جلسه جدید برای مدیریت منابع باز آغاز می‌کند.

  2. ثبت منابع: با RmRegisterResources فایل مورد نظر به عنوان منبع مدیریت ثبت می‌شود.

  3. بازیابی فرآیندهای درگیر: RmGetList لیستی از فرآیندهایی که در حال استفاده از فایل هستند را جمع‌آوری می‌کند.

  4. بررسی هر فرآیند: تابع روی هر فرآیند در لیست تکرار می‌شود و از خاتمه دادن Windows Explorer و فرآیندهای حیاتی سیستم اجتناب می‌کند. همچنین بررسی می‌شود که فرآیند در حال حاضر متعلق به خود باج‌افزار نباشد و دسترسی لازم برای خاتمه آن وجود داشته باشد.

  5. خاتمه فرآیند: با فراخوانی TerminateProcess، فرآیند متوقف می‌شود و WaitForSingleObject اطمینان حاصل می‌کند که خاتمه کامل شده است.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware13

تولید و استفاده از کلیدها در باج‌افزار Lynx Ransomware

باج‌افزار Lynx Ransomware ابتدا کلید عمومی ECC را رمزگشایی می‌کند و آن را به تابع generate_aes_key منتقل می‌نماید. روند تولید کلید به صورت فعال و مرحله‌ای اجرا می‌شود:

تولید کلید AES از ECC

  1. بدافزار از منحنی نامتقارن curve25519 برای تولید یک کلید مخفی مشترک (shared secret) استفاده می‌کند.

  2. سپس این کلید مشترک را با SHA‑512 هش می‌کند.

  3. مقدار هش‌‌شده حاصل، به‌عنوان ورودی کلیدی برای AES در نظر گرفته می‌شود.

  4. برای تولید کلیدهای داخلی (round keys) الگوریتم AES، مقدار هش‌شده را به تابع AESKeyExpansion می‌فرستد.

ساختار مارکر الحاق‌شده به فایل رمزنگاری‌شده

باج‌افزار یک مارکر ۱۱۶ بایتی را در انتهای فایل رمزنگاری‌شده می‌چسباند. این مارکر شامل موارد زیر است (ترتیب و اندازه‌ها به بایت):

  • کلید عمومی ECC — ۳۲ بایت

  • SHA512(کلید عمومی ECC) — ۶۴ بایت

  • شناسه رشته‌ای "LYNX" — ۴ بایت (حروف ASCII)

  • مقدار ناشناس — 00 00 00 00 — ۴ بایت (هدف مشخص نیست)

  • اندیکاتور اندازهٔ بلوک رمزنگاری — 40 42 0F 00 — ۴ بایت (نمایانگر 1,000,000 = حدود 1MB اندازه بلوک)

  • احتمالاً مرحلهٔ بلوک رمزنگاری — 05 00 00 00 — ۴ بایت (ممکن است نشان‌دهندهٔ تعداد یا مرحله‌ای در الگوریتم باشد)

  • تعداد بلوک‌های رد شده — 01 00 00 00 — ۴ بایت (مثلاً یک بلوک 5MB رد شده است)

مجموع: ۳۲ + ۶۴ + ۴ + ۴ + ۴ + ۴ + ۴ = ۱۱۶ بایت

مقدار سوئیچ و رفتار رمزنگاری

  • بدافزار مقدار switch_value را برابر با 2 تنظیم می‌کند. این سوئیچ احتمالاً شاخصی برای انتخاب حالت یا نسخهٔ الگوریتم رمزنگاری است (مثلاً تعیین نوع پردازش بلوک یا رفتار fallback).

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware14
ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware15

تنظیم I/O غیرهمزمان و اجرای تابع رمزنگاری

در باج‌افزار Lynx Ransomware، تابع رمزنگاری فایل‌ها به‌صورت غیرهمزمان و با بهره‌گیری از پورت تکمیل I/O در ویندوز اجرا می‌شود. مراحل اصلی عملکرد به شرح زیر است:

ایجاد ساختارهای داده‌ای

تابع ابتدا تمام ساختارهای مورد نیاز برای عملیات خواندن و رمزنگاری فایل را آماده می‌کند. این ساختارها شامل بافر داده و اطلاعات مدیریت عملیات غیرهمزمان هستند.

شروع خواندن غیرهمزمان

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

ارتباط با پورت تکمیل I/O

تابع از CreateIoCompletionPort برای مرتبط کردن هندل فایل با پورت تکمیل I/O استفاده می‌کند. این مکانیزم به برنامه اجازه می‌دهد عملیات ورودی/خروجی را به‌صورت غیرهمزمان مدیریت کرده و عملکرد کارآمدتری داشته باشد.

مدیریت ساختار OVERLAPPED

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

دریافت و پردازش بسته‌های تکمیل

تابع رمزنگاری با استفاده از GetQueuedCompletionStatus بسته‌های تکمیل را دریافت می‌کند. هر بسته نشان می‌دهد که یک بخش از فایل با موفقیت خوانده شده است. سپس تابع، بر اساس مقدار switch_value در ساختار OVERLAPPED، تصمیم می‌گیرد که داده‌ها چگونه رمزگذاری شوند.

آغاز رمزنگاری

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

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware16

تابع رمزنگاری در باج‌افزار Lynx

عملیات رمزنگاری با تنظیم محیط و پارامترهای مورد نیاز آغاز می‌شود و سپس تابع به طور مداوم منتظر بسته‌های تکمیل I/O می‌ماند.

انتظار برای بسته‌های تکمیل I/O

تابع با استفاده از GetQueuedCompletionStatus منتظر دریافت بسته‌های تکمیل I/O می‌ماند. پس از دریافت هر بسته، بسته به مقدار switch_value عملیات رمزگذاری انجام می‌شود.

حالت‌های switch_value

این بخش دارای چهار حالت (case) اصلی است:

  • case 0

  • case 1

  • case 2

  • case 3

در نمونه مورد بررسی، مقدار switch_value = 2 است؛ بنابراین پردازش بر اساس case 2 انجام می‌شود، که شامل خواندن داده‌ها، تولید کلید AES-CTR و رمزگذاری بلوک‌ها می‌باشد.

این ساختار switch-case به باج‌افزار امکان می‌دهد عملیات رمزگذاری را به صورت مرحله‌ای و کنترل‌شده اجرا کند و مدیریت بلوک‌های داده و بسته‌های I/O را بهینه نماید.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware17

مدیریت شمارنده خوانده شده و بلوک‌های رمزگذاری در Lynx

باج‌افزار Lynx از read_counter برای کنترل تعداد بلوک‌های خوانده‌شده و رمزگذاری‌شده استفاده می‌کند:

  1. بررسی مقدار شمارنده:
    تابع بررسی می‌کند که آیا read_counter برابر با صفر است یا خیر.

  2. دو حالت اصلی:

    • حالت ۱ – اولین بلوک (read_counter = 0):
      این نشان می‌دهد که این اولین بلوک برای خواندن یا رمزگذاری است. در این حالت، مقدار next_enc_block_offset بررسی نمی‌شود و رمزگذاری از ابتدای فایل آغاز می‌شود.

    • حالت ۲ – بلوک بعدی (read_counter != 0):
      این نشان می‌دهد که این بلوک اول برای رمزگذاری نیست. در این حالت، مقدار next_enc_block_offset برای مشخص کردن محل بلوک بعدی که باید رمزگذاری شود، ارزیابی می‌شود.

  3. مثال کاربردی:
    باج‌افزار ابتدا ۱ مگابایت از ابتدای فایل را رمزگذاری می‌کند و سپس از آفست ۶ مگابایت، ۱ مگابایت دیگر را رمزگذاری می‌کند؛ به این ترتیب، بین این دو بخش ۵ مگابایت داده رد می‌شود.

  4. نوشتن مارکر:
    برای مدیریت صحیح پایان رمزگذاری، مارکر مخصوصی در انتهای فایل درج می‌شود تا از رمزگذاری بیش از حد و تداخل داده‌ها جلوگیری شود.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware18

بررسی پایان بلاک‌های رمزگذاری در Lynx

باج‌افزار Lynx هنگام رمزگذاری داده‌ها، از متغیر next_enc_block_offset برای مدیریت جریان بلاک‌ها استفاده می‌کند:

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

  2. تنظیم حالت پایان رمزگذاری:
    در این صورت، switch_code به مقدار ۳ تنظیم می‌شود. این حالت (case 3) نشان‌دهنده پایان رمزگذاری است؛ یعنی تمام داده‌های فایل با موفقیت رمزگذاری شده‌اند و عملیات پایان یافته است.

  3. ادامه رمزگذاری در صورت نیاز:
    اگر شرط پایان برقرار نباشد، به این معنی است که هنوز داده‌هایی برای رمزگذاری باقی مانده‌اند و باج‌افزار ادامه عملیات رمزگذاری را انجام می‌دهد.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware19

case 1:

شرط مورد نظر تعیین می‌کند که چند بایت خوانده/رمزگذاری شوند.

بیایید با یک مثال آن را بررسی کنیم.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware20

محاسبه اندازه صحیح داده‌ها برای رمزگذاری در Lynx

هنگامی که باج‌افزار Lynx داده‌ها را رمزگذاری می‌کند، باید دقت کند که مارکر الحاق‌شده در انتهای فایل (0x74 بایت) رمزگذاری نشود. در مثال زیر نحوه محاسبه اندازه دقیق داده‌ها برای نوشتن توضیح داده شده است:

مثال عملی

  • حجم کل فایل برای رمزگذاری: 6.5 مگابایت + 0x74 بایت مارکر

  • بلاک اول: 1 مگابایت رمزگذاری می‌شود.

  • بلاک دوم: از 6 مگابایت شروع به رمزگذاری می‌کند، اما تنها 0.5 مگابایت واقعی داده وجود دارد و سپس مارکر 0x74 بایت قرار دارد.

چالش: بدافزار هر بار 1 مگابایت می‌خواند، اما نباید مارکر 0x74 بایت را رمزگذاری کند.

محاسبه اندازه واقعی برای نوشتن

فرمولی که باج‌افزار استفاده می‌کند:

 
lpNumberOfBytesRead + next_enc_block_offset – filesize

با جایگذاری اعداد مثال:

  • lpNumberOfBytesRead = 0.5 مگابایت + 0x74 بایت

  • next_enc_block_offset = 6 مگابایت

  • filesize = 6.5 مگابایت

نتیجه:

 
0.5 مگابایت + 0x74 + 6 مگابایت – 6.5 مگابایت = 0x74

بنابراین اندازه مارکر از مقدار خوانده‌شده کم می‌شود و مقدار lpNumberOfBytesWritten برابر 0.5 مگابایت خواهد بود که دقیقاً همان داده‌ای است که باید رمزگذاری شود و مارکر دست‌نخورده باقی می‌ماند.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware21

مراحل نهایی رمزگذاری در باج‌افزار Lynx

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

مراحل اجرایی

  1. افزایش شمارنده بلوک‌ها (read_counter)
    تابع read_counter تعداد بلوک‌های داده‌ای که تا این مرحله خوانده و رمزگذاری شده‌اند را به‌روزرسانی می‌کند. این شمارنده کمک می‌کند تا اندازه دقیق داده‌های باقی‌مانده برای رمزگذاری محاسبه شود و عملیات به‌طور کامل پوشش داده شود.

  2. آماده‌سازی کلیدهای دور AES-CTR
    با استفاده از الگوریتم AES-CTR، کلیدهای دور برای هر بلوک داده تولید می‌شوند. این کلیدها بر اساس کلید اصلی AES و شمارنده (nonce) ایجاد می‌شوند و تضمین می‌کنند که هر بلوک داده منحصر به فرد رمزگذاری شود.

  3. تغییر نام فایل رمزگذاری شده (Case 3)
    پس از تکمیل رمزگذاری، فایل رمزگذاری شده به نام نهایی خود تغییر داده می‌شود. باج‌افزار ممکن است پسوند فایل را تغییر دهد یا نام جدیدی به آن اختصاص دهد تا تشخیص و بازیابی فایل دشوارتر شود.

  4. بستن هندل‌های باز
    تمام هندل‌های باز فایل، از جمله هندل‌های خواندن و نوشتن، بسته می‌شوند. هندل‌ها شناسه‌های عددی هستند که به منابع سیستم (مانند فایل‌ها، دستگاه‌ها یا پنجره‌ها) اشاره دارند و بستن آن‌ها تضمین می‌کند که منابع آزاد شده و عملیات فایل به درستی تکمیل شده است.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware22

رمزنگاری فایل‌ها با AES-CTR در باج‌افزار Lynx

  • باج‌افزار Lynx از الگوریتم AES-CTR برای رمزگذاری داده‌ها استفاده می‌کند و فرآیند رمزنگاری را به صورت جریان کلید (keystream) اجرا می‌کند تا هر بلوک داده به‌طور منحصر به فرد رمز شود.

    مراحل اجرایی رمزگذاری

    1. تولید جریان کلید (Keystream Generation)
      تابع رمزگذاری با استفاده از کلید اصلی AES و شمارنده (nonce) برای هر بلوک داده، یک کلید دور (round key) منحصر به فرد تولید می‌کند. این مکانیزم تضمین می‌کند که هر بخش از داده‌ها الگویی تکراری نداشته باشد و امنیت رمزگذاری افزایش یابد.

    2. ترکیب داده‌ها با جریان کلید (XOR Operation)
      هر بلوک داده‌ی خوانده شده از فایل با جریان کلید تولید شده با عملیات XOR ترکیب می‌شود. این عمل داده‌های متن ساده را به داده‌های رمز شده تبدیل می‌کند و حفاظت از اطلاعات را تأمین می‌کند.

    3. افزایش شمارنده (Nonce Increment)
      پس از رمزگذاری هر بلوک، شمارنده افزایش می‌یابد تا برای بلوک بعدی جریان کلید جدیدی تولید شود. این فرآیند، از تکرار الگوهای رمزگذاری جلوگیری کرده و مقاومت در برابر تحلیل‌های رمزنگاری را افزایش می‌دهد.

    4. نوشتن داده‌های رمزگذاری شده
      داده‌های رمزگذاری شده به جای داده‌های اصلی فایل نوشته می‌شوند و دسترسی به اطلاعات بدون کلید AES مربوطه غیرممکن می‌شود.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware23

جریان کاری رمزگذاری با AES-CTR در باج‌افزار Lynx

  • تابع رمزگذاری باج‌افزار Lynx از الگوریتم AES-CTR برای رمزنگاری فایل‌ها استفاده می‌کند. این الگوریتم یک جریان کلید (keystream) تولید می‌کند که برای هر بلوک داده منحصر به فرد است و امنیت رمزگذاری را تضمین می‌کند.

    مراحل اجرایی تابع

    1. تولید جریان کلید (Keystream Generation)
      تابع با استفاده از کلید اصلی AES و شمارنده (nonce) برای هر بلوک داده، یک کلید دور (round key) منحصر به فرد تولید می‌کند. این جریان کلید تضمین می‌کند که هر بخش از داده‌ها به صورت یکتا رمزگذاری شود و الگوهای تکراری ایجاد نشود.

    2. ترکیب داده‌ها با جریان کلید (XOR Operation)
      هر بلوک داده‌ی خوانده شده از فایل با جریان کلید XOR می‌شود. این عمل داده‌های متن ساده را به داده‌های رمز شده تبدیل می‌کند و عملیات رمزگذاری را تکمیل می‌سازد.

    3. افزایش شمارنده (Nonce Increment)
      پس از رمزگذاری هر بلوک، شمارنده افزایش می‌یابد تا برای بلوک بعدی جریان کلید جدیدی تولید شود. این مکانیزم، امنیت رمزگذاری و مقاومت در برابر تحلیل‌های رمزنگاری را افزایش می‌دهد.

    4. نوشتن داده‌های رمزگذاری شده
      داده‌های رمز شده جایگزین داده‌های اصلی در فایل می‌شوند. این مرحله تضمین می‌کند که فایل اصلی قابل دسترسی نباشد و تنها با کلید AES مربوطه قابل بازیابی است.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware24

حذف کپی‌های سایه (Shadow Copies) توسط باج‌افزار Lynx Ransomware

باج‌افزار Lynx Ransomware در گام‌های اولیه حمله تلاش می‌کند کپی‌های سایه ویندوز را حذف کند تا امکان بازیابی فایل‌ها را برای قربانیان دشوار سازد. تابع enc_del_shadow_copies این کار را برای همهٔ درایوهای موجود انجام می‌دهد و سپس دایرکتوری‌ها را برای رمزگذاری شمارش می‌کند. در صورت فعال بودن پرچم encrypt_network_flag، اشتراک‌های شبکه هم هدف‌گذاری می‌شوند.

روند اجرایی تابع

  1. اسکن حروف درایو
    تابع روی تمام حروف درایو از A تا Z تکرار می‌شود و با استفاده از GetDriveTypeW نوع هر درایو را تعیین می‌کند. درایوهای غیرقابل‌استفاده مانند CD-ROM یا درایوهای غیرفعال را رد می‌کند.

  2. ایجاد هندل به ریشه درایو
    برای هر درایو قابل‌پردازش، تابع با CreateFileW و مسیر پیشوند \\?\A:\ یک هندل به ریشهٔ درایو می‌گیرد. پیشوند \\?\ به ویندوز می‌گوید مسیر را به‌صورت literal پردازش کند و محدودیت‌های MAX_PATH را دور بزند.

  3. درخواست حذف یا کوچک‌سازی فضای Snapshot
    تابع با فراخوانی DeviceIoControl و استفاده از کد کنترل 0x53C028 (IOCTL_VOLSNAP_SET_MAX_DIFF_AREA_SIZE) تلاش می‌کند حداکثر اندازه ناحیهٔ تفاوت (diff area) را به 1 تنظیم کند؛ این عمل عملاً باعث حذف یا تضعیف کپی‌های سایه می‌شود.

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

اثرات و اهمیت دفاعی

  • حذف کپی‌های سایه به‌طور جدی توانایی بازیابی داده‌ها را کاهش می‌دهد؛ بنابراین وجود پشتیبان‌های جداسازی‌شده (offline/air-gapped backups) و سیاست‌های نگهداری نسخهٔ پشتیبان اهمیت اساسی دارد.

  • ثبت لاگ فراخوانی‌های DeviceIoControl یا رفتارهای مرتبط با IOCTL_VOLSNAP_* می‌تواند به‌عنوان شاخصی برای شناسایی فعالیت‌های مخرب عمل کند.

  • مانیتورینگ ایجاد هندل‌های غیرمعمول به ریشهٔ درایوها (\\?\X:\) و فراخوانی‌های مکرر CreateFileW/DeviceIoControl می‌تواند در تشخیص زودهنگام مفید باشد.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware25
ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware26

رمزگذاری پوشه‌های اشتراکی توسط باج‌افزار Lynx Ransomware

باج‌افزار Lynx Ransomware به‌صورت خودکار پوشه‌های اشتراکی شبکه را شناسایی و رمزگذاری می‌کند. این رفتار به مهاجمان اجازه می‌دهد دامنهٔ تأثیر خود را فراتر از نقطهٔ نفوذ اولیه گسترش دهند و به داده‌های توزیع‌شده در سراسر شبکه دسترسی پیدا کنند.

راه‌اندازی شمارش منابع شبکه

تابع ابتدا از WNetOpenEnumW برای شروع شمارش منابع شبکه استفاده می‌کند. این فراخوانی با پارامترهای زیر انجام می‌شود:

  • RESOURCE_GLOBALNET (شمارش تمام منابع شبکه)

  • RESOURCETYPE_ANY (شامل تمام انواع منابع)

  • گزینه‌های اضافی (0x13u) برای رفتار خاص شمارش

شمارش و شناسایی پوشه‌های اشتراکی

سپس تابع در یک حلقه WNetEnumResourceW را فراخوانی می‌کند تا بافر currentResource را با اطلاعات منابع پر کند و مقدار cCount را به‌روزرسانی نماید. برای هر ورودی در آرایه currentResource، تابع بررسی می‌کند که آیا نوع نمایش (RESOURCEDISPLAYTYPE_SHARE) نشان‌دهندهٔ یک پوشه اشتراکی است یا خیر. در صورت یافتن پوشهٔ اشتراکی، تابع enum_dir را برای پردازش آن پوشه فراخوانی می‌کند.

مدیریت بازگشتی منابع تو‌در‌تو

اگر یک منبع نقش «ظرف» (دارای RESOURCEUSAGE_CONTAINER) داشته باشد، تابع به‌صورت بازگشتی enc_shared_folders را فراخوانی می‌کند تا محتوای درون آن ظرف (زیرپوشه‌ها یا منابع دیگر) را نیز شمارش و پردازش کند. این مکانیزم باعث می‌شود باج‌افزار بتواند سلسله‌مراتب منابع شبکه را کاوش کند و پوشه‌های پنهان یا ساختارهای سلسله‌مراتبی را هدف قرار دهد.

نتیجهٔ عملیات

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

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware27

تابع Mount Volume

تابع Mount Volume مسئول سوار کردن حجم‌های موجود در سیستم ویندوز به حروف درایو مشخص است و اطمینان حاصل می‌کند که هیچ حرف درایوی قبلاً اشغال نشده باشد.

  1. شناسایی حروف درایو خالی
    تابع از طریق آرایه‌ای از حروف درایو، تمام حروف خالی را شناسایی می‌کند. اگر یک حرف درایو وضعیت DRIVE_NO_ROOT_DIR داشته باشد، تابع آن را برای سوار کردن یک حجم استفاده می‌کند.

  2. شمارش و بررسی حجم‌ها
    با استفاده از FindFirstVolumeW و FindNextVolumeW، تابع تمام حجم‌های موجود در سیستم را مرور می‌کند و اطلاعات مربوط به هر یک را بازیابی می‌کند.

  3. سوار کردن حجم‌ها به حروف درایو
    تابع سپس هر حجم را با استفاده از SetVolumeMountPointW به یک حرف درایو خالی اختصاص می‌دهد. آرایه lpszVolumeMountPoint لیستی از حروف درایوی را که برای سوار کردن حجم‌ها استفاده می‌شوند، در خود نگه می‌دارد.

با اجرای این مراحل، تابع Mount Volume تضمین می‌کند که تمام درایوهای موجود به سیستم متصل شده و آماده رمزگذاری یا دسترسی برنامه هستند.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware28

تابع تغییر پس‌زمینه

این تابع یک فایل تصویر موقت به نام “background-image.jpg” در پوشه موقت (temp) ایجاد می‌کند. این فایل حاوی یادداشت باج‌خواهی به صورت تصویر است و آن را به عنوان تصویر پس‌زمینه دسکتاپ تنظیم می‌کند.

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware29
ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware30

تابع Print Ransom Note

تابع Print Ransom Note باج‌افزار Lynx، یادداشت باج‌خواهی را روی چاپگرهای متصل به سیستم چاپ می‌کند. عملکرد آن به صورت زیر است:

  1. شناسایی چاپگرها
    تابع ابتدا از EnumPrintersW برای دریافت لیست تمام چاپگرهای متصل به سیستم استفاده می‌کند.

  2. فیلتر کردن چاپگرهای مجازی
    هنگام مرور چاپگرها، تابع چاپگرهای مجازی مانند Microsoft Print to PDF و Microsoft XPS Document Writer را نادیده می‌گیرد.

  3. ارسال سند به چاپگرها
    برای هر چاپگر باقی‌مانده، تابع مراحل زیر را اجرا می‌کند:

    • StartDocPrinterW برای شروع سند چاپ

    • StartPagePrinter برای آغاز یک صفحه

    • WritePrinter برای ارسال یادداشت باج‌خواهی به چاپگر

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

ترجمه-و-تحلیل-عمیق-باج‌افزار-Lynx-Ransomware31

شاخص‌های خطر (Indicators Of Compromise)

LYNX hashes:

  • eaa0e773eb593b0046452f420b6db8a47178c09e6db0fa68f6a2d42c3f48e3bc
  • 571f5de9dd0d509ed7e5242b9b7473c2b2cbb36ba64d38b32122a0a337d6cf8b
  • b378b7ef0f906358eec595777a50f9bb5cc7bb6635e0f031d65b818a26bdc4ee
  • ecbfea3e7869166dd418f15387bc33ce46f2c72168f571071916b5054d7f6e49
  • 85699c7180ad77f2ede0b15862bb7b51ad9df0478ed394866ac7fa9362bf5683

INC hashes:

  • 64b249eb3ab5993e7bcf5c0130e5f31cbd79dabdcad97268042780726e68533f
  • 508a644d552f237615d1504aa1628566fe0e752a5bc0c882fa72b3155c322cef
  • 7f104a3dfda3a7fbdd9b910d00b0169328c5d2facc10dc17b4378612ffa82d51
  • 1754c9973bac8260412e5ec34bf5156f5bb157aa797f95ff4fc905439b74357a
  • d147b202e98ce73802d7501366a036ea8993c4c06cdfc6921899efdd22d159c6
  • 05e4f234a0f177949f375a56b1a875c9ca3d2bee97a2cb73fc2708914416c5a9
  • fef674fce37d5de43a4d36e86b2c0851d738f110a0d48bae4b2dab4c6a2c373e
  • 36e3c83e50a19ad1048dab7814f3922631990578aab0790401bc67dbcc90a72e
  • 869d6ae8c0568e40086fd817766a503bfe130c805748e7880704985890aca947
  • ee1d8ac9fef147f0751000c38ca5d72feceeaae803049a2cd49dcce15223b720
  • f96ecd567d9a05a6adb33f07880eebf1d6a8709512302e363377065ca8f98f56
  • 3156ee399296d55e56788b487701eb07fd5c49db04f80f5ab3dc5c4e3c071be0
  • fcefe50ed02c8d315272a94f860451bfd3d86fa6ffac215e69dfa26a7a5deced
  • 11cfd8e84704194ff9c56780858e9bbb9e82ff1b958149d74c43969d06ea10bd
  • 02472036db9ec498ae565b344f099263f3218ecb785282150e8565d5cac92461
  • e17c601551dfded76ab99a233957c5c4acf0229b46cd7fc2175ead7fe1e3d261
  • 9ac550187c7c27a52c80e1c61def1d3d5e6dbae0e4eaeacf1a493908ffd3ec7d
  • ca9d2440850b730ba03b3a4f410760961d15eb87e55ec502908d2546cd6f598c
  • 1a7c754ae1933338c740c807ec3dcf5e18e438356990761fdc2e75a2685ebf4a
  • a5925db043e3142e31f21bc18549eb7df289d7c938d56dffe3f5905af11ab97a
  • 7ccea71dcec6042d83692ea9e1348f249b970af2d73c83af3f9d67c4434b2dd0
  • 5a8883ad96a944593103f2f7f3a692ea3cde1ede71cf3de6750eb7a044a61486
  • 1a7c754ae1933338c740c807ec3dcf5e18e438356990761fdc2e75a2685ebf4a
  • 463075274e328bd47d8092f4901e67f7fff6c5d972b5ffcf821d3c988797e8e3

تشخیص
Yara

README.txt Ransomware Note Name
.lynx Extension
Curve25519 ECC
AES_CTR Encryption
background-image.jpg Background image
				
					rule MAL_RANSOM_INC_Aug24 {
   meta:
      author = "X__Junior"
      description = "Detects INC ransomware and it's variants like Lynx"
      reference1 = "https://x.com/rivitna2/status/1817681737251471471"
      reference2 = "https://twitter.com/rivitna2/status/1701739812733014313"
      date = "2024-08-08"
      hash1 = "eaa0e773eb593b0046452f420b6db8a47178c09e6db0fa68f6a2d42c3f48e3bc" // LYNX
      hash2 = "1754c9973bac8260412e5ec34bf5156f5bb157aa797f95ff4fc905439b74357a" // INC
      score = 80
   strings:
      $s1 = "tarting full encryption in" wide
      $s2 = "oad hidden drives" wide
      $s3 = "ending note to printers" ascii
      $s4 = "uccessfully delete shadow copies from %c:/" wide

      $op1 = { 33 C9 03 C6 83 C0 02 0F 92 C1 F7 D9 0B C8 51 E8 }
      $op2 = { 8B 44 24 [1-4] 6A 00 50 FF 35 ?? ?? ?? ?? 50 FF 15}
      $op3 = { 57 50 8D 45 ?? C7 45 ?? 00 00 00 00 50 6A 00 6A 00 6A 02 6A 00 6A 02 C7 45 ?? 00 00 00 00 FF D6 FF 75 ?? E8 ?? ?? ?? ?? 83 C4 04 8B F8 8D 45 ?? 50 8D 45 ?? 50 FF 75 ?? 57 6A 02 6A 00 6A 02 FF D6 }
      $op4 = { 6A FF 8D 4? ?? 5? 8D 4? ?? 5? 8D 4? ?? 5? 5? FF 15 ?? ?? ?? ?? 85 C0 }
      $op5 = { 56 6A 00 68 01 00 10 00 FF 15 ?? ?? ?? ?? 8B F0 83 FE FF 74 ?? 6A 00 56 FF 15 ?? ?? ?? ?? 68 88 13 00 00 56 FF 15 ?? ?? ?? ?? 56 FF 15}
   condition:
      uint16(0) == 0x5A4D and
      (
         3 of ($s*)
         or 3 of ($op*)
         or (2 of ($s*) and 2 of ($op*) )
      )
}
				
			

پیوست الف - حالت‌های مختلف رمزنگاری

راهکارهای Nextron برای افزایش امنیت سایبری

Nextron در مواقعی وارد عمل می‌شود که اقدامات امنیتی سنتی ممکن است نتوانند تهدیدات را شناسایی کنند. ابزارهای forensics  دیجیتال ما تجزیه و تحلیل‌های جامع و دقیقی را بر روی سیستم‌هایی که نشانه‌های رفتار غیرعادی از خود نشان می‌دهند، انجام می‌دهند.

این ابزارها به‌خوبی نرم‌افزارهای مخرب را شناسایی می‌کنند و تهدیدهایی را که ممکن است توسط روش‌های استاندارد نادیده گرفته شوند، آشکار می‌سازند.

مجموعهٔ امضاهای ما برای تشخیص طیف گسترده‌ای از نگرانی‌های امنیتی طراحی شده‌اند. این مجموعه شامل امضاهایی برای ابزارهای هکرها، بقایای ابزارها، رفتارهای غیرعادی کاربران، تنظیمات پنهان و حتی نرم‌افزارهای مشروعی است که ممکن است برای حمله مورد سوءاستفاده قرار گیرند. رویکرد ما به‌ویژه در شناسایی تاکتیک‌های حملات زنجیره‌تأمین و کشف ابزارهایی که از سامانه‌های آنتی‌ویروس و EDR فرار می‌کنند، مؤثر است.

وبلاگ مستر لایسنس

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

small_c_popup.png

استعلام قیمت

لطفا درخواست لایسنس مورد نیاز خود را با تکمیل فرم انجام دهید.

small_c_popup.png

مشاوره تخصصی

برای شروع امروز با یک متخصص صحبت کنید!