حمله زنجیره تأمین به Brevo بدافزار را به بیش از ۱۰۰ هزار وبسایت مشتریان تزریق کرد

یک حمله زنجیره تأمین به پلتفرم بازاریابی Brevo، در تاریخ ۱۴ سپتامبر، اسکریپتهای مخربی را به بیش از ۱۰۰ هزار وبسایت مشتریان تزریق کرد که بازدیدکنندگان را با کپچاهای جعلی برای اجرای بدافزار روبهرو میکرد و یک افزونه درب پشتی مخفی روی سایتهای وردپرسی که مدیرشان در آن لحظه وارد سیستم بود، میکاشت.
Brevo — که پیشتر با نام Sendinblue شناخته میشد — فرمها، ابزارکهای چت و SDKهای ایمیلی قابل تعبیه ارائه میدهد که هزاران کسبوکار مستقیماً در وبسایتهای خود بارگذاری میکنند. همین تعبیهسازی بود که یک نفوذ به یک شرکت را به حملهای با دامنه صدها هزار سایت بیارتباط تبدیل کرد: وقتی اسکریپتهای خود Brevo آلوده شدند، هر سایتی که آنها را بارگذاری میکرد، بهطور خودکار کد مخرب را نیز اجرا میکرد، بدون اینکه نیاز به نفوذ جداگانه به آن سایت باشد.
مهاجمان ابتدا با سوءاستفاده از یک آسیبپذیری در مدیریت SAML SSO شرکت Brevo، به ۱۳۸ حساب مشتری دسترسی پیدا کردند — از جمله حساب سازنده کیفپول سختافزاری ارز دیجیتال Trezor، که بعداً گزارش داد حدود ۳۴۷ هزار نفر از کاربرانش هدف قرار گرفتهاند و بیش از ۲۵۰۰ حساب بهعنوان پیامد این حمله به خطر افتادهاند. بازرسان دسترسی اولیه را به اواخر ماه اوت نسبت میدهند، اما فاز مخرب اصلی از ۱۴ سپتامبر آغاز شد، زمانی که مهاجمان با استفاده از یک کلید API کلادفلر دائمی — که با دسترسی کامل مستقیماً در کد منبع برنامه Brevo هاردکد شده بود — یک Worker مخرب کلادفلر مستقر کردند. این Worker به مدت تقریباً پنج ساعت و نیم، محتوای ارائهشده از brevo.com، sibforms.com و اسکریپتهای فرم، ابزارک و SDK شرکت را در لبه CDN بازنویسی کرد، پیش از آنکه Brevo روز بعد آن را شناسایی و حذف کند.
در آن بازه، دو بار مخرب منتشر شد. بازدیدکنندگان سایتها صفحات «ClickFix» میدیدند: درخواستهای جعلی تأیید کلادفلر که از آنها میخواست پنجره Run ویندوز را باز کرده و دستوری را در آن جایگذاری کنند — تکنیک شناختهشده مهندسی اجتماعی که در صورت اجرا، منجر به اجرای بدافزار میشود. جداگانه، هر سایت وردپرسی که در آن بازه زمانی یک مدیر وارد سیستم شده بود، افزونهای مخرب به نام «Web Media Optimizer» دریافت میکرد که خود را از فهرست افزونههای قابل مشاهده پنهان میکرد، از طریق پوشه افزونههای اجباری وردپرس بهصورت مداوم نصب میشد و شامل اطلاعات ورود هاردکدشدهای بود که به مهاجمان دسترسی مدیریتی بدون رمز عبور میداد — درب پشتیای که حتی پس از پاکسازی نقطه تزریق اولیه نیز باقی میماند.
Brevo از آن زمان کلید API بهخطرافتاده را باطل کرده، اطلاعات ورود هاردکدشده را از کد منبع خود حذف کرده، Worker مخرب و قوانین مسیریابی آن را پاک کرده، حافظههای پنهان لبه CDN را پاکسازی کرده و دامنههای تحت کنترل مهاجم را که بدافزار با آنها ارتباط برقرار میکرد مسدود کرده است. اما افزونه درب پشتی وردپرس بهخودیخود ناپدید نمیشود — هر سایتی که در آن بازه پنجونیمساعته یک مدیر وارد سیستم شده بود، باید بهطور مستقل افزونه «Web Media Optimizer» را بررسی و حذف کند، زیرا رفع مشکل زیرساخت خود Brevo هیچ تأثیری در بستن دربی پشتی که قبلاً روی سرور شخص دیگری کاشته شده، ندارد.
این ماجرا یادآوری است از میزان تمرکز خطر در تعداد کمی اسکریپت شخص ثالث که اکثر وبسایتها بدون فکر دوم بارگذاری میکنند. یک کلید API هاردکدشده در کد منبع یک شرکت، به بازهای پنجساعته تبدیل شد که به سایتهای بیشتری نسبت به اکثر نفوذهای اطلاعاتی مجزا رسید — و رفع کامل آن تنها زمانی محقق میشود که هر صاحب سایت آسیبدیده، نصب وردپرس خود را مستقلاً بررسی کند، نه صرفاً وقتی داشبورد Brevo اعلام میکند حادثه برطرف شده است.
در ابتدا توسط BleepingComputer / SecurityWeek گزارش شده است. برای جزئیات بیشتر مقالهٔ اصلی را بخوانید.
مشاهدهٔ منبع اصلی