Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
google-osconfig-privesc — إثبات المفهوم حول ثغرة تصعيد الامتيازات التي تم تحديدها في Osconfig من Google | Kitploit
أدوات/GitHubGitHub/irsl/google-osconfig-privesc
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالما بعد الاستغلالاختبار الاختراقأمن السحابةالفريق الأحمر
GitHubirsl/google-osconfig-privesc

google-osconfig-privesc

إثبات المفهوم حول ثغرة تصعيد الامتيازات التي تم تحديدها في Osconfig من Google

عرض المستودع
10منذ 5 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

ملخص

عملية google_osconfig_agent هي أحد مكوّنات أدوات GoogleCloudPlatform (https://github.com/GoogleCloudPlatform/osconfig) الخاصة بها، وتعمل على كل جهاز افتراضي (VM) بشكل افتراضي. يعمل الوكيل بصلاحيات الجذر (root) وهو مسؤول عن بعض الخدمات التي يتحكم فيها المستخدم، بما في ذلك OS config (https://cloud.google.com/compute/docs/os-config-management)، وهو نوع من تنفيذ إعداد الحالة المطلوبة القائم على الاستطلاع من Google.

يستضيف هذا المستودع عرضاً توضيحياً لثغرة تصعيد صلاحيات حددتها في التنفيذ (وتم إصلاحها من قبل Google منذ ذلك الحين).

المشكلة

المهام التي سيتم تنفيذها تسمى recipes، وأحد أنواع recipes المدعومة هو تنفيذ سكربت شل. أثناء معالجة مثل هذا الـ recipe، يقوم الوكيل - الذي يعمل بصلاحيات الجذر بكامل الصلاحيات - بحفظ الملفات مؤقتاً في دليل /tmp، ثم يقوم بتنفيذها. يمكن اختطاف الدليل الذي ينشئه الوكيل وبالتالي يمكن استبدال السكربت الذي سيتم تنفيذه، مما يؤدي فعلياً إلى رفع الصلاحيات محلياً.

خطوات إعادة الإنتاج

  1. تجهيز البيئة:
root@kitploit:~
        gcloud services enable osconfig.googleapis.com 
        gcloud compute project-info add-metadata --metadata=enable-osconfig=TRUE    
  1. على الجهاز الافتراضي، تشغيل سكربت الاستغلال كمستخدم بصلاحيات منخفضة (nobody)
root@kitploit:~
        # cat /tmp/poc.txt
        cat: /tmp/poc.txt: No such file or directory

        # pip3 install inotify_simple
        # chroot --userspec=nobody:nogroup / /home/radimre83/osconfig-privesc-poc3.py
        Running as 65534
        calling inotify.read()
        ...
  1. إعداد سياسة os-config:
root@kitploit:~
        gcloud beta compute os-config guest-policies create test-policy-poc --file="C:\Projects\gcp-app-engine-experiments\compute-engine\osconfig-policy-poc.yaml"
  1. مخرجات سكربت poc عند نشر runscript (قد يستغرق ذلك 10-15 دقيقة):
root@kitploit:~
        Event(wd=1, mask=1073742080, cookie=0, name='recipe-runscript')
        New recipe: recipe-runscript2, rename: /tmp/osconfig_software_recipes.mali1596821311/xxx-recipe-name -> /tmp/osconfig_software_recipes.mali1596821311/recipe-runscript
        New rundir recipe-runscript2, rename: /tmp/osconfig_software_recipes.mali1596821311/recipe-runscript/xxx-rundir -> /tmp/osconfig_software_recipes.mali1596821311/recipe-runscript/run_1596821899000709826
  1. التحقق:
root@kitploit:~
        # cat /tmp/poc.txt
        uid=0(root) gid=0(root) groups=0(root),1000(google-sudoers)

نظام التشغيل: مثيل f1-micro من GCE مع صورة Debian 10 الافتراضية.

الإصلاح

تحولت Google إلى استخدام دليل مؤقت عشوائي بدلاً من دليل يمكن التنبؤ به.

المعالجة

تم إصدار النسخة المصلحة في 2020-09-05. تحتاج إلى ترقية حزمة نظام التشغيل لديك.

سيناريو الهجوم

هذه ثغرة تصعيد صلاحيات محلية، لذا يمكن استغلالها من قبل شخص لديه بالفعل حقوق تنفيذ أكواد على أجهزة GCE الافتراضية المتأثرة:

  • شخص لديه شل بصلاحيات منخفضة

  • مهاجم عبر خدمة شبكة تم اختراقها بالفعل

النقطة الأساسية هي السيطرة على «الدليل الأساسي» (/tmp/osconfig_software_recipes)، وهو أمر ممكن إذا لم تتم معالجة أي recipes في الجلسة الحالية بعد، مما يعني:

  • لم يتم تنفيذ أي recipes على الإطلاق حتى الآن (على سبيل المثال، ميزة osconfig لم تكن قيد الاستخدام، ولكنها ستُستخدم في وقت لاحق)

  • تمت إعادة تشغيل الجهاز الافتراضي وجميع الـ recipes موجودة في قاعدة البيانات (/var/lib/google/osconfig_recipedb)، ولكن يتم تنفيذ بعض تحديثات السياسات في وقت لاحق

في حين أن هذا المزيج الخاص يقلل بالفعل من احتمالية الاستغلال، أعتقد أن استخدام دليل عمل في /tmp ليس آمناً هنا. (وكذلك لم تعتبره Google آمناً، فقد تم إصلاح هذه المشكلة منذ ذلك الحين.)

الجدول الزمني

2020-08-07: تم اكتشاف المشكلة والإبلاغ عنها

2020-08-08: تم فرز المشكلة من قبل Google، وتغيرت الأولوية إلى P1

2020-08-10: تم تأكيد المشكلة من قبل Google (🎉 Nice catch!)، وتغيرت الأولوية إلى P2، والخطورة إلى S2

2020-08-14: تحديث حول عملية VRP

2020-09-05: تم إصلاح المشكلة من قبل Google

الاعتمادات

Imre Rad

الروابط

https://github.com/GoogleCloudPlatform/osconfig

https://issuetracker.google.com/issues/163147689

https://github.com/GoogleCloudPlatform/osconfig/commit/fa7e4ba5ee85be212ffbac66d96862c792bd270c

https://www.linkedin.com/in/imre-rad-2358749b/

تنزيل الأداة