مدیران سیستم در وردپرس (WordPress) اغلب داشبورد مدیریتی خود را در همان مرورگری که برای فعالیتهای روزمره استفاده میکنند، باز نگه میدارند. یک زنجیره حمله (Attack Chain) جدید نشان میدهد که این عادت چقدر میتواند خطرناک باشد. محققان امنیتی یک لودر JavaScript را شناسایی کردهاند که منتظر میماند تا یک مدیر وارد شده (Logged-in Admin) از یک صفحه آلوده بازدید کند؛ سپس با استفاده از نشست (Session) معتبر آن مرورگر، یک بکدور (Backdoor) مخفی PHP روی وبسایت نصب میکند.
در این حمله، مهاجم نیازی به دانستن رمز عبور مدیر ندارد، زیرا خودِ مرورگر مدیر، عملیات را انجام میدهد. این الگوی حمله که با نام TRUST#GRAFT شناخته میشود، در کمپینهای اخیر بیش از ۱.۲ میلیون وبسایت را هدف قرار داده است. از آنجایی که این بدافزار تنها در زمان فعال بودن نشستهای مدیریتی فعال میشود، شناسایی آن در اسکنهای روتین بسیار دشوار است.
مراحل اجرای حمله
فرآیند سرایت با یک بررسی امنیتی جعلی آغاز میشود. اسکریپت یک فریم (Frame) تمامصفحه ایجاد میکند که شبیه به صفحه تایید Cloudflare (“Just a moment”) به نظر میرسد. در حالی که کاربر منتظر است، اسکریپت اطلاعاتی مانند اندازه صفحه، دادههای گرافیکی، منطقه زمانی و تعداد پلاگینهای نصب شده را جمعآوری کرده و بررسی میکند که آیا ابزارهای تحلیل خودکار در حال بررسی سایت هستند یا خیر.
پس از عبور از مرحله اول، اسکریپت با استفاده از کوکیهای ورود موجود در مرورگر، به صفحه آپلود افزونه (Plugin Upload) درخواست میفرستد و یک توکن امنیتی وردپرس به نام nonce را از آن صفحه میخواند. سپس یک فایل ZIP مخرب را از طریق نقطه پایانی (Endpoint) استاندارد نصب افزونه، آپلود و فعال میکند.
ماندگاری و بکدور PHP
فایل ZIP حاوی افزونهای با نام ظاهری “Web Media Optimizer” است که در واقع یک بکدور است. این افزونه کدهای JavaScript مخرب را به صفحات عمومی تزریق کرده و میتواند بررسیهای گواهی TLS را هنگام دریافت اسکریپتهای کنترلی غیرفعال کند. برای تضمین ماندگاری (Persistence)، این افزونه خود را در مسیر wp-content/mu-plugins/ کپی میکند. فایلهای موجود در پوشه mu-plugins (Must-Use Plugins) به صورت خودکار توسط وردپرس بارگذاری میشوند و در صفحه مدیریت افزونهها نمایش داده نمیشوند، که این امر پاکسازی سایت را بسیار دشوار میکند.
توصیههای امنیتی
- استفاده از یک پروفایل مرورگر مجزا (Separate Browser Profile) برای مدیریت وردپرس.
- خروج از حساب کاربری (Sign out) بلافاصله پس از انجام فعالیتهای مدیریتی.
- چرخش (Rotation) دورهای اعتبارنامههای مدیر.
- محدود کردن دسترسیهای آپلود افزونه و نظارت دقیق بر فایلهای جدید در پوشه
mu-plugins.