هزاران سایت وردپرسی که از نسخه آسیب پذیر افزونه Popup Builder استفاده میکنند توسط بدافزار Balada Injector مورد نفوذ قرار گرفتند. این کمپین برای اولین بار توسط Doctor Web (دکتر وب) در ژانویه ۲۰۲۳ مستند گردید. این کمپین در یک سری امواج حمله دورهای، توسط آسیب پذیریهای امنیتی افزونههای وردپرس برای تزریق بکدورِ طراحی شده به منظور هدایت بازدیدکنندگان سایتهای آلوده به صفحات پشتیبانی فنی جعلی، برندههای تقلبی در قرعهکشی و کلاهبرداریهای push notification مشاهده شده است.
این حملات از یک آسیب پذیری با شناسه CVE-2023-6000 (امتیاز CVSS: 8.8) در Popup Builder (افزونهای با بیش از دویست هزار نصب فعال) استفاده میکنند. این باگ در نسخه 4.2.3 برطرف شده است.
هنگامی که این آسیبپذیری با موفقیت مورد سوء استفاده قرار میگیرد، ممکن است به مهاجمان اجازه دهد هر اقدامی که administrator لاگین شده به سیستم مورد نظر، مجاز به انجام آنها است را به انجام رسانند از جمله آنها میتوان به نصب افزونههای دلخواه و ایجاد کاربران Administrator جدید در سایت اشاره کرد.
هدف نهایی این کمپین درج یک فایل جاوا اسکریپت مخرب میزبانی شده در specialcraftbox[.]com است که از آن برای کنترل وب سایت و دانلود جاوا اسکریپت بیشتر به منظور تسهیل تغییر مسیرهای مخرب استفاده میشود. علاوه بر این، عوامل تهدید در پشت Balada Injector با آپلود بکدورها، افزودن پلاگینهای مخرب و ایجاد کاربرانadministrator بیشتر، کنترل دائمی بر روی سایتهای هک شده را تضمین میکنند.
این اقدام، اغلب با استفاده از تزریق جاوا اسکریپت (یا JavaScript injection) برای نفوذ به administrator های سایتهای لاگین شده انجام میشود. ایده آن است که وقتی یک administrator وارد یک وبسایت میشود، مرورگر او حاوی کوکیهایی است که به او اجازه میدهد تا تمام وظایف مدیریتی خود را بدون نیاز به احراز هویت مجدد در هر صفحه جدید انجام دهند. بنابراین، اگر مرورگر administrator ، اسکریپتی را بارگذاری کند که سعی دارد فعالیت admin را شبیه سازی کند، تقریباً میتواند هر کاری را که می توان از طریق اینترفیس admin وردپرس انجام داد، به انجام رساند.
موج جدید حمله، از این جهت مستثنی نیست چرا که اگر کوکیهای admin لاگین شده شناسایی شوند، سطح دسترسی بالایی را برای نصب و فعال سازی یک پلاگین بکدور مخرب (Wp Felody یا wp-felody.php) استفاده میکنند تا بتوانند پیلود مرحله دوم را ازدامنه فوق الذکر (specialcraftbox[.]com) دریافت کنند.
پیلود، بکدور دیگری را تحت نام “sasas” در دایرکتوری که فایلهای temp در آن قرار دارند، ذخیره میکند و سپس آنها را اجرا و از دیسک حذف مینماید. این پیلود، تا سه سطح بالاتر از دایرکتوری فعلی را بررسی کرده و به دنبال دایرکتوری root سایت فعلی و هر سایت دیگری که ممکن است اَکانت سرور یکسان و مشترکی داشته باشند، میگردد. پیلود سپس، در دایرکتوریهای root سایت شناسایی شده، فایل wp-blog-header.php را تغییر میدهد تا همان بدافزار جاوا اسکریپت Balada را که در ابتدا از طریق آسیبپذیری Popup Builder تزریق شده بود، تزریق کند.
دفاع در برابر حملات بدافزار Balada Injection نیازمند به روزرسانی تِمها و افزونههای سایت وردپرس است. مدیران سایت میبایست محصولاتی را که دیگر پشتیبانی نمیشوند و یا در وب سایت مورد نیاز نیستند را حذف نصب کنند. محدود ساختن تعداد پلاگینهای فعال در سایت وردپرس تا حد امکان سطح حمله را کاهش میدهد و خطر نقض اسکریپتهای خودکار را به حداقل میرساند.