
استغلال لـ CVE-2023-38571
تطبيقا macOS Music وTV يقومان بعملية إعادة تسمية غير آمنة تؤدي إلى الحصول على FDA عبر السيطرة الكاملة على ملف TCC.db الخاص بالمستخدم
لقد أبلغت عن هذا الخطأ في تذاكر منفصلة لكل تطبيق، لا تتردد في الدمج إذا كان ذلك مناسبًا.
المشكلة الأساسية هي أن هذه التطبيقات لديها FDA لكنها تفشل في تعقيم عملياتها على الملفات.
تطبيقا Music وTV متشابهان تقريبًا في هذا الجانب، فقط المسارات مختلفة. سأستخدم Music كمثال من هنا فصاعدًا. بالنسبة لـ TV، يرجى مراجعة كود الاستغلال فهو واضح جدًا.
يحتوي Music على وظيفة لنسخ الملفات إلى مكتبة المستخدم باستخدام مجلد خاص يمكن للمستخدم "إفلات" الملفات فيه.
يمكن للمستخدم ببساطة إنشاء ملف في
~/Music/Music/Media.localized/Automatically Add to Music.localized/
سيأخذ Music هذا الملف ويقوم بإعادة تسمية غير آمنة إلى "~/Music/Music/Media.localized/Automatically Add to Music.localized/Not Added.localized".
إذا استخدمنا ملف TCC.db صالحًا (يقوم الاستغلال بتوليده) فسيتم نسخه إلى مجلد "Not Added.localized" نظرًا لأنه ليس ملف وسائط. هذا مفيد جدًا، حيث يمكننا إعادة توجيه عملية إعادة التسمية هذه إلى الموقع الحقيقي لـ TCC.db باستخدام سباق روابط رمزية بسيط.
الاستغلال من الناحية الفنية عبارة عن حالة سباق، ومع ذلك فهو موثوق للغاية لدرجة أنني لم أقم حتى بتنفيذ إعادة محاولة لأنه ينجح دائمًا من المحاولة الأولى.
الاستخدام لـ music:
DEBUG=1 ./librarian.py 1
الاستخدام لـ tv:
DEBUG=1 ./librarian.py 2
لإعادة تعيين tcc db بين الاختبارات:
launchctl stop com.apple.tccd launchctl start com.apple.tccd sleep 1 tccutil reset All