افزونه مخرب AgreeTo برای Outlook
محققان امنیت سایبری چیزی را کشف کردهاند که گمان میرود اولین افزونه مخرب شناختهشده مایکروسافت اوتلوک باشد که در سطح اینترنت شناسایی شده است. این کمپین با نام رمز AgreeToSteal، نشاندهنده یک حمله زنجیره تأمین جدید و نگرانکننده است که از اعتماد به اکوسیستم افزونههای آفیس مایکروسافت سوءاستفاده میکند.
در این حادثه، یک عامل تهدید، دامنه مرتبط با یک افزونهی متروکه اما قانونی Outlook را ربود. با استفادهی مجدد از زیرساخت منقضیشده، مهاجم یک صفحهی ورود جعلی مایکروسافت راهاندازی کرد و با موفقیت بیش از ۴۰۰۰ اعتبارنامهی کاربر را به دست آورد.
این کشف، مرحله جدیدی را در تهدیدات زنجیره تأمین مبتنی بر بازار نشان میدهد که این بار نرمافزار بهرهوری سازمانی را در هسته خود هدف قرار میدهد.
فهرست مطالب
از ابزار بهرهوری تا مسیر فیشینگ
افزونهی آسیبدیده که با نام AgreeTo شناخته میشود، در ابتدا برای کمک به کاربران در تجمیع چندین تقویم و اشتراکگذاری دسترسی از طریق ایمیل توسعه داده شده بود و آخرین بهروزرسانی آن در دسامبر ۲۰۲۲ انجام شده است.
برخلاف کمپینهای توزیع بدافزار سنتی، این حمله شامل سوءاستفاده از یک آسیبپذیری در کدبیس نبود. در عوض، از یک ضعف ساختاری در نحوه عملکرد افزونههای آفیس بهرهبرداری کرد. محققان این را به عنوان گونهای از حملات مشاهدهشده قبلی طبقهبندی میکنند که بر افزونههای مرورگر، بستههای npm و افزونههای IDE تأثیر میگذارند، کانالهای توزیع معتبری که در آنها محتوای تأییدشده میتواند بعداً بدون ایجاد بررسی دقیق تغییر کند.
افزونههای آفیس به دلیل چندین عامل ترکیبی، ریسک بالاتری را ایجاد میکنند:
- آنها مستقیماً در Outlook اجرا میشوند، جایی که ارتباطات بسیار حساس مدیریت میشوند.
- آنها ممکن است مجوزهای قدرتمندی از جمله امکان خواندن و تغییر ایمیلها را درخواست کنند.
- آنها از طریق فروشگاه رسمی مایکروسافت توزیع میشوند و اعتماد ضمنی کاربر را به ارث میبرند.
مورد AgreeTo یک واقعیت حیاتی را برجسته میکند: توسعهدهنده اصلی هیچ کار مخربی انجام نداده است. یک محصول قانونی ایجاد و بعداً رها شده است. این حمله از شکاف بین رها کردن پروژه و نظارت بر بازار سوءاستفاده کرده است.
بهرهبرداری از معماری افزونههای آفیس
در قلب این حادثه، طراحی افزونههای آفیس قرار دارد. توسعهدهندگان افزونههای خود را از طریق مرکز شرکای مایکروسافت ارسال میکنند، جایی که راهحل مورد بررسی و تأیید قرار میگیرد. با این حال، تأیید تا حد زیادی به یک فایل مانیفست وابسته است، نه یک بسته کد استاتیک.
افزونههای آفیس اساساً با نرمافزارهای مرسوم متفاوت هستند. فایل مانیفست به جای ارسال کد همراه، یک URL را مشخص میکند. هر بار که افزونه در Outlook باز میشود، برنامه محتوای زنده را از آن URL بازیابی کرده و آن را در یک iframe رندر میکند.
این مدل معماری یک آسیبپذیری بحرانی را ایجاد میکند: پس از تأیید و امضا، افزونه به بارگیری هر محتوایی که URL ارجاعشده ارائه میدهد، بهصورت بلادرنگ ادامه میدهد. اگر کنترل آن URL به دلیل انقضای دامنه یا رها شدن زیرساخت تغییر کند، محتوای مخرب میتواند بدون تغییر مانیفست امضا شده، وارد شود.
در مورد AgreeTo، مانیفست به یک URL میزبانیشده توسط Vercel (outlook-one.vercel[.]app) ارجاع میداد. پس از اینکه پیادهسازی توسعهدهنده حذف شد و پروژه عملاً حدود سال ۲۰۲۳ به abandonware تبدیل شد، URL قابل ادعا شد. یک مهاجم کنترل آن را به دست گرفت در حالی که افزونه همچنان در فروشگاه مایکروسافت فهرست شده بود.
تا زمان گزارش، زیرساختها همچنان فعال هستند.
اجرای فیشینگ و استخراج اعتبارنامهها
پس از تصاحب استقرار رها شده، مهاجم یک کیت فیشینگ را در URL ارجاع شده میزبانی کرد. محتوای مخرب یک صفحه ورود جعلی مایکروسافت را نمایش میداد که برای گرفتن اعتبارنامههای کاربر طراحی شده بود.
رمزهای عبور ضبط شده با استفاده از API ربات تلگرام استخراج شدند. سپس قربانیان به صفحه ورود قانونی مایکروسافت هدایت شدند که این امر باعث کاهش سوءظن و افزایش احتمال سرقت موفقیتآمیز اعتبارنامهها شد.
در حالی که فعالیت مشاهدهشده بر برداشت اعتبارنامه متمرکز بود، محققان هشدار میدهند که تأثیر آن میتوانست به طور قابل توجهی شدیدتر باشد. این افزونه با مجوزهای ReadWriteItem پیکربندی شده بود که امکان خواندن و تغییر ایمیلهای کاربر را فراهم میکرد. یک عامل تهدید تهاجمیتر میتوانست جاوا اسکریپتی را مستقر کند که قادر به استخراج مخفیانه محتوای صندوق پستی باشد و یک بردار جاسوسی قدرتمند در محیطهای سازمانی ایجاد کند.
شکاف نظارتی بازار با پیامدهای گستردهتر
مایکروسافت در طول فرآیند ارسال اولیه، مانیفستهای افزونه را بررسی میکند، اما پس از تأیید، هیچ اعتبارسنجی مداومی از محتوای زنده ارائه شده توسط URLهای ارجاعشده وجود ندارد. این یک شکاف اعتماد ساختاری ایجاد میکند: مانیفست یک بار امضا میشود، اما محتوای راه دوری که به آن ارجاع میدهد میتواند به طور نامحدود تغییر کند.
افزونهی AgreeTo در دسامبر ۲۰۲۲ امضا شد. اگرچه محتوای اصلی در زمان تأیید قانونی بود، اما همان URL اکنون یک کیت فیشینگ را ارائه میدهد و افزونه همچنان در فروشگاه موجود است.
این مشکل فراتر از اکوسیستم مایکروسافت است. هر بازاری که یک بار درخواست را بدون نظارت مداوم بر وابستگیهای پویا از راه دور تأیید کند، در معرض خطرات مشابهی قرار دارد. این ضعف ساختاری در پلتفرمهای مختلف یکسان است: یک بار تأیید، به طور نامحدود اعتماد.
راهکارهای استراتژیک برای کاهش ریسک بازار
برای رفع نقاط ضعف سیستمی که توسط AgreeToSteal آشکار شده است، کارشناسان امنیتی چندین اقدام متقابل را توصیه میکنند:
- وقتی URL ارجاعشده به یک افزونه شروع به ارائه محتوایی میکند که اساساً با آنچه در ابتدا بررسی شده بود متفاوت است، بررسیهای مجدد خودکار را فعال کنید.
- اعتبارسنجی مالکیت دامنه را پیادهسازی کنید تا تأیید شود که زیرساخت تحت کنترل توسعهدهنده باقی میماند و افزونههایی را که مالکیت میزبانی تغییر میکند، علامتگذاری کنید.
- سازوکارهایی برای حذف یا هشدار به کاربران در مورد افزونههایی که در بازههای زمانی مشخص بهروزرسانی نشدهاند، ایجاد کنید.
- تعداد نصبها را نمایش دهید تا به ارزیابی میزان مواجهه و تأثیر بالقوه کمک کند.
نظارت مداوم بر محتوای زنده، به جای تکیه صرف بر تأیید ثابت مانیفست، برای کاهش خطرات زنجیره تأمین در اکوسیستمهای ترویجی مدرن ضروری است.
زنگ خطری برای مدلهای اعتماد وابستگی پویا
کمپین AgreeToSteal یک چالش اساسی در مدلهای توزیع نرمافزار معاصر را نشان میدهد. افزونههای آفیس، افزونههای مرورگر و ابزارهای مشابه میزبانیشده در بازار، اغلب به محتوای از راه دور و پویا متکی هستند.
بدون اسکن مجدد دورهای و نظارت رفتاری، برنامههای کاربردی مورد اعتماد میتوانند بیسروصدا به بردارهای حمله تبدیل شوند.
این مورد به عنوان هشداری برای اپراتورهای پلتفرم و مدافعان سازمان عمل میکند: اعتماد باید به طور مداوم تأیید شود، به خصوص زمانی که زیرساختهای از راه دور و وابستگیهای پویا در میان باشد.