في أعقاب هجمات سلسلة التوريد الأخيرة التي استهدفت مشاريع Trivy وKICKS وLiteLLM، قام فريق الاستجابة لحوادث عملاء Wiz (CIRT) وWiz Research بشكل استباقي بمطاردة الهجمات المتعددة التي تنفذها مجموعة TeamPCP والاستجابة لها.

قامت Wiz Research بتتبع حملة عمليات سلسلة التوريد ضد الأدوات الشائعة مفتوحة المصدر التي نفذتها المجموعة التي تطلق على نفسها اسم “TeamPCP” خلال الأسبوعين الماضيين:

  • 19 مارس – تافه: تم إدخال برامج ضارة لسرقة بيانات الاعتماد في أداة فحص الثغرات الأمنية في Aqua Security من خلال الإجراءات الثنائية وإجراءات GitHub وصور الحاوية.

  • 23 مارس – كيكس: تم حقن نفس البرامج الضارة في الماسح الضوئي IaC الخاص بـ Checkmarx، من خلال امتدادات GitHub Action وOpenVSX.

  • 24 مارس – لايتLLM: حزم PyPI الضارة التي تستهدف مكتبة وكيل LLM الشهيرة.

  • 27 مارس – Telnyx: تم نشر إصدارات ضارة من حزمة Telnyx Python على PyPI.

نشرت جميع الهجمات الأربع برامج ضارة تحصد بيانات الاعتماد السحابية، ومفاتيح SSH، وملفات تكوين Kubernetes، وأسرار CI/CD، وتقوم بتشفيرها وإخراجها إلى المجالات التي يسيطر عليها المهاجم. يوضح منشور المدونة هذا كيف شاهد Wiz استخدام بيانات الاعتماد هذه بعد سرقتها.

رأى Wiz CIRT مؤشرات في السحابة والتعليمات البرمجية وأدلة وقت التشغيل على أن بيانات الاعتماد والأسرار المسروقة في اختراقات سلسلة التوريد تم التحقق من صحتها بسرعة واستخدامها لاستكشاف بيئات الضحايا وسحب البيانات الإضافية. وفي حين أن السرعة التي تم استخدامها بها تشير إلى أنه كان من عمل نفس الجهات الفاعلة في مجال التهديد المسؤولة عن عمليات سلسلة التوريد، إلا أننا لا نستطيع استبعاد الأسرار التي تتم مشاركتها مع مجموعات أخرى واستخدامها من قبلهم.

التحقق السري

حددت Wiz CIRT نشاطًا يستفيد من الأسرار المسروقة عبر اختراق سلسلة التوريد Trivy في وقت مبكر من 19 مارس، بعد ساعات فقط من نشر البرامج الضارة الأولية. وكما هو الحال غالبًا في عمليات جمع بيانات الاعتماد الجماعية، كانت الخطوات الأولى هي التحقق من صحة الأسرار المسروقة باستخدام الأداة مفتوحة المصدر TruffleHog. يمكن لـ TruffleHog أتمتة التحقق من صحة بيانات الاعتماد عن طريق إجراء مكالمات API مباشرة إلى موفري الخدمات السحابية المعنيين. على سبيل المثال، عند التحقق من مفتاح وصول AWS، يستدعي TruffleHog استدعاء sts:GetCallerIdentity API لتأكيد ما إذا كانت بيانات الاعتماد المخترقة تظل نشطة وقابلة للاستخدام. حدد الفريق مكالمات TruffleHog ضد أنواع مختلفة من المفاتيح السحابية ومفاتيح SaaS، بما في ذلك مفاتيح وصول AWS، وأسرار تطبيق Azure، ورموز SaaS المميزة المختلفة.

الاكتشاف الداخلي

بعد التحقق من صحة الأسرار، وبسرعة تصل إلى 24 ساعة بعد السرقة الأولية، بدأ ممثل التهديد في إجراء عمليات اكتشاف AWS. ركزت هذه المرحلة على تعداد بيئة الضحايا عبر العديد من خدمات AWS:

  • الهوية والحساب: IAM (ListUsers، وListRoles، وListAttachedUserPolicies)، وEC2 (DescribeInstances)، وLambda (ListFunctions).

  • البنية التحتية والتخزين: RDS (DescribeDBInstances)، والطريق 53 (ListHostedZones)، وS3 (ListBuckets، وGetBucketPublicAccessBlock).

  • بيئات الحاويات (ECS): أظهر TeamPCP تركيزًا واضحًا على ECS ومجموعات التعيين وتعريفات المهام (ListClusters وListTaskDefinitions وDescribeTaskDefinition وListTasks وDescribeTasks) لتحديد أهداف الوصول التفاعلي للحاويات.

  • إدارة الأسرار: AWS Secrets Manager (ListSecrets)، والذي تم استهدافه لإعداد قائمة بالأسرار المتاحة للتصفية المجمعة.

تنفيذ التعليمات البرمجية والحركة الجانبية

بمجرد التحقق من صحة الوصول وتحديد التصميم، استخدم الممثلون مجموعة متنوعة من التقنيات لتعزيز مخططهم من خلال تنفيذ تعليمات برمجية إضافية والوصول إلى أجزاء أخرى من بيئات الضحية.

  • في حالات متعددة، أساء فريق TeamPCP استخدام سير عمل GitHub لتنفيذ التعليمات البرمجية داخل المستودعات المستهدفة. باستخدام رموز الوصول الشخصية (PATs) المسروقة، أنشأ المهاجمون طلبات سحب تحتوي على مسارات عمل ضارة، والتي تم تشغيلها بعد ذلك للتشغيل في سياق المستودع. من المحتمل أن توفر مسارات العمل هذه إمكانية الوصول إلى محتويات المستودع وأسرار وقت التشغيل، بما في ذلك متغيرات البيئة والرموز المميزة المتوفرة أثناء التنفيذ. بعد التنفيذ، قام المهاجم بحذف سجلات سير العمل المرتبطة، ومن المحتمل أن يؤدي ذلك إلى إزالة الأدلة على نشاطهم وإعاقة اكتشافهم.

  • وفي حالات أخرى، أشارت الأدلة المتبقية إلى أن عمليات سير العمل الضارة تم إنشاؤها بواسطة نورد ستريم أداة جيثب.

  • في بيئات AWS، تم استخدام ميزة ECS Exec (الاستفادة من وكيل SSM) لتنفيذ أوامر Bash ونصوص Python مباشرة على الحاويات قيد التشغيل. وقد مكّن هذا الوصول المهاجمين من استكشاف البيئة وتصفية البيانات الحساسة.

استخراج البيانات

استهدفت الجهات الفاعلة في مجال التهديد معلومات قيمة في جميع أنحاء بيئات الضحايا، باستخدام تقنيات أصلية لسرقة البيانات بكفاءة. . بالإضافة إلى قيمتها المباشرة، قد تحتوي البيانات المسربة أيضًا على أسرار إضافية تتيح المزيد من الوصول والاستغلال.

  • في GitHub، أساءوا استخدام الوصول المصادق عليه عبر رموز الوصول الشخصية (PATs) لاستنساخ المستودعات على نطاق واسع باستخدام “git.clone”، مما يتيح الوصول إلى التعليمات البرمجية المصدر وملفات التكوين والأسرار المضمنة داخل البيئات المتأثرة.

  • داخل بيئات AWS، استخدم المهاجمون بيانات الاعتماد المسروقة للوصول إلى البيانات واستخراجها من الخدمات مثل مجموعات S3 وSecrets Manager وقواعد البيانات، مما يتيح استرجاع البيانات المجمعة والكشف المحتمل للمعلومات الحساسة.

الملف الشخصي للخصم

ركزت أنشطة ما بعد الاختراق التي قام بها TeamPCP على الكشف عن أسرار إضافية وتصفية كميات هائلة من البيانات من مستودعات الأكواد والموارد السحابية. من المحتمل أن تتم مشاركة البيانات المسربة والأسرار المخترقة مع مجموعات أخرى لتمكين مجموعة من العمليات.

لا يحاول فريق TeamPCP الاختباء أو الاندماج – فقد أعطوا الأولوية لسهولة الاستخدام والسرعة باستخدام أدوات مفتوحة المصدر ذات توقيعات قوية، وإجراء عمليات ضخمة، واستخدام أسماء موارد جريئة مثل “pawn” أو “massive-exfil”. لاحظ Wiz CIRT الجزء الأكبر من نشاط TeamPCP الناشئ من عقد الخروج من شبكة Mullvad Virtual Private Network (VPN) ومضيفي الخادم الخاص الافتراضي مثل InterServer.

لاكتشاف النشاط الشاذ والرد عليه، تأكد من تمكين تسجيل التدقيق ومراقبته عبر موفري الخدمة السحابية وأنظمة التحكم في الإصدار. يتضمن ذلك السجلات غير الافتراضية مثل سجلات التخزين السحابي وتسجيل IP في سجلات تدقيق GitHub.

لتحديد التسوية ما بعد الهجوم على سلسلة التوريد، ابحث عن ما يلي:

  • أي مصدر سجلات يحتوي على بطاقات IOC المعروفة المفصلة أدناه، بما في ذلك عناوين IP ووكلاء المستخدم.

  • الاستخدام غير المتوقع لموفري VPN

  • استخدام المفاتيح أو الرموز المميزة من مؤسسات النظام الذاتي الجديدة/الشاذة (ASOs)

  • نشاط تعداد غير عادي، على سبيل المثال: “ListUsers”، “ListRoles”، “DescribeInstances”

  • وصول سري غير عادي والتحقق من صحته، على سبيل المثال: “ListSecrets”، “GetCallerIdentity”

  • العديد من أحداث “GetSecretValue” أو “GetObject” في فترة زمنية قصيرة بواسطة رمز مميز أو مفتاح

  • تنفيذ شاذ لـ “ExecuteCommand” بواسطة رمز مميز أو مفتاح

  • تنفيذ غير طبيعي على أعباء العمل من عمليات SSM

  • العديد من أحداث “git.clone” في فترة زمنية قصيرة بواسطة رمز مميز أو مفتاح

  • حذف سجل سير العمل بواسطة رمز مميز أو مفتاح

يمكن لعملاء Wiz العثور على نسخة من هذا التحديث في مركز التهديدات هنا.

إذا كنت من عملاء Wiz Defend، فيمكنك البحث عن الاكتشافات التالية:

بطاقة تعريف اسم ملحوظات
cer-github-data-massPrivateRepoCloneOperationsByUser عمليات الاستنساخ الجماعي للمستودعات الخاصة التي يقوم بها المستخدم ما بعد التسوية
cer-github-data-massCloneOperationsByUser عمليات الاستنساخ الشامل التي يقوم بها المستخدم ما بعد التسوية
cer-github-control-workflowLogDeleted تم حذف سجل سير العمل ما بعد التسوية
cer-azure-control-apiCallsUsingOffensiveTool استدعاءات Azure API باستخدام أداة هجومية معروفة ما بعد التسوية
ارتباط cer-id-201 استدعاءات واجهة برمجة تطبيقات AWS Management بواسطة أداة هجومية معروفة ما بعد التسوية
cer-all-global-apiCallsUsingVPN مكالمات API التي تم إجراؤها باستخدام VPN ما بعد التسوية
cer-all-global-apiCallUsingThirdPartyVPN استدعاء API باستخدام VPN لجهة خارجية ما بعد التسوية
cer-github-control-unusualUserAccessThroughThirdPartyVPN وصول مستخدم غير عادي إلى Github من خلال VPN لجهة خارجية ما بعد التسوية
cer-aws-control-unusualGetSecretValueByIAMUser استرجاع قيمة سرية غير عادية بواسطة مستخدم IAM طويل الأمد ما بعد التسوية
cer-aws-identity-unusualGetCallerIdentity عملية GetCallerIdentity غير عادية ما بعد التسوية
cer-aws-identity-staleIAMAccessKeyUsed مفتاح وصول IAM يُستخدم بعد فترة طويلة من عدم النشاط ما بعد التسوية
ارتباط cer-id-105 تم تنفيذ ملف تنفيذي شاذ غير موجود في صورة الحاوية بعد التسوية، ابحث عن علامة سياق SSMSession
سير سين IOC-13 تم اكتشاف اتصال بعنوان IP ضار معروف هجوم سلسلة التوريد التافهة
سير-سين-id-1006 أنشأت العملية اتصالاً بالشبكة عن بعد عبر أدوات bash المدمجة هجوم سلسلة التوريد التافهة
سير سين معرف 1417 استعلام DNS إلى مجال أداة الأمان المطبعية هجوم سلسلة التوريد التافهة
سير سين معرف 1304 قام برنامج بايثون النصي بتنفيذ كود Base64 المشفر هجوم سلسلة التوريد LiteLLM

للحصول على توصيات التصلب والمعالجة، يرجى الاطلاع على منشورات مدونة Wiz على تافه, كيكس، و لايتLLM هجمات سلسلة التوريد.

إذا كنت تشك في أنك تتعرض لهجوم، تواصل مع Wiz CIRT.

مؤشرات الشبكة

مؤشر أسو أول ملاحظ آخر ملاحظة ملحوظات
105.245.181.120 فوداكوم (وكيل رد الاتصال) 19 مارس، الساعة 18:47 بالتوقيت العالمي 20 مارس 00:22 التحقق السري مع TruffleHog
138.199.15.172 Datacamp Limited (Mullvad VPN) 19 مارس، الساعة 20:32 بالتوقيت العالمي 25 مارس، الساعة 10:58 بالتوقيت العالمي ترشيح GitHub، دفع سير العمل الضار إلى استطلاع AWS وتنفيذه وترشيحه
154.47.29.12 Datacamp Limited (Mullvad VPN) 21 مارس 02:15 بالتوقيت العالمي 23 مارس، الساعة 20:05 بالتوقيت العالمي التحقق السري من استطلاع AWS
163.245.223.12 إنترسيرفر، وشركة 20 مارس، الساعة 21:13 بالتوقيت العالمي 20 مارس، الساعة 23:24 بالتوقيت العالمي استخراج جيثب
170.62.100.245 Datacamp Limited (Mullvad VPN) 20 مارس، الساعة 23:53 بالتوقيت العالمي 23 مارس 20:19 بالتوقيت العالمي استطلاع AWS
185.77.218.4 شركة أوي كريا نوفا لحلول الاستضافة المحدودة 26 مارس 06:13 بالتوقيت العالمي 26 مارس 08:28 بالتوقيت العالمي التحقق السري مع TruffleHog
193.32.126.157 31173 خدمات AB (Mullvad VPN) 20 مارس 00:57 بالتوقيت العالمي 20 مارس، الساعة 13:47 بالتوقيت العالمي استخراج جيثب
209.159.147.239 إنترسيرفر، وشركة 20 مارس 01:48 بالتوقيت العالمي 23 مارس، الساعة 20:04 بالتوقيت العالمي التحقق السري مع TruffleHog
23.234.107.104 تزولو، Inc 24 مارس 07:18 بالتوقيت العالمي 24 مارس 07:38 بالتوقيت العالمي التحقق السري مع Trufflehog
34.205.27.48 أمازون.كوم، إنك 27 مارس 05:34 بالتوقيت العالمي 27 مارس 06:03 بالتوقيت العالمي التحقق السري مع TruffleHog
103.75.11.59 المضيف العالمي بي تي واي المحدودة 23 مارس، الساعة 07:32 بالتوقيت العالمي لا يوجد https://kudelskisecurity.com/research/investigating-two-variants-of-the-trivy-supply-chain-compromise)

مؤشرات الكود

مؤشر يكتب ملحوظة
dev_remote_ea5Eu/test/v1 اسم الفرع اسم الفرع الافتراضي لـ “Nord Stream”

وكلاء المستخدم

مؤشر ملحوظة
الكمأة التحقق السري
بوابة/2.43.0 استخراج GitHub إصدار Git عمره أكثر من عامين
Boto3/1.42.73 md/Botocore#1.42.73 ua/2.1 os/linux#6.17.10+kali-amd64 md/arch#x86_64 lang/python#3.13.11 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.42.73 بوتو 3 (كالي لينكس)

مراجع

أمن كوديلسكي: التحقيق في متغيرين من تسوية سلسلة التوريد Trivy

شاركها.
اترك تعليقاً