تستمر حملة سلسلة التوريد المرتبطة بـ TeamPCP مع اختراق durabletask v1.4.1, v1.4.2، و v1.4.3. يعتبر DubrableTask هو عميل Microsoft Python الرسمي لإطار عمل سير عمل Permanent Task.

تم عزل هذه الحزم بواسطة PyPi، بعد تحليل Wiz.

السبب الجذري

هناك صلة مباشرة بين ما ورد سابقا @antv موجة وهذه الحزمة للخطر.

تم التعرف على حساب مستخدم مخترق بناءً على نشر المستودعات المتورطة في تلك الموجة. ويمكن ملاحظة نفس الحساب الذي يستهدف microsoft/durabletask-python بين الساعة 15:08 بالتوقيت العالمي و15:16 بالتوقيت العالمي:

نشاط المهاجم ضد `microsoft/durabletask-python`

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

لذلك يمكننا أن نستنتج أن المهاجم قام باختراق حساب GitHub من خلال هجوم سابق، وألقى أسرار GitHub من مستودع كان للمستخدم حق الوصول إليه، ومن هناك كان لديه حق الوصول إلى رمز PyPi للنشر مباشرة.

الحمولة

الحمولة هي تطور طفيف لتلك التي تم نشرها سابقًا في حل وسط guardrails-ai الحزمة في 11 مايو.

يصف المحولات.pyz v2 مهمة دائمة v1.4.1 مهمة دائمة v1.4.2 مهمة دائمة v1.4.3
حالة حمولة البرامج الضارة مساومة مساومة مساومة
المجال C2 83.142.209.194 check.git-service.com check.git-service.com check.git-service.com
النسخ الاحتياطي C2 t.m-kosche.com t.m-kosche.com t.m-kosche.com
الحمولة transformers.pyz rope.pyz rope.pyz حبل.pyz
نقاط الحقن __init__.py __init__.py task.py entities/__init__.py, extensions/__init__.py, payload/__init__.py
نظام التشغيل المستهدف لينكس لينكس لينكس لينكس
سرقة أوراق الاعتماد AWS وAzure وGCP وK8s وVault ونظام الملفات وكلمات المرور نعم (موروث) نعم (موروث) نعم (موروث)
نشر AWS SSM لا نعم نعم نعم
الحركة الجانبية K8s لا نعم نعم نعم
مدير كلمة المرور Bruteforce لا نعم (Bitwarden، 1Password، GPG) نعم (Bitwarden، 1Password، GPG) نعم (Bitwarden، 1Password، GPG)
تجريف التاريخ لا نعم (.bash_history, .zsh_history) نعم نعم
حد الانتشار 5 أهداف/مضيف 5 أهداف/مضيف 5 أهداف/مضيف
علامة العدوى ~/.cache/.sys-update-check ~/.cache/.sys-update-check ~/.cache/.sys-update-check
مفتاح آر إس إيه المفتاح أ المفتاح ب (جديد) المفتاح ب (جديد) المفتاح ب (جديد)
التحقق من طبقة المقابس الآمنة عاجز ممكّن ممكّن ممكّن

ما هي الخطوات التي يجب على فرق الأمن اتخاذها؟

يجب على عملاء Wiz الرجوع إلى مركز Wiz Threat Intelligence Center الاستشاري بشأن هذه الحادثة.

  1. تحديد التعرض على الفور: ابحث في ملفات القفل وسجلات CI عن إصدارات Permanenttask 1.4.1 أو 1.4.2 أو 1.4.3. بحث /tmp/managed.pyz أو /tmp/rope-*.pyz على أنظمة لينكس.

  2. تحقق من الثبات: ابحث عن علامة الإصابة ~/.cache/.sys-update-check (AWS/عام) و ~/.cache/.sys-update-check-k8s (Kubernetes) على الأنظمة المتأثرة. يؤكد التواجد تنفيذ الحمولة. تحقق من تشغيل python3 /tmp/managed.pyz العمليات.

  3. تدوير كافة بيانات الاعتماد: في حالة الاشتباه في التعرض، قم بتدوير بيانات اعتماد AWS (خاصة بيانات اعتماد مستخدم IAM)، وبيانات اعتماد Azure، وحسابات خدمة GCP، وحسابات خدمة Kubernetes، ورموز Vault المميزة، وأي كلمات مرور مخزنة في Bitwarden، أو 1Password، أو pass/gopass. افترض أن تاريخ الصدفة (.bash_history، .zsh_history) قد تم استخلاصه.

  4. تدقيق AWS SSM وKubernetes: تحقق من CloudTrail لاستدعاءات SSM:SendCommand وSSM:DescribeInstanceInformation من المثيلات المخترقة. قم بمراجعة سجلات تدقيق Kubernetes بحثًا عن نشاط kubectl exec غير المتوقع. تنتشر الدودة إلى ما يصل إلى 5 أهداف لكل مضيف مصاب.

  5. تحقق من جلسات مدير كلمة المرور: قم بمراجعة استخدام Bitwarden (bw) و1Password (op) لواجهة سطر الأوامر (CLI). تحاول الحمولة إلغاء القفل باستخدام القوة الغاشمة باستخدام كلمات المرور المحصودة من متغيرات البيئة وسجل الصدفة.

  6. البنية التحتية بلوك C2: حاجز check.git-service.com و t.m-kosche.com على مستوى DNS/الوكيل. حظر الاتصالات الصادرة إلى نقاط نهاية exfil /v1/models, /audio.mp3، و /api/public/version.

للحصول على إرشادات التصلب على المدى الطويل، قام Wiz بتطوير:

مؤشرات التسوية

ملف التجزئة
حبل.pyz 069ac1dc7f7649b76bc72a11ac700f373804bfd81dab7e561157b703999f44ce
متينة -1.4.1-py3-none-any.whl 7d80b3ef74ad7992b93c31966962612e4e2ceb93e7727cdbd1d2a9af47d44ba8
متينة -1.4.2-py3-none-any.whl aeaf583e20347bf850e2fabdcd6f4982996ba023f8c2cd56bbd299cfd56516f5
متينة -1.4.3-py3-none-any.whl 877ff2531a63393c4cb9c3c86908b62d9c4fc3db971bc231c48537faae6cb3ec

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

يكتب مؤشر
المجال C2 (الابتدائي) check.git-service.com
مجال C2 (ثانوي) t.m-kosche.com
عنوان URL للحمولة https://check.git-service[.]com/rope.pyz
عنوان URL للحمولة (النسخ الاحتياطي) https://t.m-kosche[.]com/rope.pyz
Killswitch/نقطة نهاية الأمر /v1/models
مسح الصوت (إسرائيل/إيران فقط) /audio.mp3
نقطة النهاية إكسفيل /api/public/version
تراث C2 IP 83.142.209.194

مؤشرات وقت التشغيل

يكتب مؤشر
الحمولة التي تم تنزيلها /tmp/managed.pyz
الحمولة التي تم تنزيلها /tmp/rope-*.pyz
علامة العدوى (عام) ~/.cache/.sys-update-check
علامة الإصابة (Kubernetes) ~/.cache/.sys-update-check-k8s
ملف حالة SSM /tmp/.rope_state/ssm_instances.json
شاركها.
اترك تعليقاً