
macOS के लिए स्थानीय विशेषाधिकार वृद्धि शोषण (CVE-2016-1757) जो Mach IPC रेस कंडीशन का उपयोग करके SIP और SUID सुरक्षाओं को बायपास करता है, कई OS X संस्करणों को लक्षित करता है।
Mach Race OS X स्थानीय विशेषाधिकार वृद्धि शोषण
(c) fG! 2015, 2016, [email protected] - https://reverse.put.as
एक SUID, SIP और बाइनरी एंटाइटलमेंट्स सार्वभौमिक OS X शोषण (CVE-2016-1757)।
SUID बाइनरी के विरुद्ध उपयोग:
./mach_race_server /bin/ps _compat_mode
for i in seq 0 1000000; do ./mach_race_client /bin/ps; done
SIP को बायपास करने के लिए एंटाइटल बाइनरी के विरुद्ध:
./mach_race_server /System/Library/PrivateFrameworks/PackageKit.framework/Versions/A/Resources/system_shove _geteuid
for i in seq 0 1000000; do ./mach_race_client /System/Library/PrivateFrameworks/PackageKit.framework/Versions/A/Resources/system_shove; done
नोट: क्योंकि सेवा का नाम संशोधित नहीं है, आप इस शोषण को उपयोगकर्ता से रूट तक चेन नहीं कर सकते और फिर SIP को बायपास करने के लिए इसका उपयोग नहीं कर सकते, क्योंकि bootstrap_register2 दूसरी बार विफल हो जाएगा (पहली बार से launchd के साथ सेवा पहले से ही पंजीकृत है)। इसका समाधान एक पैरामीटर जोड़ना है ताकि उदाहरण के लिए एक अलग सेवा नाम का उपयोग किया जा सके।
नोट2: इसे दो अलग-अलग ऐप्स में बनाने की आवश्यकता नहीं है, एक एकल बाइनरी काम करता है, आपको बस एक सर्वर और क्लाइंट को fork करने की आवश्यकता है।
संदर्भ:
http://googleprojectzero.blogspot.pt/2016/03/race-you-to-kernel.html
Mavericks 10.10.5, Yosemite 10.10.5, El Capitan 10.11.2 और 10.11.3 पर परीक्षण किया गया।
El Capitan 10.11.4 में स्थिर किया गया।
सभी OS X संस्करणों पर काम करना चाहिए (यह इस बात पर निर्भर करता है कि पुराने संस्करणों पर bootstrap_register2 मौजूद है या नहीं)।
पुराने संस्करणों के लिए bootstrap_create_server के साथ वैकल्पिक कार्यान्वयन संभव है।