تحلیل تیم شکار تهدید Symantec نشان می‌دهد عاملان تهدید از محیط اجرای معتبر Node.js برای استقرار بارهای مخرب در حملات هدف‌مند علیه وزارتخانه‌ها، شرکت‌های فناوری و زنجیره هتل‌ها سوءاستفاده کرده‌اند.

چرا Node.js هدف قرار گرفت؟

مهاجمان از فایل اجرایی امضاشده node.exe به‌عنوان یک runtime قانونی استفاده می‌کنند تا اسکریپت‌های تفسیرشدهٔ مخرب را اجرا کنند. اجرای کد به‌صورت اسکریپتِ تفسیرشده تشخیص مبتنی بر امضا را ناکارآمد می‌کند و ایجاد یک مقدار Run در رجیستری امکان پایداری و فعال‌سازی مجدد payload در هر ورود کاربر را فراهم می‌آورد. این ترکیب، سوءاستفاده از Node.js را در حملات هدف‌مند جذاب می‌سازد.

نمونه‌های ثبت‌شده و زنجیرهٔ حمله

در یک رخنه بین 23 مارس و 25 ژوئیهٔ 2026، مهاجمان نسخهٔ رسمی Node.js را از سایت رسمی دانلود و از runtime معتبر برای استقرار یک ایمپلنت مخرب و حفظ دسترسی بلندمدت استفاده کردند. در این زنجیره از تکنیکی با نام EtherHiding برای بازیابی زیرساخت فرمان‌و‌کنترل بهره برده شد.

شیوه‌های اولیه و تغییر تاکتیک

  • نفوذ اولیه غالباً با مهندسی اجتماعی از نوع ClickFix حاصل شده بود.
  • پس از ناکامی در استقرار AdaptixC2 و بیکن‌های Cobalt Strike، مهاجمان به استفاده از Node.js روی آوردند تا از راهکارهای تشخیص متداول فرار کنند.
  • در یکی از حملات به شرکت فین‌تک، روش فوق راه را برای استقرار C2Looper (بک‌دور مبتنی بر Rust) هموار ساخت؛ نصب C2Looper بیش از دو ماه پس از رخدادهای اولیه ثبت شد و شواهد روشنی از حرکت جانبی یا سرقت اعتبارنامه در آن زمان مشاهده نشد.

ابزارها و بازیگران مرتبط

تحقیقات Symantec و دیگر مراکز پژوهشی ابزارهای متعددی را مرتبط با این زنجیره‌ها شناسایی کرده‌اند، از جمله:

  • ModeloRAT و Mistic (MLTBackdoor) — مرتبط با یک کارگزار دسترسی اولیه که با نام‌های KongTuke یا Woodgnat شناخته می‌شود.
  • AsukaStealer نسخهٔ Node.js، EtherRAT و ابزارهای خط‌فرمان و ابزارهای بومی مایکروسافت.
  • GateKeeper؛ payload مبتنی بر .NET با لایه‌های رمزنگاری و منطق اثرانگشت‌گیری از قربانی.
  • افزونهٔ مخرب کروم NexShield که در واریانت ClickFix به‌کار گرفته شده است.

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

ClickFix، بلاک‌چین و نقاط ضعف دفاعی

کمپین‌های مبتنی بر ClickFix از سایت‌های تزریق‌شده برای نمایش گام‌های تأیید جعلی (مانند CAPTCHA) بهره می‌گیرند و از بلاک‌چین‌های عمومی مانند Polygon به‌عنوان دفترچهٔ آدرس پویا استفاده می‌کنند. به‌کارگیری آدرس‌های C2 مبتنی بر دفترچهٔ توزیع‌شده باعث می‌شود سد کردن یک دامنه یا آدرس IP به‌تنهایی ناکافی باشد؛ زیرساخت‌های C2 به‌صورت زمان‌واقع (dynamic) و مقاوم در برابر مسدودسازی نگهداری می‌شوند.

راهبردهای دفاعی برای سازمان‌ها و تیم‌های امنیتی

توصیه‌های عملی و اولویت‌بندی‌شده برای کاهش ریسک سوءاستفاده از Node.js:

  • نظارت روی node.exe و اسکریپت‌ها: اجرای node.exe را ثبت، هش‌گذاری و با ابزارهای رفتارمحور تحلیل کنید تا اجرای اسکریپت‌های غیرمعمول شناسایی شود.
  • محدودیت نصب و اجرای باینری‌های امضا شده: سیاست‌های نصب نرم‌افزار را سخت‌گیرانه کنید و فقط نسخه‌های موردنیاز و کنترل‌شدهٔ runtimeها را مجاز بدانید.
  • پایش رجیستری و مکانیزم‌های پایداری: تغییرات در کلیدهای Run و سایر مکانیزم‌های persistence را مستمر نظارت و هشداردهی کنید.
  • فیلترهای خروجی و تحلیل ترافیک: تعامل با زیرساخت‌های C2 پویا را از طریق بررسی ترافیک رمزگذاری‌شده، نمایشگرهای DNS مبتنی بر رفتار و فیلترهای خروجی دقیق شناسایی و مسدود کنید.
  • کنترل دسترسی و احراز هویت قوی: کنترل‌های چندعاملی، بازبینی دوره‌ای امتیازات و تفکیک وظایف را اعمال کنید تا از تثبیت طولانی‌مدت footholdها جلوگیری شود.
  • آموزش و تست عملی: سناریوهای مهندسی اجتماعی و تست‌های نفوذ را اجرا کنید تا نقاط ضعف فرآیندها و کاربران شناسایی شوند.

چشم‌انداز

در دسترس بودن runtime امضاشدهٔ Node.js و پذیرش گستردهٔ آن میان توسعه‌دهندگان، این محیط را به ابزار مناسبی برای بازیگران تهدید تبدیل کرده است. ترکیب تحلیل رفتار endpoint، کنترل نصب و اجرای باینری‌ها و بررسی مستمر ترافیک شبکه مهم‌ترین لایه‌های دفاعی برای مقابله با سوءاستفاده از Node.js و کاهش خطر سوءاستفاده از محیط‌های توسعه به‌عنوان کانال توزیع بدافزار است.

منابع بیشتر: صفحهٔ Node.js در ویکی‌پدیا، گزارش‌های Broadcom/Symantec و تحلیل‌های Zscaler ThreatLabz.