IPImen ، Firewall ، NGFirewall-UTM، آیپی ایمن، فایروال ایرانی ، فایروال بومی، یوتی ام بومی، یوتی ام ایرانی، فایروال نسل بعدی ایرانی، فایروال نسل بعدی بومی

۹۵۳ فروشگاه آنلاین با جاوااسکریپتی که اسکنرها را فریب می‌دهد آلوده شدند؛ اغلب روی Magento

اخبار داغ فناوری اطلاعات و امنیت شبکه

کمپینی فعال از ژوئیه ۲۰۲۵ که کد مخرب را از طریق بلوک‌های CMS بارگذاری می‌کند

یک عامل تهدید ناشناس، ۹۵۳ فروشگاه آنلاین را آلوده کرده که بیشتر آن‌ها روی Magento اجرا می‌شوند. این کمپین بلندمدت از ژوئیه ۲۰۲۵ فعال بوده است.

بر اساس گزارش شرکت هلندی امنیت تجارت الکترونیک Sansec، هدف این فعالیت افزودن یک قطعه کد کوچک به صفحات فروشگاه است که وقتی کاربران بی‌خبر از آن بازدید می‌کنند، یک بارگذار (Loader) جاوااسکریپت مخرب را از طریق بلوک‌های CMS مَجِنتو ارائه می‌دهد.


چگونه کار می‌کند؟

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

بارگذار در جدول پایگاه داده cms_block مَجِنتو قرار می‌گیرد؛ جدولی که برای رندر کردن محتوای ایستا در صفحات فروشگاه به کار می‌رود. هدف نهایی این است که با باز شدن سایت آلوده توسط خریدار و رندر شدن بلوک CMS، کد تحت کنترل مهاجم اجرا شود.

Sansec مشخص نکرده مهاجم یک بلوک موجود (مثل هدر، فوتر یا بنر تبلیغاتی) را تغییر می‌دهد یا بلوک تازه می‌سازد؛ هر دو رویکرد برای اجرای بارگذار قابل استفاده است.

دو نسخه از بارگذار

  • نسخه نخست: جاوااسکریپت خارجی بارگذاری‌شده از دامنه مهاجم، بار مخرب را در localStorage مرورگر ذخیره می‌کند؛ بنابراین کد ذخیره‌شده در بازدیدهای بعدی دوباره اجرا می‌شود، حتی اگر دامنه خارجی از دسترس خارج شود.
  • نسخه دوم: این رفتار را گسترش می‌دهد و بررسی‌های اثرانگشت مرورگر (Browser Fingerprinting) را برای حذف ربات‌ها و اسکنرهای امنیتی اضافه می‌کند تا فقط خریداران واقعی در معرض کد مخرب قرار گیرند.

ماهیت دقیق بار نهایی (Final Payload) هنوز مشخص نیست.


پنج دامنه در طول زمان

در ارتباط با این کمپین، دست‌کم پنج دامنه متمایز مشاهده شده است:

دامنهنخستین مشاهده
manulfie[.]click ژوئیه ۲۰۲۵
neswnsssn[.]click دسامبر ۲۰۲۵
lanhd6549tdhse[.]top مارس ۲۰۲۶
additionalver[.]com ژوئن ۲۰۲۶
deepveindrilling[.]com اکتبر ۲۰۲۶

Sansec اعلام کرده دامنه deepveindrilling[.]com را، از زمان ثبت آن در ۶ اکتبر ۲۰۲۶، در بلوک‌های CMS ۸۳ فروشگاه یافته است.

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

نقش Keitaro در نسخه‌های قدیمی‌تر

نسخه‌های اولیه کمپین از Keitaro، پلتفرم ردیابی و تحلیل تبلیغات، به‌عنوان سامانه توزیع ترافیک (TDS) استفاده می‌کردند تا بازدیدکنندگان را بر اساس ویژگی‌هایشان به پاسخ‌های مختلف (بار مخرب، ریدایرکت یا هیچ) هدایت کنند.

Sansec توضیح داده درخواست اسکریپت additionalver[.]com با ویژگی بازدیدکننده دسکتاپ ویندوز، پاسخ QWE=123;, را برمی‌گرداند که تنها یک کوکی تنظیم می‌کند و بازدیدکننده را ۲۴ ساعت علامت‌گذاری می‌کند. در مقابل، دامنه deepveindrilling[.]com مؤلفه Keitaro را کنار گذاشته و منطق فیلتر ربات را مستقیماً درون خود بارگذار گنجانده است.


نقطه ورود اولیه: PolyShell و SessionReaper

درباره روش دسترسی اولیه، برآورد می‌شود ۴۷۱ فروشگاه مَجِنتو از طریق آسیب‌پذیری PolyShell (با شناسه CVE-2026-48356) با بارگذار آلوده شده‌اند. ۱۰۲ فروشگاه دیگر نیز شاهد بارگذاری فایل‌هایی از طریق PolyShell یا SessionReaper (با شناسه CVE-2025-54236) بوده‌اند.

دو نمونه مشاهده‌شده

  • یک فروشگاه با Magento 2.4.7-p1: وب‌شل‌های PolyShell در پوشه pub/media/custom_options/quote/ به شکل تصاویر PNG پنهان شده بودند، در کنار بارگذار additionalver.com در یک بلوک CMS. این بلوک در ۷ اکتبر به deepveindrilling[.]com تغییر کرد. این فروشگاه هنوز وصله APSB26-73 (اصلاحیه ادوبی برای PolyShell در خطوط نسخه پشتیبانی‌شده) را ندارد.
  • یک فروشگاه با Magento 2.4.7-p10 و بدون وصله ناقص: حتی با نداشتن هیچ وصله هسته‌ای جاافتاده، فروشگاه آلوده شد؛ مهاجم یک حساب مدیر جعلی ساخت و با آن، کد را تزریق کرد.

مورد دوم نشان می‌دهد وصله‌های به‌روز، به‌تنهایی تضمین ایمنی نیستند؛ حساب‌های مدیریتی غیرمجاز و رمزهای ضعیف نیز می‌توانند مسیر نفوذ باشند.


توصیه‌های امنیتی برای مدیران فروشگاه

  • حساب‌های کاربری مشکوک را در پنل مدیریت بررسی و حساب‌های ناشناس را حذف کنید.
  • جداول cms_block و cms_page را از نظر بلوک‌ها و صفحات غیرمنتظره، به‌ویژه آن‌هایی که شامل اسکریپت یا دامنه خارجی‌اند، وارسی کنید.
  • وصله APSB26-73 (برای PolyShell) و وصله‌های مربوط به SessionReaper را اعمال کنید و فروشگاه را به‌روز نگه دارید.
  • رمزهای عبور قوی و منحصربه‌فرد و احراز هویت چندعاملی برای حساب‌های مدیر اعمال کنید.
  • پوشه‌هایی مانند pub/media/custom_options/quote/ را برای فایل‌های مشکوک (وب‌شل‌های مبدل به تصویر) بررسی کنید.
  • ارتباط با دامنه‌های فهرست‌شده را در لاگ‌ها و مرورگر کاربران مسدود و رصد کنید.
  • از اسکنرهایی استفاده کنید که رفتار مبتنی بر مرورگر واقعی را شبیه‌سازی می‌کنند؛ چون این کمپین اسکنرهای معمولی را فریب می‌دهد.

چرا این کمپین اهمیت دارد؟

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

چهارم، تنوع نقطه ورود: نه فقط آسیب‌پذیری‌های شناخته‌شده (PolyShell، SessionReaper)، بلکه حساب مدیر جعلی روی فروشگاه کاملاً وصله‌شده نیز مسیر نفوذ بوده است. و در نهایت، ماهیت بار نهایی ناشناخته است؛ این نوع تزریق‌ها در گذشته معمولاً برای سرقت اطلاعات کارت پرداخت (Magecart) به کار رفته‌اند، هرچند در این مورد خاص، گزارش بار نهایی را مشخص نکرده است.


یادداشت جانبی: نخستین بهره‌برداری موفق در دنیای واقعی از PHP2Shell

هم‌زمان با این افشا، PHP2Shell نیز مطرح شده است؛ مجموعه‌ای از دو آسیب‌پذیری بحرانی در PHP (با شناسه‌های CVE-2026-109618 و CVE-2026-109619) که پس از افشا در هفته گذشته، شاهد تلاش‌های بهره‌برداری گسترده بوده‌اند.

پژوهشگر شرکت Perplexity، عادل کریمی، چیزی را ثبت کرده که به نظر می‌رسد نخستین بهره‌برداری موفق در دنیای واقعی از این آسیب‌پذیری‌ها برای اجرای دستورات شل روی سرورهای هانی‌پات باشد. این دستورات با استفاده از wget، curl یا PHP CLI، بارهای اضافی را از یک سرور راه دور (162.35.99[.]94:80) دریافت کرده‌اند. تاکنون هیچ مصنوع مرحله دوم دانلودشده‌ای مشاهده نشده است.


جمع‌بندی

کمپین آلوده‌سازی ۹۵۳ فروشگاه آنلاین از طریق بلوک‌های CMS، نمونه‌ای از تهدیدهای صبورانه و پنهان‌کار در حوزه تجارت الکترونیک است: با دامنه‌های متغیر، فیلتر اسکنر و ربات، ذخیره در localStorage و ورود از مسیرهای مختلف. برای مدیران Magento، اقدام فوری شامل وصله کردن (به‌ویژه APSB26-73)، بازبینی حساب‌های مدیر، و بررسی جدول‌های cms_block و cms_page برای محتوای مشکوک است. چون ماهیت بار نهایی هنوز روشن نیست، فرض را بر بدترین حالت (سرقت اطلاعات خرید) بگذارید و در صورت یافتن نشانه آلودگی، پاک‌سازی کامل و بازبینی حساب‌ها و اعتبارنامه‌ها را انجام دهید.

برچسب ها: Magento Open Source, امنیت_اطلاعات, امنیت_سایبری, Cyberattack, cybersecurity, حمله سایبری, news, Sansec

چاپ ایمیل