في الأسبوع الماضي، تلقت شركة Cloudflare إشعارًا يفيد بأننا نحن (وعملاؤنا) قد تضررنا من حادثة الاختراق التي تعرّضت لها Salesloft Drift. بسبب هذا الاختراق، تمكّن طرف خارجي من الوصول إلى نظام Salesforce الخاص بشركة Cloudflare، والذي نستخدمه لدعم العملاء وإدارة حالاتهم داخليًا، إضافةً إلى بعض البيانات التي يحتويها. معظم هذه البيانات يقتصر على معلومات التواصل مع العملاء وبيانات أساسية عن حالات الدعم، إلا أن بعض تفاعلات الدعم الفني قد تكشف معلومات عن إعدادات العملاء، وقد تتضمّن بيانات حساسة مثل رموز الوصول. ونظرًا لأن بيانات حالات الدعم في Salesforce تحتوي على محتوى تذاكر الدعم المرسلة إلى Cloudflare، فإن أي معلومات قد يكون العميل شاركها مع Cloudflare عبر نظام الدعم لدينا — بما في ذلك السجلات أو رموز الوصول أو كلمات المرور — يجب اعتبارها قد تعرضت للاختراق. وبناءً عليه، نوصيكم بشدة بإعادة تعيين أي بيانات اعتماد قمتم بمشاركتها معنا من خلال هذه القناة.
وفي إطار استجابتنا لهذا الحادث، أجرينا بحثًا داخليًا في البيانات المخترقة بحثًا عن الرموز أو كلمات المرور، وقد عثرنا على 104 رموز Cloudflare API. لم نرصد أي نشاط مريب مرتبط بهذه الرموز، إلا أننا قمنا باستبدالها جميعًا من باب الحرص والوقاية. أخطرت Cloudflare جميع العملاء الذين تضررت بياناتهم جرّاء هذا الاختراق بشكل مباشر.
لم تتأثر أي من خدمات أو بنية Cloudflare التحتية نتيجةً لهذا الاختراق.
نتحمّل المسؤولية عن اختيار الأدوات التي نستخدمها في دعم أعمالنا. حيث مثّل هذا الاختراق خيبة أمل لعملائنا. وبناءً على ذلك، نتقدّم إليكم بخالص اعتذارنا. يتضمّن ما تبقّى من هذه المدوّنة جدولًا زمنيًا مفصّلًا ومعلومات تفصيلية حول كيفية قيامنا بالتحقيق في هذا الاختراق.
في الأسبوع الماضي، اكتشفت شركة Cloudflare نشاطًا مريبًا داخل بيئة Salesforce الخاصة بنا، وتبيّن لنا أننا، إلى جانب مئات الشركات الأخرى، قد أصبحنا هدفًا لجهة تهديد تمكنت من استخراج الحقول النصية لحالات الدعم من نظام Salesforce لدينا بنجاح. باشر فريق الأمن لدينا فورًا التحقيق في الحادث، وقام بقطع وصول جهة التهديد، واتخذ عددًا من الإجراءات، الموضحة بالتفصيل أدناه، لتأمين بيئتنا. نكتب هذه المدوّنة لتوضيح ما حدث، وشرح كيفية استجابتنا، ولمساعدة عملائنا وغيرهم على فهم كيفية حماية أنفسهم من تداعيات هذا الحادث.
تستخدم Cloudflare نظام Salesforce لتتبع هوية عملائنا وكيفية استفادتهم من خدماتنا، كما نستخدمه كأداة دعم للتواصل والتفاعل مع عملائنا. من المهم الإشارة في سياق هذا الحادث إلى أن جهة التهديد لم تتمكّن إلا من الوصول إلى البيانات الموجودة في "الحالات" داخل Salesforce، وهي التي قد يتم إنشاؤها عندما يحتاج أعضاء فريق المبيعات أو الدعم في Cloudflare إلى تبادل التعليقات داخليًا لدعم عملائنا، كما تُنشأ أيضًا عند تواصل العملاء مع فريق دعم Cloudflare. كان هناك تكامل بين Salesforce وروبوت المحادثة Salesloft Drift، الذي كانت Cloudflare تستخدمه لإتاحة وسيلة لأي زائر لموقعنا للتواصل معنا.
كما أعلنت Salesloft رسميًا أن جهة تهديد تمكّنت من اختراق أنظمتها. كجزء من هذا الاختراق، تمكّنت جهة التهديد من الحصول على بيانات اعتماد OAuth المرتبطة بتكامل وكيل محادثة Salesloft Drift مع Salesforce، واستُخدمت هذه البيانات لاستخراج معلومات من بيئات Salesforce الخاصة بعملاء Salesloft. كشف تحقيقنا أن هذا الاختراق كان جزءًا من هجوم متقدّم على سلسلة التوريد يستهدف تكاملات الطرف الثالث في مجال الأعمال بين الشركات، وقد أثّر على مئات المؤسسات حول العالم من عملاء Salesloft. Cloudforce One—صنّف فريق معلومات التهديد والبحث لدى Cloudflare— جهة التهديد المتقدمة باسم GRUB1. كما صدرت إفصاحات إضافية من مجموعة جوجل للاستخبارات المتعلقة بالتهديدات متوافقة مع الأنشطة التي رصدناها في بيئتنا.
أظهر تحقيقنا أن جهة التهديد قامت باختراق واستخراج بيانات من بيئة Salesforce الخاصة بنا خلال الفترة من 12 إلى 17 أغسطس 2025، وذلك بعد عملية استطلاع أولية تم رصدها بتاريخ 9 أغسطس 2025. أكد التحليل التفصيلي أن نطاق الاختراق اقتصر على عناصر الحالات في Salesforce، والتي تتكوّن أساسًا من تذاكر دعم العملاء والبيانات المرتبطة بها داخل بيئة Salesforce الخاصة بنا. تتضمّن عناصر الحالات هذه بيانات تواصل العملاء المرتبطة بحالة الدعم، وعناوين الحالات، ونص المراسلات الخاصة بها — لكنها لا تشمل المرفقات الخاصة بالحالات. لا تطلب Cloudflare من عملائها، ولا تشترط عليهم، مشاركة أي أسرار أو بيانات اعتماد أو مفاتيح واجهة برمجة التطبيقات ضمن حالات الدعم. ومع ذلك، في بعض حالات استكشاف الأخطاء وإصلاحها، قد يقوم العملاء بلصق مفاتيح أو سجلات أو معلومات حساسة أخرى داخل الحقول النصية للحالة. يجب اعتبار أي معلومة تمت مشاركتها عبر هذه القناة قد تعرّضت للاختراق.
نعتقد أن هذا الحادث لم يكن واقعة منفردة، بل إن جهة التهديد كانت تهدف إلى جمع بيانات الاعتماد ومعلومات العملاء لاستخدامها في هجمات مستقبلية. ونظرًا لتضرر مئات المؤسسات باختراق Drift، فإننا نشتبه في أن جهة التهديد ستستخدم هذه المعلومات لشن هجمات موجهة ضد العملاء في المؤسسات المتضررة.
يقدّم هذا المنشور جدولًا زمنيًا للهجوم، ويفصّل استجابتنا له، كما يطرح توصياتٍ أمنية لمساعدة المؤسسات الأخرى على التخفيف من مخاطر تهديدات مماثلة.
جميع التواريخ والأوقات الواردة في منشور هذه المدوّنة مُعتمدة بالتوقيت العالمي المنسق.
استجابة Cloudflare وإجراءات المعالجة
عندما أخطرتنا Salesforce وSalesloft في 23 أغسطس 2025 بأن تكامل Drift قد جرى إساءة استخدامه عبر عدة مؤسسات، بما في ذلك Cloudflare، أطلقنا فورًا استجابةً مؤسسيةً شاملةً لحادث أمني على مستوى الشركة. فعّلنا فرقًا متعددة التخصّصات، وجمعنا خبراء من مجالات الأمن، وتقنية المعلومات، والمنتجات، والشؤون القانونية، والاتصالات، وقيادة الأعمال، تحت هيكل موحّد ومتكامل لإدارة الحوادث.
حددنا أربعة مسارات عمل رئيسية وواضحة، ركّزنا من خلالها على هدف أساسي يتمثل في حماية عملائنا وCloudflare:
الاحتواء الفوري للتهديد: أوقفنا وصول جهة التهديد بالكامل عبر تعطيل تكامل Drift المخترق، وأجرينا تحليلًا جنائيًا لفهم نطاق الاختراق، وأزلنا التهديد النشط من بيئتنا.
تأمين منظومة الأطراف الثالثة: أوقفنا فورًا جميع تكاملات الأطراف الثالثة مع Salesforce. أصدرنا أسرارًا جديدة لجميع الخدمات، ونعتمد عملية جديدة لتدويرها بشكل أسبوعي.
حماية سلامة أنظمتنا الأوسع: وسّعنا عملية تدوير بيانات الاعتماد لتشمل جميع خدمات الإنترنت وحسابات الأطراف الثالثة، كإجراء احترازي لمنع المهاجم من استغلال البيانات المخترقة للوصول إلى أنظمة أخرى في Cloudflare.
تحليل تأثير الحادث على العملاء: حلّلنا بيانات عناصر الحالات في Salesforce لتحديد ما إذا كان العملاء قد تعرّضوا للاختراق، ولضمان حصولهم على تواصل دقيق وفي الوقت المناسب بشأن أي تعرّض محتمل.
الجدول الزمني للهجوم واستجابة Cloudflare
أعاد تحقيقنا الجنائي بناء أنشطة جهة التهديد ضد Cloudflare، والتي وقعت بين 9 و17 أغسطس 2025. فيما يلي ملخص زمني لأعمال جهة التهديد، بما في ذلك الاستطلاع الأولي الذي سبق عملية الاختراق.
9 أغسطس 2025: أوّل مؤشرات الاستطلاع
في الساعة 11:51، حاولت مجموعة GRUB1 التحقق من رمز واجهة برمجة التطبيقات صادر عن Cloudflare عبر واجهة برمجة التطبيقات Salesforce. استخدمت جهة التهديد Trufflehog (أداة شائعة مفتوحة المصدر لفحص الأسرار) كوكيل مستخدم (User-Agent)، وأرسلت طلب تحقق إلى client/v4/user/tokens/verify
. فشل الطلب برسالة 404 Not Found
، مما أكد أن الرمز غير صالح. مصدر رمز واجهة برمجة التطبيقات هذا غير واضح — فقد يكون قد تم الحصول عليه من مصادر متعددة، بما في ذلك عملاء آخرون لمنصة Drift ربما اخترقتهم GRUB1 قبل استهداف Cloudflare.
12 أغسطس 2025: الاختراق الأولي لشركة Cloudflare
في الساعة 22:14، تمكّنت GRUB1 من الوصول إلى بيئة Salesforce التابعة لشركة Cloudflare باستخدام بيانات اعتماد مسروقة خاصة بتكامل Salesloft. باستخدام بيانات الاعتماد هذه، سجّلت GRUB1 الدخول من عنوان IP 44[.]215[.]108[.]109
، وأرسلت طلب GET إلى /services/data/v58.0/sobjects/
الخاص بنقطة نهاية واجهة برمجة التطبيقات. بدا أن هذا الإجراء يهدف إلى سرد جميع العناصر في بيئة Salesforce الخاصة بنا، مما أتاح لجهة التهديد رؤية عامة شاملة للبيانات المخزّنة هناك.
13 أغسطس 2025: توسيع نطاق الاستطلاع
بعد مرور يوم واحد من الاختراق الأولي، شنّت GRUB1 هجومًا لاحقًا من نفس عنوان IP 44[.]215[.]108[.]109
. ابتداءً من الساعة 19:33، سرقت جهة التهديد بيانات العملاء من عناصر الحالات في Salesforce. أعادت جهة التهديد أولًا تنفيذ عملية تعداد للعناصر للتأكد من هيكلية البيانات، ثم استرجعت مباشرةً مخطط عناصر الحالات باستخدام نقطة النهاية /sobjects/Case/describe/
. تلا ذلك تنفيذ استعلام واسع في Salesforce لتعداد الحقول من عنصر حالة الدعم في Salesforce.
14 أغسطس 2025: محاولة فهم بيئة Salesforce الخاصة بنا
خصصت جهة التهديد GRUB1 ساعات لإجراء استطلاع شامل لبيئة Salesforce التابعة لشركة Cloudflare من عنوان IP 44[.]215[.]108[.]109
. يبدو أن هدفهم كان تكوين فهم شامل لبيئتنا. فعلى مدى عدة ساعات، نفّذوا سلسلة من الاستعلامات الموجّهة:
00:17 - قاموا بقياس حجم بيئة العمل من خلال عدّ الحسابات وجهات الاتصال والمستخدمين؛
04:34 - حلّلوا مسارات عمل الحالات عبر الاستعلام عن سجل أعضاء فريق الحالات؛ و
11:09 - تأكدوا من أنهم في بيئة إنتاجية عبر إجراء بصمة لعنصر المؤسسة.
أنهت جهة التهديد عملية الاستطلاع عبر تنفيذ استعلامات إضافية لفهم آلية عمل نظام دعم العملاء لدينا—بما في ذلك كيفية تعامل أعضاء الفريق مع أنواع مختلفة من الحالات، وكيفية توزيعها وتصعيدها، وكيفية سير عمليات الدعم—ثم نفّذت استعلامًا على نقطة النهاية /الحدود/ للتعرّف على الحدود التشغيلية لواجهة برمجة التطبيقات. الاستعلامات التي نفذتها GRUB1 منحتها تصورًا واضحًا لمستوى وصولها، وحجم عناصر الحالات، والقيود الدقيقة لواجهة برمجة التطبيقات التي ينبغي الالتزام بها لتجنّب اكتشافها داخل بيئة Salesforce الخاصة بنا.
16 أغسطس 2025: التحضير للعملية
عقب الاستطلاع الذي جرى في 14 أغسطس 2025، لم نرصد أي حركة مرور أو عمليات تسجيل دخول ناجحة من جهة التهديد GRUB1 لمدة تقارب 48 ساعة.
عادوا في 16 أغسطس 2025. في الساعة 19:26، سجّلت GRUB1 الدخول مجددًا إلى بيئة Salesforce التابعة لشركة Cloudflare من عنوان IP 44[.]215[.]108[.]109
، وفي الساعة 19:28، نفّذت استعلامًا وحيدًا ونهائيًا: حدد عدد () من الحالات
. شكّل هذا الإجراء "تجربة أخيرة" للتحقق من الحجم الدقيق لمجموعة البيانات التي كانوا على وشك سرقتها، ما مثّل النهاية الفعلية لمرحلة الاستطلاع، وتهيئة الساحة للهجوم الرئيسي.
17 أغسطس 2025: الاستخراج النهائي والتغطية على الآثار
بدأت GRUB1 مرحلة استخراج البيانات بالانتقال إلى بنية تحتية جديدة، حيث سجّلت الدخول في الساعة 11:11:23 من عنوان IP 208[.]68[.]36[.]90
. بعد إجراء فحص أخير لحجم عنصر الحالة، أطلقوا مهمة عبر Salesforce Bulk API 2.0 عند الساعة 11:11:56. خلال ما يزيد قليلًا عن ثلاث دقائق، نجحوا في استخراج مجموعة بيانات تحتوي على نصوص حالات الدعم — دون أي مرفقات أو ملفات — من بيئة Salesforce الخاصة بنا. في الساعة 11:15:42، حاولت GRUB1 إخفاء آثارها عبر حذف مهمة واجهة برمجة التطبيقات. وعلى الرغم من أن هذا الإجراء أخفى الدليل الأساسي، تمكّن فريقنا من إعادة بناء الهجوم اعتمادًا على السجلات المتبقية.
لم نرصد أي نشاط إضافي من جهة التهديد هذه بعد 17 أغسطس 2025.
20 أغسطس 2025: إجراء من المورّد قبل الإخطار
ألغت Salesloft اتصالات Drift مع Salesforce لدى جميع عملائها، ونشرت إشعارًا بذلك على موقعها. في ذلك الوقت، لم تكن Cloudflare قد تلقت أي إشعار بعد، ولم يكن لدينا ما يشير إلى أن هذا الإجراء من المورّد قد يكون مرتبطًا ببيئتنا.
23 أغسطس 2025: إشعارات Salesforce وSalesloft إلى Cloudflare
بدأت استجابتنا لهذا الحادث عندما أخطرتنا Salesforce وSalesloft بنشاط غير معتاد مرتبط بـ Drift. نفذنا على الفور خطوات الاحتواء الموصى بها من المورّدين، ونتعاون معهم لجمع المعلومات الاستخباراتية.
25 أغسطس 2025: بدء أنشطة الاستجابة من جانب Cloudflare
بحلول 25 أغسطس، حصلنا على معلومات إضافية حول الحادث، ورفعنا مستوى استجابتنا متجاوزين خطوات الاحتواء الأولية التي أوصى بها المورّدون. أطلقنا تحقيقًا شاملاً وجهود معالجة خاصة بنا.
وكانت أولويتنا القصوى هي قطع وصول GRUB1 من مصدره. عطّلنا حساب مستخدم Drift، وألغينا مُعرّف العميل وأسراره، وأزلنا بشكل كامل جميع برمجيات Salesloft وإضافات المتصفح من أنظمة Cloudflare. أدّت هذه الإزالة الشاملة إلى الحد من مخاطر إعادة استخدام جهة التهديد للرموز المخترقة، أو استعادة الوصول عبر الجلسات القديمة، أو استغلال إضافات البرمجيات للبقاء داخل الأنظمة.
بالتوازي، نوسّع مراجعتنا الأمنية لتشمل جميع خدمات الأطراف الثالثة المرتبطة ببيئة Salesforce لدينا، وندوّر بيانات الاعتماد كإجراء احترازي لمنع أي تحرك جانبي محتمل من جهة التهديد.
نظرًا لاستخدامنا Salesforce كأداتنا الأساسية لإدارة بيانات دعم عملائنا، تمثّل الخطر في احتمال أن يكون العملاء قد أرسلوا أسرارًا أو كلمات مرور أو بيانات حساسة أخرى ضمن طلبات خدمة العملاء الخاصة بهم. كان لا بدّ لنا من فهم طبيعة المواد الحساسة التي باتت في حوزة المهاجم.
ركزنا مباشرةً على تحديد ما إذا كان أي من تلك البيانات قد استُخدم لاختراق حسابات عملائنا أو أنظمتهم أو بنيتهم التحتية. فحصنا البيانات التي حصلت عليها جهة التهديد للتحقق مما إذا كانت تحتوي على بيانات اعتماد مكشوفة، نظرًا لأن الحالات تتضمن حقول نص حر قد يرسل فيها العملاء رموز واجهة برمجة تطبيقات Cloudflare أو مفاتيح أو سجلات إلى فريق الدعم لدينا. طوّرت فرقنا أدوات فحص مُخصّصة تعتمد على تقنيات Regex وقياس العشوائية (Entropy) والمطابقة النمطية، لاكتشاف أسرار Cloudflare المحتملة على نطاق واسع.
أكد تحقيقنا أن نطاق التعرّض اقتصر فقط على النصوص الحرة داخل عناصر الحالات في Salesforce—دون أن يشمل أي مرفقات أو ملفات. تُستخدم الحالات من قِبل فرق المبيعات والدعم للتواصل داخليًا بشأن مشكلات دعم العملاء، وكذلك للتواصل المباشر مع العملاء. وبناءً على ذلك، احتوت عناصر الحالات هذه على بيانات نصية فقط تتكوّن من:
سطر الموضوع الخاص بحالة Salesforce
نص الحالة (نص حر قد يتضمّن أي مراسلات، بما في ذلك المفاتيح أو الأسرار أو غيرها، إذا كان العميل قد زوّد Cloudflare بها).
معلومات الاتصال الخاصة بالعميل (مثل اسم الشركة، وعنوان البريد الإلكتروني، ورقم هاتف مقدم الطلب، واسم نطاق الشركة، وبلد الشركة)
جاء هذا الاستنتاج بعد عمليات مراجعة موسّعة شملت التكاملات، وأنشطة المصادقة، وقياسات نقاط النهاية، وسجلات الشبكة.
26–29 أغسطس 2025: توسيع نطاق الاستجابة وتطبيق تدابير استباقية
على الرغم من أنه جرى تدوير بيانات اعتماد Salesforce وSalesloft الأساسية مسبقًا، كانت خطوتنا التالية إنهاء تكاملات الأطراف الثالثة وإعادة إنشائها بشكل آمن. بدأنا بشكل منهجي بإعادة تفعيل الخدمات التي تم إنهاؤها، مع ضمان تزويد كل منها بأسرار جديدة وإخضاعها لضوابط أمنية أكثر صرامة.
في الوقت نفسه، واصلَت فرقنا تحليل البيانات التي جرى استخراجها. واستنادًا إلى التحليل، صنّفنا وحققنا في حالات التعرّض المحتملة، معتمدين على مبدأ فحص أي بيانات يُحتمل أنها قد تكون تعرّضت للاختراق. أتاح لنا ذلك اتخاذ إجراء مباشر عبر تدوير الرموز الصادرة عن منصة Cloudflare فور اكتشافها—حيث جرى تدوير ما مجموعه 104 رموز لواجهة برمجة التطبيقات. لم يتم رصد أي نشاط مريب مرتبط بتلك الرموز.
2 سبتمبر 2025: إخطار العملاء
استنادًا إلى التحليل التفصيلي الذي أجرته Cloudflare—جرى إخطار جميع العملاء المتأثرين رسميًا عبر البريد الإلكتروني، بالإضافة إلى نشر إشعارات على لوحة المعلومات (Dashboard) تتضمن معلوماتٍ حول الحادث والخطوات المُوصى بها التالية.
يُبرز هذا الحادث الحاجة الماسّة إلى رفع مستوى اليقظة في تأمين تطبيقات البرمجيات كخدمة (SaaS) وتكاملات الأطراف الثالثة الأخرى. يمكن استخدام البيانات التي تعرّضت للاختراق عبر مئات الشركات المستهدفة في هذا الهجوم لشنّ هجمات إضافية. نوصي جميع المؤسسات بشدة لاعتماد التدابير الأمنية التالية:
فصل Salesloft وتطبيقاته: افصل فورًا جميع اتصالات Salesloft من بيئة Salesforce لديك، وأزل أي برمجيات أو إضافات متصفح مرتبطة به.
تدوير بيانات الاعتماد: أعد ضبط بيانات الاعتماد لجميع تطبيقات وتكاملات الأطراف الثالثة المرتبطة ببيئة Salesforce لديك. دوّر أي بيانات اعتماد قد تكون تمت مشاركتها سابقًا في حالة دعم مع Cloudflare. واستنادًا إلى نطاق هذا الهجوم ونيّته، نوصي أيضًا بتدوير جميع بيانات اعتماد الأطراف الثالثة في بيئتكم، إضافةً إلى أي بيانات اعتماد قد تكون مدرجة في حالة دعم مع أي مورّد آخر.
تطبيق تدوير متكرر لبيانات الاعتماد: ضع جدولًا دوريًا لتدوير جميع مفاتيح واجهة برمجة التطبيقات والأسرار الأخرى المستخدمة في تكاملاتك بهدف تقليل فترة التعرّض للمخاطر.
مراجعة بيانات حالات الدعم: راجع جميع بيانات حالات دعم العملاء لدى مزوّدي الخدمات من الأطراف الثالثة لتحديد المعلومات الحساسة التي قد تكون قد تعرّضت للكشف. ابحث عن الحالات التي تحتوي على بيانات اعتماد أو مفاتيح واجهة برمجة تطبيقات أو تفاصيل إعدادات أو أي بيانات حساسة أخرى ربما يكون العملاء قد شاركوها. بالنسبة لعملاء Cloudflare تحديدًا: يمكنكم الوصول إلى سجل حالات الدعم عبر لوحة معلومات Cloudflare من خلال المسار: الدعم > الدعم الفني > أنشطتي، حيث يمكنكم تصفية الحالات أو استخدام ميزة "تنزيل الحالات" لإجراء مراجعة شاملة.
إجراء تحقيقات جنائية: راجع سجلات الوصول والصلاحيات الخاصة بجميع تكاملات الأطراف الثالثة، واطّلع على المواد العامة المرتبطة بحادثة Drift، ونفّذ مراجعة أمنية لبيئتك حسب الحاجة.
تطبيق مبدأ أقل الصلاحيات: راجع جميع تطبيقات الأطراف الثالثة للتأكد من أنها تعمل بالحد الأدنى من صلاحيات الوصول (أقل الصلاحيات) اللازمة لوظيفتها، وتأكد من عدم استخدام حسابات المدير للبائعين. علاوةً على ذلك، طبّق ضوابط صارمة مثل تقييد عناوين IP وربط الجلسات على جميع اتصالات الأطراف الثالثة واتصالات الأعمال بين الشركات (B2B).
تعزيز المراقبة والضوابط: اعتمد أنظمة مراقبة متقدّمة لاكتشاف أي حالات غير طبيعية، مثل عمليات تصدير البيانات الكبيرة أو تسجيلات الدخول من مواقع غير مألوفة. رغم أن تسجيل الأنشطة بين أنظمة الأطراف الثالثة قد يكون صعبًا، إلا أنه من الضروري أن تكون هذه السجلات جزءًا من عمل فرق العمليات الأمنية لديكم.
يرد أدناه مؤشرات الاختراق (IOCs) التي رصدناها من GRUB1. ننشر هذه المؤشرات لتمكين المؤسسات الأخرى، وخاصةً تلك التي قد تكون تأثرت باختراق Salesloft، من فحص سجلاتها والتأكد من أن جهة التهديد نفسها لم تصل إلى أنظمتها أو إلى أطرافها الثالثة.
المؤشر | النوع | الوصف |
---|
208[.]68[.]36[.]90 | IPV4 | البنية التحتية المعتمدة على DigitalOcean |
44[.]215[.]108[.]109 | IPV4 | البنية التحتية المعتمدة على AWS |
TruffleHog | User Agent | أداة Open source Secret Scanning |
Salesforce-Multi-Org-Fetcher/1.0 | User Agent | سلسلة وكيل المستخدم (User-Agent) المرتبطة بأدوات خبيثة |
Salesforce-CLI/1.0 | User Agent | Salesforce Command Line Interface (CLI), |
python-requests/2.32.4 | User Agent | قد تشير سلسلة وكيل المستخدم (User-Agent) إلى وجود برمجة مخصصة |
Python/3.11 aiohttp/3.12.15 | User Agent | قد يشير وكيل المستخدم (User Agent) إلى إمكانية إجراء العديد من طلبات واجهة برمجية التطبيقات بالتوازي |
نحن مسؤولون عن الأدوات التي نختارها، وعندما تتعرّض هذه الأدوات للاختراق من قِبل جهات تهديد متقدمة، فإننا نتحمل النتائج. استجابت فرقنا للإشعار، وأكد تحقيقنا أن التأثير اقتصر بالكامل على البيانات الموجودة في عناصر الحالات في Salesforce، دون أي اختراق لأنظمة أو بنية Cloudflare الأخرى.
ومع ذلك، نعتبر اختراق أي بيانات أمرًا غير مقبول على الإطلاق. يثق عملاؤنا في Cloudflare فيما يتعلق ببياناتهم وبنيتهم التحتية وأمنهم. وبدورنا، نضع ثقتنا أحيانًا في أدوات خارجية يجب مراقبتها وتحديد نطاق وصولها بعناية. نتحمّل المسؤولية عن ذلك. لقد خذلنا عملاءنا. وبناءً على ذلك، نتقدّم إليكم بخالص اعتذارنا.
مع ازدياد تكامل أدوات الأطراف الثالثة مع البيانات المؤسسية الداخلية عبر مختلف القطاعات، يتوجّب علينا التعامل مع كل أداة جديدة بقدر عالٍ من التدقيق والتمحيص. أثّر هذا الحادث على مئات المؤسسات عبر نقطة تكامل واحدة، مما يبرز المخاطر المترابطة في مشهد التقنية اليوم. نلتزم بتطوير قدرات جديدة تساعدنا وتساعد عملاءنا على التصدي لمثل هذه الهجمات مستقبلًا — ترقّبوا إعلاناتنا خلال أسبوع ميلاد Cloudflare في وقت لاحق من هذا الشهر.
كما نلتزم بمشاركة معلومات التهديد والأبحاث مع مجتمع الأمن السيبراني الأوسع. خلال الأسابيع المقبلة، سينشر فريقنا Cloudforce One مدوّنة متعمقة تحلل أساليب GRUB1، بهدف دعم المجتمع الأوسع في التصدي لحملات مماثلة.
الجدول الزمني التفصيلي للأحداث
يوضّح الجدول التالي عرضًا تفصيليًا وزمنيًا دقيقًا للإجراءات التي قامت بها GRUB1 خلال الحادث.
التاريخ/الوقت (بالتوقيت العالمي المنسق) | وصف الحدث |
---|
2025-08-09 11:51:13 | رُصدت GRUB1 وهي تستخدم أداة Trufflehog لمحاولة التحقق من رمز مقابل بيئة عميل Cloudflare عبر: client/v4/user/tokens/verify ، وتلقّت خطأ 404 من العنوان 44[.]215[.]108[.]109 . |
2025-08-12 22:14:08 | سجّلت GRUB1 الدخول إلى بيئة Salesforce الخاصة بشركة Cloudflare من العنوان 44[.]215[.]108[.]109 . |
2025-08-12 22:14:09 | أرسلت GRUB1 طلب GET للحصول على قائمة بالعناصر في بيئة Salesforce الخاصة بشركة Cloudflare عبر المسار: /services/data/v58.0/sobjects/ |
2025-08-13 19:33:02 | سجّلت GRUB1 الدخول إلى بيئة Salesforce الخاصة بشركة Cloudflare من العنوان 44[.]215[.]108[.]109 . |
2025-08-13 19:33:03 | أرسلت GRUB1 طلب GET للحصول على قائمة بالعناصر في بيئة Salesforce الخاصة بشركة Cloudflare عبر المسار: /services/data/v58.0/sobjects/ |
2025-08-13 19:33:07 و19:33:09 | أرسلت GRUB1 طلب GET للحصول على معلومات البيانات الوصفية (Metadata) الخاصة بالحالات في بيئة Salesforce التابعة لشركة Cloudflare عبر المسار: /services/data/v58.0/sobjects/Case/describe/ |
2025-08-13 19:33:11 | رُصدت GRUB1 لأول مرة وهي تنفّذ استعلامًا في Salesforce: استعلامًا واسعًا ضد عنصر الحالة من العنوان 44[.]215[.]108[.]109 . نتج عن هذا واحدة من أقدم وأكبر استجابات البيانات، بما يتوافق مع الاستطلاع عبر استرجاع السجلات بكميات كبيرة |
2025-08-14 0:17:40 | تقوم GRUB1 بسرد العناصر المتاحة وإحصاء عناصر “الحساب و“جهة الاتصال” و“المستخدم” . |
2025-08-14 00:17:47 | استعلمت GRUB1 عن جدول الحساب في بيئة Salesforce الخاصة بشركة Cloudflare عبر الاستعلام: “حدد عدد () من الحساب” |
2025-08-14 00:17:51 | استعلمت GRUB1 عن جدول جهة الاتصال في بيئة Salesforce الخاصة بشركة Cloudflare باستخدام الاستعلام: “حدد عدد () من جهة الاتصال” |
2025-08-14 00:18:00 | استعلمت GRUB1 عن جدول المستخدم في بيئة Salesforce التابعة لشركة Cloudflare باستخدام الاستعلام: “حدد عدد () من المستخدم” |
2025-08-14 04:34:39 | استعلمت GRUB1 عن جدول "سجل أعضاء فريق الحالات" في بيئة Salesforce الخاصة بشركة Cloudflare عبر الاستعلام: “SELECT Id, IsDeleted, Name, CreatedDate, CreatedById, LastModifiedDate, LastModifiedById, SystemModstamp, LastViewedDate, LastReferencedDate, Case__c FROM CaseTeamMemberHistory__c LIMIT 5000” |
2025-08-14 11:09:14 | استعلمت GRUB1 عن جدول المؤسسة في بيئة Salesforce التابعة لشركة Cloudflare عبر الاستعلام: “SELECT Id, Name, OrganizationType, InstanceName, IsSandbox FROM Organization LIMIT 1” |
2025-08-14 11:09:21 | استعلمت GRUB1 عن جدول المستخدم في بيئة Salesforce الخاصة بشركة Cloudflare باستخدام الاستعلام: “SELECT Id, Username, Email, FirstName, LastName, Name, Title, CompanyName, Department, Division, Phone, MobilePhone, IsActive, LastLoginDate, CreatedDate, LastModifiedDate, TimeZoneSidKey, LocaleSidKey, LanguageLocaleKey, EmailEncodingKey FROM User WHERE IsActive = :x ORDER BY LastLoginDate DESC NULLS LAST LIMIT 20” |
2025-08-14 11:09:22 | أرسلت GRUB1 طلب GET على LimitSnapshot في بيئة Salesforce التابعة لشركة Cloudflare عبر المسار: /services/data/v58.0/limits/ |
2025-08-16 19:26:37 | سجّلت GRUB1 الدخول إلى بيئة Salesforce الخاصة بشركة Cloudflare من العنوان 44[.]215[.]108[.]109 . |
2025-08-16 19:28:08 | استعلمت GRUB1 عن جدول الحالات في بيئة Salesforce التابعة لشركة Cloudflare باستخدام الاستعلام: حدد عدد () من الحالات |
2025-08-17 11:11:23 | سجّلت GRUB1 الدخول إلى بيئة Salesforce الخاصة بشركة Cloudflare من العنوان 208[.]68[.]36[.]90 |
2025-08-17 11:11:55 | استعلمت GRUB1 عن جدول الحالات في بيئة Salesforce التابعة لشركة Cloudflare باستخدام الاستعلام: حدد عدد () من الحالات |
2025-08-17 11:11:56 to 11:15:18 | استخدمت GRUB1 واجهة Salesforce BulkAPI 2.0 من العنوان 208[.]68[.]36[.]90 لتنفيذ مهمة تهدف إلى استخراج عنصر الحالة |
2025-08-17 11:15:42 | استخدمت GRUB1 واجهة برمجة التطبيقات Salesforce Bulk API 2.0 من العنوان 208[.]68[.]36[.]90 لحذف المهمة التي نُفذت مؤخرًا لاستخراج كائن الحالات. |