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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-44193 — اختراق ويندوز عبر iTunes  - تصعيد الامتيازات المحلي 0-day | Kitploit
أدوات/GitHubGitHub/mbog14/cve-2024-44193
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالأوراق والأبحاثالتعلم والتعليماستغلال الملفات الثنائية
GitHubmbog14/cve-2024-44193

CVE-2024-44193

اختراق ويندوز عبر iTunes  - تصعيد الامتيازات المحلي 0-day

عرض المستودع
981513منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

اختراق ويندوز عبر iTunes - ثغرة تصعيد صلاحيات محلية 0-day

تقديم CVE-2024–44193

هذه كتابة تحليلية حول CVE-2024–44193 وهي ثغرة تصعيد صلاحيات محلية في إصدار iTunes 12.13.2.3.

تم تصحيحها في 12 سبتمبر 2024 من قبل Apple. رابط الاستشارة الأمنية من Apple: الاستشارة الأمنية من Apple

إصدار iTunes 12.13.2.3 يثبّت خدمة اكتشاف أجهزة Apple: C:\Program Files\Common Files\Apple\Mobile Device Support\AppleMobileDeviceService.exe وهي معرضة لثغرة تصعيد صلاحيات محلية.

TL;DR

احترامًا وتفهمًا لمن لا يهتمون بكتابة أخرى سيئة الصياغة وطويلة على الأغلب، إليك النسخة المختصرة:

تحدث الثغرة بسبب سوء إدارة صلاحيات المستخدمين في المسار C:\ProgramData\Apple\*. يسمح ذلك لأعضاء المجموعة المحلية "Users" بكتابة ملفات عشوائية داخل هذا المسار. وعند إعادة تشغيل خدمة AppleMobileDeviceService.exe، والتي يمكن أن يطلقها مستخدم غير مميز، يمكن تجهيز إمكانية حذف مجلد/ملف عشوائي للحصول على تنفيذ تعليمات برمجية عشوائي على النظام بصلاحيات SYSTEM.

الأدوات:

تحذير! شروحات الأدوات التالية متواضعة.

تخطَّ هذا القسم إذا كنت معتادًا على هذه الأدوات.

  • Oplock

SetOpLock

أداة Oplock هي أداة لاستخدام “قفل انتهازي” في ويندوز. تسمح لنا الأداة بإيقاف عملية مؤقتًا عبر قفل ملف حتى تتحقق متطلبات معينة، إلا أنه يمكن استخدامها أيضًا لإيقاف عملية مؤقتًا لأغراض خبيثة مثل كسب وقت كافٍ لتشغيل حمولة الاستغلال.

  • FolderContentsDeleteToFolderDelete

FilesystemEoPs

تعمل أداة FolderContentsDeleteToFolderDelete عبر إنشاء مجلد يحتوي على ملف تلقائيًا. ثم يتم تعيين oplock على الملف لإيقاف العملية. عندما تتوقف العملية، يُنقل الملف خارج المجلد. بعد ذلك يُحذف المجلد ويُعاد إنشاؤه كـ NTFS junction إلى وجهة مستهدفة. عند إلغاء oplock واستمرار العملية، يتبع حذف الملف/المجلد NTFS junction المنشأ حديثًا إلى الوجهة المستهدفة ويحذف ذلك الملف قبل متابعة التنفيذ.

  • FolderOrFileDeleteToSystem

FilesystemEoPs

ربما تكون هذه الأداة مشروحة بشكل أفضل بواسطة Zero Day Initiative، لذا إليك رابطًا لشرح مباشر منهم:

إساءة استخدام عمليات حذف الملفات العشوائية لتصعيد الصلاحيات وحيل رائعة أخرى

الشرح الفعلي

مقدمة إلى الخدمة المعرضة للثغرة AppleMobileDeviceService.exe

بمجرد تثبيت iTunes، فإنه يثبّت أيضًا خدمة: AppleMobileDeviceService.exe تعمل بصلاحيات SYSTEM. عندما فحصت هذه الخدمة باستخدام مراقب العمليات Process Monitor (Procmon) من Windows Sysinternals، رصدت فورًا بعض السلوكيات المقلقة.

تقوم الخدمة بالمرور بشكل متكرر عبر جميع الملفات داخل المسار C:\ProgramData\Apple\Lockdown\* وتحذف جميع المجلدات والملفات التي لا تنتمي إليها.

للاختبار المحلي، استخدمت ProcessHacker2 لإعادة تشغيل الخدمة قسريًا من أجل فحص سلوك البرنامج. كان السلوك الملاحَظ هو أن الخدمة التي تعمل بصلاحيات SYSTEM تستعلم عن الدليل وجميع الأدلة الفرعية داخله، ثم تنفذ عملية CreateFile مع تفعيل خيار Delete On Close، أي أن خدمة SYSTEM تستعلم عن المسار C:\ProgramData\Apple\Lockdown\* وتستعلم بشكل متكرر عن المجلدات الفرعية والملفات داخل ذلك الدليل وتحذفها.

نص بديل

صلاحيات المستخدمين الإشكالية في المسار: C:\ProgramData\Apple\*

يمكن استخدام accesschk64.exe من Windows Sysinternals https://learn.microsoft.com/en-us/sysinternals/ للتحقق من حقوق الوصول لمجلدات معينة. أعضاء المجموعة المحلية "Users" لديهم أذونات كتابة داخل مجلد C:\ProgramData\Apple\Lockdown\، مما يمكّن المستخدمين ذوي الصلاحيات المنخفضة من كتابة ملفات عشوائية داخل المجلد.

نص بديل

إمكانية حذف ملف/مجلد عشوائي

بما أننا نستطيع كتابة ملفات عشوائية داخل مسار Lockdown، وستقوم عملية SYSTEM بحذفها عند إعادة تشغيل الخدمة، كان من الممكن إنشاء إمكانية حذف ملف/مجلد عشوائي. لتوضيح ذلك، أنشأت مجلدين فرعيين داخل مجلد Lockdown. مجلدًا فرعيًا a، ومجلدًا فرعيًا b داخل المجلد الفرعي a. سيبدو هذا بالشكل التالي: C:\ProgramData\Apple\Lockdown\a\b

داخل المجلد الفرعي a يوجد ملف نصي باسم aa.txt، وداخل المجلد الفرعي b يوجد ملف نصي باسم bb.txt

C:\ProgramData\Apple\Lockdown\a\aa.txt

C:\ProgramData\Apple\Lockdown\a\b\bb.txt

نص بديل

كما يظهر في لقطة الشاشة أعلاه، يتم تنفيذ عملية "CreateFile" مع خيار "Delete On Close" على aa.txt مما يؤدي إلى حذفه.

عندما تشغّل عملية SYSTEM العملية CreateFile على aa.txt وbb.txt مع الخيار Delete On Close على الملفات، فإن عملية SYSTEM AppleMobileDeviceService.exe ستحذف الملفات. الآن أصبح بإمكاننا إنشاء ملفات عشوائية داخل مجلد Lockdown وحذفها، وهو ما يقودنا إلى الحيلة التالية.

وصلات NTFS

في ويندوز، يمكن استخدام وصلات NTFS لتوجيه مجلد إلى مكان آخر. وهي تشبه إلى حد ما الروابط الرمزية في لينكس. لتوضيح ذلك، يمكن إنشاء وصلة NTFS (رابط رمزي) داخل مجلد C:\ProgramData\Apple\Lockdown يشير إلى مجلد على سطح المكتب. يمكنك تحقيق ذلك بنفسك باستخدام PowerShell New-Item -Type Junction -Path whatever -Target "C:\Users\user\Desktop\AAyes"، أو فقط استخدم مجموعة الأدوات المقدمة من ZDI:

FilesystemEoPs

شغّل الأمر التالي لتوجيه وصلة NTFS داخل مجلد Lockdown إلى "الهدف" على سطح المكتب.

.\FolderContentsDeleteToFolderDelete.exe /target "C:\Users\user\Desktop\AAyes" /initial "C:\ProgramData\Apple\Lockdown"

عند إعادة تشغيل الخدمة، ستشير وصلة NTFS المنشأة حديثًا إلى AAyes الموجود على سطح المكتب. بما أن الخدمة تشغّل عملية CreateFile مع خيار Delete On Close بصلاحيات SYSTEM، سيتم حذف الملف. وبما أن العملية تُنفَّذ بصلاحيات SYSTEM، نحصل على إمكانية حذف مجلد أو ملف عشوائي، ما يعني أنه يمكننا تنفيذ تعليمات برمجية على المضيف بصلاحيات SYSTEM.

نص بديل

ملاحظة:

كان من الضروري إجراء بعض التعديلات على الكود المصدري في مشروع FolderContentsDeleteToFolderDelete بسبب قيود على أسماء الملفات/المجلدات. كان يجب أن تكون أسماء الملفات/المجلدات قصيرة جدًا حتى يتم الحذف. السبب وراء ذلك غير معروف ولم يتم التحقيق فيه لأن الأسماء القصيرة حلت المشكلة بشكل موثوق.

تعديلات الكود المصدري لـ FolderContentsDeleteToFolderDelete:

const wchar_t folder2path[] = L"C:\\d";
const wchar_t exploitFileName[] = L"e.txt";

// It was required to shorten the two consstants: “folder2path” and “exploitFileName”
// They where changed to: L"C:\\d" and L"e.txt" because it seemed that file and folder name length had a meaningful impact on exploit functionality.

[...]

// We also needed to edit the “folder1path” value to L”c” in order to shorten it.
folder1path += L"c";

فرضية الاستغلال

بما أن الخدمة ستتبع أي وصلات (روابط رمزية) بشكل متكرر، كانت الفرضية هي أنه سيكون من الممكن حذف الملفات على النظام بشكل عشوائي بصلاحيات SYSTEM عبر خدمة Apple الثغرة التي ستتبع وصلة NTFS. وبما أن الخدمة الثغرة تسمح بشكل ملائم للمستخدمين غير المميزين بإعادة تشغيلها باستخدام الخدعة ("Apps -> Installed apps -> Apple Mobile Device Support -> Modify -> Repair) عبر واجهة ويندوز الرسومية، فمن الممكن تشغيل الاستغلال في أي وقت. وبمجرد إعادة تشغيل الخدمة، ستتبع وصلة NTFS، ويحدد سلوك البرنامج الثابت أن الخدمة ستحذف الملفات أو المجلدات التي يختار المستخدم الإشارة إليها.

بعبارة أخرى، المستخدم هو من يحدد الملفات أو المجلدات التي ستحذفها الخدمة. ونظرًا لأنها تعمل بصلاحيات SYSTEM، يمكننا حذف أي ملف تقريبًا على النظام (وليس الملفات التي تتطلب صلاحيات TrustedInstaller).

تنزيل الأداة