بحران جهانی در دنیای وردپرس؛ تزریق بکدور مخفی در ۳ افزونه محبوب با ۱.۲ میلیون قربانی احتمالی!
هشدار سرخ برای مدیران وبسایتها؛ مهاجمان سایبری با نفوذ به زنجیره تامین شرکت بزرگ Awesome Motive، کدهای جاوا اسکریپت سه افزونه بسیار معروف و قابل اعتماد وردپرس یعنی PushEngage، OptinMonster و TrustPulse را دستکاری کرده و آنها را به یک اسب تروآ برای تصاحب کامل سایتها تبدیل کردهاند.
موسسه امنیتی Sansec گزارش داده است که این افزونهها در مجموع روی بیش از ۱.۲ میلیون وبسایت فعال هستند. اتاق تحلیل ۲۴ نیوز در این گزارش تفصیلی، تمام جزییات این حمله پیچیده و راههای نجات سایتها را تحلیل میکند.
مکانیزم حمله؛ هکرها چطور بدون ردپا سایت را تصاحب میکنند؟
هوشمندی و خطر اصلی این بدافزار در این است که روی کاربران عادی و بازدیدکنندگان معمولی سایت هیچ تأثیری نمیگذارد. این اسکریپت آلوده تنها زمانی فعال میشود که «مدیر اصلی سایت (Administrator) در حساب وردپرس خود لاگین کرده باشد» و در همان حال، کدهای افزونه بارگذاری شوند.
به محض اینکه مدیر سایت لاگین میکند، اسکریپت سمی از نشست فعال (Session) او سوءاستفاده کرده و با اختیارات کامل مدیر، کارهای زیر را به صورت خودکار انجام میدهد:
- ساخت حساب کاربری مخفی: یک اکانت مدیریتی جدید و کاملاً تحت کنترل هکر در وردپرس ایجاد میکند.
- نصب افزونه روح (وبشل): یک افزونه مخفی روی سرور نصب میکند که اصلاً در بخش پیشخوان (Dashboard) وردپرس نشان داده نمیشود. این افزونه یک «وبشل» (Web Shell) یا کانال فرمان از راه دور است که به هکر اجازه میدهد بدون نیاز به لاگین، هر کدی را روی سرور اجرا کند، دیتابیس را کپی کند یا اطلاعات کاربران را بدزدد.
- ارسال اطلاعات به سرور مقصد: اطلاعات ورود و مشخصات سایت قربانی را فوراً به یک دامنه جعلی به نام tidio[.]cc (که برای فریب کاربران شبیه به سایت معروف tidio.com ساخته شده) ارسال میکند.
نکته بسیار مهم: دامنه جعلی tidio[.]cc در تاریخ ۲۸ آوریل (چندین هفته قبل از شروع حمله) ثبت شده است؛ این موضوع نشان میدهد با یک سرقت ناگهانی روبهرو نیستیم، بلکه یک عملیات کاملاً برنامهریزیشده و دقیق در جریان است.
زمانبندی و میزان خطر در افزونههای مختلف
بر اساس گزارش شرکت امنیتی Sansec، هر سه افزونه متعلق به یک شرکت مادر به نام Awesome Motive هستند، اما پنجره زمانی آلودگی آنها متفاوت بوده است:
- افزونه OptinMonster وTrustPulse: این دو افزونه که بیشترین سهم بازار را دارند (اپتینمانستر به تنهایی بالای ۱ میلیون نصب فعال دارد)، خوشبختانه کمترین زمان آلودگی را داشتند. کدهای مخرب روی شبکه توزیع محتوای (CDN) آنها تنها به مدت ۲۵ دقیقه در تاریخ ۱۲ ژوئن (از ساعت ۲۲:۱۷ تا ۲۲:۴۲ به وقت UTC) فعال بود.
- افزونه PushEngage: این افزونه با اینکه حدود ۹ هزار نصب فعال دارد، اما بیشترین آسیب را دیده است. فایلهای آلوده آن (شامل pushengage-web-sdk.js و pushengage-subscription.js) چندین ساعت در تاریخ ۱۲ ژوئن روی CDN اصلی شرکت (clientcdn.pushengage.com) فعال بودند و پاکسازی کامل آنها از برخی سرورها تا تاریخ ۱۴ ژوئن طول کشیده است.
هکرها چطور وارد زیرساخت این شرکت شدند؟
در مورد نحوه ورود هکرها، دو روایت متفاوت وجود دارد که نشان میدهد فرآیند هنوز به طور کامل شفاف نشده است:
- روایت شرکت PushEngage: این شرکت مدعی است هکرها ابتدا به سرور وبسایت بازاریابی آنها نفوذ کردهاند. آنها این کار را از طریق یک آسیبپذیری شناختهشده در افزونه پشتیبانگیری معروف UpdraftPlus انجام دادهاند. هکرها روی این سرور به سیستم اصلی محصول یا دادههای مشتریان دسترسی پیدا نکردند، بلکه به یک «کلید API شبکه توزیع محتوا (CDN API Key)» دست یافتند. آنها با این کلید، بدون نیاز به هک کردن سرورهای اصلی، فایلهای ارسالی به سایتهای مشتریان را دستکاری کردند.
- دیدگاه موسسه امنیتیSansec: کارشناسان سانسک هنوز این فرضیه را کاملاً تایید نمیکنند و معتقدند منبع اصلی نفوذ هنوز به طور قطعی مشخص نیست. با این حال، کارشناسان امنیتی اشاره میکنند که افزونه UpdraftPlus اخیراً با یک باگ دور زدن احراز هویت بسیار خطرناک با کد CVE-2026-10795 (با درجه جدیّت ۸.۱ از ۱۰) مواجه بوده که اکنون وصله شده است؛ بنابراین هر سایتی که از UpdraftPlus استفاده میکند باید فوراً آن را آپدیت کند.
راهنمای گامبهگام برای وبمسترهای ایرانی (چه کاری باید انجام داد؟)
اگر سایت شما در بازه زمانی ۱۲ تا ۱۴ ژوئن ۲۰۲۶ از هر کدام از این سه افزونه استفاده میکرده است، شرکتهای امنیتی تاکید دارند که فرض را بر آلوده بودن سایت بگذارید. از آنجا که این بدافزار خود را از پیشخوان وردپرس مخفی میکند، بررسی دستی داشبورد هیچ فایدهای ندارد. باید مراحل زیر را دقیقاً اجرا کنید:
۱. بازرسی مستقیم فایلها از طریق هاست (نه وردپرس)
وارد پنل هاست (سیپنل یا دایرکتادمین) خود شوید و به مسیر wp-content/plugins بروید. به دنبال پوشههایی با نامهای زیر بگردید و در صورت وجود، فوراً آنها را حذف کنید:
- content-delivery-helper ( با نام ظاهری Content Delivery Helper)
- database-optimizer ( با نام ظاهری Database Optimizer)
۲. پاکسازی اکانتهای ادمین مشکوک
لیست کاربران بخش مدیریت را بررسی کنید. هکرها معمولاً اکانتهایی با نام developer_api1 یا هر نامی که با الگویdev_xxxxxx (مانند یک کد ۶ رقمی) ساخته شده باشد، ایجاد میکنند. آنها را فوراً حذف کنید.
( همه ادمینها رو لیست کنید
هر کدوم رو با تیم چک کنید — آیا میشناسید؟
اکانتهای ناشناس رو غیرفعال کنید (نه فوری حذف)
بعد از تایید، حذف کنید)
۳. بررسی لاگهای سرور (Server Logs)
لاگهای دسترسی وبسرور خود را در بازه زمانی ۱۲ تا ۱۴ ژوئن بررسی کنید. به دنبال هرگونه ترافیک خروجی یا درخواست به دامنه tidio.cc (بهویژه مسیرهای شامل /cdn-cgi/) یا ارتباط با آیپي مهاجم به آدرس 84.201.6.54 باشید.
۴. تغییر کامل کلیدهای امنیتی و پسوردها
اگر نشانهای از آلودگی پیدا کردید، هکر عملاً کد دسترسی روی سرور شما داشته است. بنابراین اقدامات زیر حیاتی است:
- رمز عبور تمام ادمینها را تغییر دهید.
- کدهای محرمانه و کلیدهای (Salts) را در فایلwp-config.php بازنشانی (Rotate) کنید.
- رمز عبور پایگاه داده (Database Credentials) و تمام کلیدهای API سایت را عوض کنید.
تحلیل، تدوین و هشدار سایبری: تحریریه رسانه فناوری ۲۴ نیوز