
RootPipe (CVE-2015-1130) وPhoenix (CVE-2015-3673) أداة اختبار الثغرات الأمنية لنظام Mac OS X 10.2.8 والإصدارات الأحدث

RootPipe Tester هو تطبيق صغير يعمل على جهاز Mac الخاص بك (Mac OS X 10.2.8 أو أحدث، لكلٍّ من PowerPC وIntel) ويحاول استخدام كلٍّ من استغلالَي RootPipe (CVE-2015-1130) وPhoenix (CVE-2015-3673) لإحداث تصعيد صلاحيات (privilege escalation).
إن كان جهاز Mac الخاص بك قابلاً للاختراق يعتمد على إصدار Mac OS X الذي تشغّله، لكن نجاحه يعتمد أيضاً على التفضيلات التي قمت بتعيينها.
مع RootPipe Tester قمت بإنشاء حل بنقرة واحدة لك للتحقق من كونك عرضة للاختراق دون الحاجة إلى اختبارات ومحاولات مكثفة.
قم بتنزيل صورة القرص من صفحة الإصدارات (releases) في هذا المستودع أو قم بتجميعه بنفسك إذا كنت تفضّل.
قم بتركيب (mount) صورة القرص وشغّل التطبيق الموجود بداخلها (من الآمن تشغيل RootPipe Tester من صورة القرص).
انقر على "بدء الاختبار" ودع الاختبار يكتمل (يمكنك معرفة ما إذا انتهى من خلال "جارٍ التشغيل…" في عنوان النافذة).
للحصول على نتائج دقيقة، أنصح بإعادة تشغيل جهاز Mac وتشغيل الاختبار مرة أخرى على "تسجيل دخول جديد".
إذا اكتشف أحد اختبارات التشغيل على الأقل أن النظام قابل للاختراق، فقد ترغب في الاطلاع على قسم PANIC.
لا! حافظ على هدوئك واقرأ الدليل المناسب لإصدار نظامك.
ملاحظة: "غير قابل للاختراق" في حالة تفويض المستخدم (user authorization) تعني أن النظام إما لن يمنح الوصول أو سيعرض حوار تفويض يطلب منك المصادقة كمستخدم Administrator.
إلى حدٍّ ما يُعد هذا أيضاً تصعيد صلاحيات، لأن مجموعة admin لا تملك حقوقاً بقدر root، لكن في الإعداد الافتراضي لأمر sudo، يمكن لأي مستخدم في مجموعة "admin" الحصول على صلاحيات root بإدخال كلمة المرور الخاصة به، لذا يمكن تحقيق نفس التأثير ببساطة عبر تشغيل sudo.
قم بالترقية إلى 10.10.3 في أقرب وقت ممكن للتأكد من أن النظام يفرض الاستحقاقات (entitlements) على ملف writeconfig الثنائي بشكل صحيح. (هذا على الأقل ما تقوله Apple)
إذا تعذّر عليك الترقية إلى 10.10.3 لسبب ما، فراجع القسم الخاص بـ OS X 10.9 Mavericks.
يسمح Mavericks للمستغل بالمرور بتفويض فارغ (nil authorization)، لذا فأنت في وضع أصعب بكثير مقارنة بالإصدارات الأقدم من Mac OS X.
قد ترغب في إلقاء نظرة على can_I_suid.
نتائج الاختبار:
قابل للاختراق
يجب عليك تفعيل "طلب كلمة مرور لفتح كل لوحة من لوحات تفضيلات النظام" في لوحة تفضيلات الأمان (Security).
نتائج الاختبار:
غير قابل للاختراق
تهانينا! لديك أحد أكثر إصدارات Mac OS X أماناً (على الأقل فيما يتعلق بـ RootPipe).
على هذه الأنظمة، يعمل خيار "طلب كلمة مرور لفتح كل لوحة من لوحات تفضيلات النظام" ("طلب كلمة مرور لفتح كل تفضيل نظام آمن" في Tiger) في لوحة تفضيلات الأمان بشكل صحيح و_يجب حقاً تفعيله_!
ملاحظة: إذا كان مربع "طلب كلمة المرور" غير محدّد، سيقوم النظام بفتح لوحات التفضيلات الآمنة في كل تسجيل دخول. إذا كنت تستخدم حساب Administrator فسيجعل ذلك نظامك قابلاً للاختراق حتى تقوم يدوياً بإغلاق القفل في تفضيلات النظام بعد كل تسجيل دخول.
نتائج الاختبار:
غير قابل للاختراق
على عكس الأنظمة الأحدث، في Panther، لا يكون لمربع "طلب كلمة مرور لفتح كل تفضيل نظام آمن" في لوحة تفضيلات الأمان تأثير منع هذا الاستغلال من العمل تماماً. ما زلت أنصح بتحديده.
لتأمين نظامك، أنصحك بشدة بالتحول إلى استخدام حساب مستخدم قياسي فقط، ودائماً "إغلاق القفل" يدوياً بعد تغيير التفضيلات في تفضيلات النظام.
إغلاق تفضيلات النظام فقط لن يلغي التفويض بشكل صحيح، وسيستمر هذا الاستغلال في العمل حتى تسجّل الخروج، على الرغم من أن واجهة تفضيلات النظام تُظهر قفلاً مغلقاً لمستخدم قياسي.
نتائج الاختبار:
غير قابل للاختراق
على عكس الأنظمة الأحدث، لا يوفر Jaguar مربع "طلب كلمة مرور لفتح كل تفضيل نظام آمن" لكنه ما زال يفتح لوحات التفضيلات الآمنة عند تسجيل الدخول لجميع مستخدمي Administrator.
لتأمين نظامك، أنصحك بشدة بالتحول إلى استخدام حساب مستخدم قياسي فقط.
ملاحظة: لا يقفل Jaguar لوحات التفضيلات الآمنة عند خروج تفضيلات النظام، لذا قم دائماً بقفل اللوحات الآمنة يدوياً. إذا أخفقت في ذلك، سيستمر الاستغلال في العمل حتى تسجّل الخروج.
ملاحظة: إذا لم تستطع التحول إلى حساب مستخدم قياسي، فقد يؤدي الغرضَ برنامج AppleScript بسيط يقفل لوحات التفضيلات الآمنة كأحد عناصر تسجيل الدخول (Login Item).
ملاحظة: لن يعمل الإصدار العادي من RootPipe Tester على Jaguar. قم بتنزيل الإصدار القديم (Legacy) من RootPipe Tester إذا أردت العمل على Jaguar.
الإصدار القديم من RootPipe Tester مكافئ وظيفياً للإصدار العادي، لكنه مُجمّع باستخدام GCC 3.1 بدلاً من GCC 4.0.
نتائج الاختبار:
غير قابل للاختراق
يبدو أن استغلال Puma ممكن، لأنه يستخدم نفس الخطوات لمصادقة تفضيلات النظام ومعظم المكونات الضرورية موجودة.
الشيء الوحيد الذي يعيق الاستغلال هو أن Puma لا يمتلك SecurityFoundation.framework المستخدم في الإصدارات الأحدث للتفويض.
بدلاً من ذلك يستخدم إطاراً خاصاً (PrivateFramework) يُدعى NIInterface.framework يجب هندسته عكسياً أولاً.