
تصعيد الامتيازات المحلية عبر macOS 10.12.1 من خلال CVE-2016-1825 أو CVE-2016-7617.
physmem هي أداة لفحص الذاكرة الفعلية وتصعيد امتيازات محلية تستهدف macOS حتى الإصدار 10.12.1. تستغل إما CVE-2016-1825 أو CVE-2016-7617 اعتمادًا على هدف النشر. هاتان الثغرتان متطابقتان تقريبًا، ويمكن تنفيذ الاستغلال بنفس الطريقة تمامًا. تم إصلاحهما في OS X El Capitan 10.11.5 وmacOS Sierra 10.12.2، على التوالي.
نظرًا لأن هذه أخطاء منطقية، فإن الاستغلال موثوق بشكل لا يصدق. لم أواجه أي تعطل (panic) حتى الآن في عشرات الآلاف من المرات التي شغّلت فيها برنامجًا (بشكل صحيح) يستغل هذه الثغرات.
CVE-2016-1825 هي مشكلة في IOHIDevice تسمح بتعيين خصائص تسجيل IOKit عشوائية. على وجه الخصوص، يمكن لعمليات غير مميزة التحكم في الخاصية المميزة IOUserClientClass. لم أختبر المنصات قبل Yosemite، لكن الثغرة تظهر في الكود المصدري منذ Mac OS X Leopard.
CVE-2016-7617 هي مشكلة شبه متطابقة في AppleBroadcomBluetoothHostController. يبدو أن هذه الثغرة أُدخلت في OS X El Capitan. تم الإبلاغ عنها من قبل Ian Beer من Google's Project Zero (القضية 974) وRadu Motspan.
قم ببناء physmem بتحديد هدف النشر الخاص بك في سطر الأوامر:
$ make MACOSX_DEPLOYMENT_TARGET=10.10.5
يمكنك قراءة كلمة من الذاكرة الفعلية باستخدام أمر read:
$ ./physmem read 0x1000
a69a04f2f59625b3
يمكنك الكتابة إلى الذاكرة الفعلية باستخدام أمر write:
$ ./physmem write 0x1000 0x1122334455667788
$ ./physmem read 0x1000
1122334455667788
يمكنك تنفيذ شل بصلاحيات الجذر باستخدام أمر root:
$ ./physmem root
sh-3.2# whoami
root
تم إصدار كود physmem في النطاق العام. كمجاملة، أطلب منك إذا أشرت إلى أي من هذا الكود أو استخدمته أن تنسبه إليّ.