یک سرور واحد با آی‌پی 158.220.87.79 از مارس 2025 تاکنون رکوردهای پورتال‌های مشتریان Salesforce و ServiceNow را استخراج کرده است. این یافته نتیجهٔ تحقیقات پلتفرم امنیتی Reco دربارهٔ کمپین شناخته‌شده با عنوان «City Forum» است.

چه رخ داده و چه چیزی متمایز است

Reco تشخیص داده همهٔ درخواست‌ها از یک سرور می‌آیند؛ سروری که روی VPS ارائه‌دهندهٔ آلمانی Contabo میزبانی شده و اثرانگشت یکسانی دارند: user agent پیش‌فرض کتابخانهٔ net/http زبان Go (مشاهده‌شده به‌صورت "Go-http-client"). این نشانهٔ اجرای یک ابزار کامپایل‌شدهٔ سفارشی است، نه ترافیک تولیدشده از مرورگر. تحلیل DNS غیرفعال نشان می‌دهد دامنهٔ مرتبط با این آی‌پی حداقل از مارس 2025 به آن اشاره کرده و از آن زمان تغییری در سرور مشاهده نشده است.

ویژگی متمایز این کمپین، گسترهٔ هدف‌گیری است. مهاجمان علاوه بر سوءاستفاده از فریم‌ورک قدیمی Aura در Salesforce برای فهرست‌برداری اشیاء و پیمایش رکوردها (بخشی عمده از ترافیک گزارش‌شده؛ در یک مورد بیش از 560,000 رویداد ثبت شد)، از UI-API برای دسترسی به سایت‌های مبتنی بر Lightning Web Runtime نیز استفاده می‌کنند و درخواست‌ها را در نسخه‌های API از v56.0 تا v66.0 ارسال کرده‌اند. مرجع فنی UI-API: مستندات UI-API.

هم‌زمان، همان سرور نقطهٔ جستجوی ServiceNow Service Portal را هدف می‌گیرد: POST /api/now/sp/search — نقطه‌ای که مستندات عمومی گسترده‌ای دربارهٔ آن در دسترس نیست اما در این کمپین به‌طور مکرر استفاده شده است.

ریشهٔ مشکل: پروفایل مهمان با امتیازات بیش از حد

عامل مشترک تمام تکنیک‌های مشاهده‌شده، پروفایل مهمان است. پورتال‌های Experience Cloud در Salesforce و پورتال‌های ServiceNow برای بازدیدکنندگان غیراصله‌سنجیده یک کاربر «مهمان» دائمی دارند؛ این کاربر قابل حذف نیست و تنها امکان محدودسازی دسترسی‌ آن وجود دارد. هرگاه پروفایل مهمان توانایی خواندن یک رکورد را داشته باشد، آن رکورد عملاً در دسترس عموم قرار می‌گیرد، حتی اگر نمایشش در مرورگر نیازمند ورود باشد.

نمایی از لاگ‌ها و تحلیل ترافیک کمپین City Forum

گام‌های تشخیصی برای تیم‌های امنیتی

Reco گام‌های مشخصی را برای شناسایی فعالیت ارائه کرده است:

  • در Salesforce: در صورت دسترسی به Event Monitoring یا Shield، لاگ‌های AuraRequest و Sites را برای user agentِ "Go-http-client"، آی‌پی 158.220.87.79 و مسیرهایی که شامل /webruntime/api/services/data هستند فیلتر کنید. اوج‌های ناگهانی در تلاش‌های ثبت‌نام خودکار در /SiteRegister و /CommunitiesSelfReg نیز نشان‌دهندهٔ فعالیت اسکریپت‌شده است.
  • در ServiceNow: جدول تراکنش syslog_transaction را بر اساس آی‌پی منبع و URLهایی که با /api/now/sp/search شروع می‌شوند بررسی کنید؛ سطرهای ایجادشده توسط کاربر مهمان و طول خروجی غیرمعمول از نشانه‌های یک جستجوی گسترده (sweep) است.

اقدامات اصلاحی و کاهش ریسک

از آنجا که UI-API و نقطهٔ جستجوی ServiceNow به‌درستی کار می‌کنند، اصلاح نباید محدود به مسدودسازی نقاط انتهایی شود؛ تمرکز روی محدودسازی پروفایل مهمان ضروری است. راهکارهای پیشنهادی:

  • بازبینی قوانین اشتراک‌گذاری مهمان و حذف دسترسی‌های قرائت غیرضروری روی اشیاء و فیلدها.
  • غیرفعال‌سازی ثبت‌نام خودکار (Self Registration) در مواردی که الزامی نیست و بررسی مکانیزم‌هایی که ثبت‌نام را به‌صورت خودکار انجام می‌دهند.
  • تنظیم Experience Builder به‌گونه‌ای که اجازهٔ دسترسی کاربران مهمان به APIهای عمومی محدود یا برداشته شود.
  • در ServiceNow، نگاشت منابع جستجو که در پورتال‌های عمومی در معرض هستند و ممیزی معیارهای خواندن (reading permissions) در Knowledge Base تا مشخص شود یک جستجوی ناشناس چه اطلاعاتی برمی‌گرداند.
  • اعمال قواعد نرخ‌محدودسازی (rate limiting) و مسدودسازی رفتارهای اسکریپت‌شده بر مبنای الگوهای ترافیک (user agent، توالی درخواست‌ها، نوسانات حجمی).
  • استقرار هشدارهای فوری در سیستم‌های لاگ مرکزی برای شناسایی فراخوانی‌های مکرر از آی‌پی‌های شناخته‌شده و user agentهای غیرمتداول.

پیشنهاد برای مدیران و تیم‌های امنیتی

Reco اعلام کرده زیرساخت این کمپین هنوز فعال است و حجم درخواست‌ها افزایش یافته است؛ شرکت تاکنون عامل مشخصی را معرفی نکرده است. توصیه می‌شود فوراً وضعیت پروفایل‌های مهمان بازبینی شود، لاگ‌های مرتبط بررسی و سیاست‌های اشتراک‌گذاری داده بازتنظیم گردد تا از قرارگیری ناخواستهٔ اطلاعات حساس در دسترس عمومی جلوگیری شود.

منابع مرتبط

کاهش سطح دسترسی مهمان و اعمال اصل کمترین امتیاز باید اولویت قرار گیرد. این کمپین ممکن است به تدریج تکنیک‌ها و اهداف جدیدی را به‌کار گیرد؛ پایش مداوم، به‌روزرسانی سیاست‌ها و واکنش سریع به تغییرات ترافیک برای محافظت از داده‌های سازمانی ضروری است.