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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2022-29072 — 7-Zip حتى الإصدار 21.07 على ويندوز يسمح بتصعيد الامتيازات وتنفيذ الأوامر عند سحب ملف بامتداد .7z إلى منطقة Help>Contents. | Kitploit
أدوات/GitHubGitHub/kagancapar/cve-2022-29072
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالحركة الجانبيةالاختبار العشوائيالقيادة والسيطرةتطوير الحمولاتاستغلال الملفات الثنائية
GitHubkagancapar/cve-2022-29072

CVE-2022-29072

7-Zip حتى الإصدار 21.07 على ويندوز يسمح بتصعيد الامتيازات وتنفيذ الأوامر عند سحب ملف بامتداد .7z إلى منطقة Help>Contents.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

معلومات

لم أنشر أي كود إثبات (PoC) لأي هجوم رفع صلاحيات في أي مكان. أكواد الإثبات الموجودة لا علاقة لها برفع الصلاحيات. لمعلوماتك.

حول 7-Zip

7-Zip هو أرشيف ملفات مجاني ومفتوح المصدر. الإصدار موجه الأوامر من 7-Zip مُصمم للأنظمة الشبيهة بيونكس، بل وحتى أميغا أو إس (AmigaOS) ضمن هذه القائمة. كما أنه متوافق مع نظام "دوس" من خلال منفذ دوس أو مع موسع HX-DOS، ويمكن تشغيله في موجه أوامر ويندوز.

CVE-2022-29072

سأكتب بالتركية أيضًا لتتعلموا التركية قليلاً.

أولاً، أود الإشارة إلى قصتي في اكتشاف الثغرة. رأيت حمولة (Payload) تستغل ثغرة XXE على WinRAR. كما أنها كانت تسمح بتشغيل الأوامر عبر JavaScript باستخدام ActiveXObject و WScript.Shell من خلال ملف مساعد HTML (HTML Helper). لم يكن ذلك مختلفاً عن HTA المستخدم في lolbins، وفكرت كيف يمكنني تحويل الموقف لصالحي.

(https://www.exploit-db.com/exploits/47526)

في الحقيقة، كان هدفي هو الحصول على شل عكسي (reverse shell) على الحاسوب الهدف بعد النقر المزدوج على امتدادات ضغط مثل 7z و zip و rar، وكنت أفكر فيما إذا كان بإمكاني استخدام ملف مساعد HTML لتحقيق ذلك. بعد عمليات تدقيق (fuzzing) طويلة باستخدام WinAFL، اكتشفت وجود تجاوز سعة كومة (heap overflow) على FzGM.exe، لكن بعد تجاوز السعة، ستكون صلاحياتي بنفس المستخدم، لذا لم يكن لذلك معنى. لذلك لم أستخدم CreateRemoteThread لأنني بحاجة لاستدعاء API، ولكي أتمكن من تفعيل هذا API كنت بحاجة لملف chm. عند فحص الكود المصدري، لاحظت خاصةً في مكانين وجود معالجات خاطئة عند استدعاء Windows API، مما يسبب مشكلة صلاحيات بشكل مباشر. نقطة اكتشافي هذه، كما هو موضح في الصورة أدناه، تقوم بإنشاء عملية فرعية (child process) تحت FzGM.exe. طبيعياً، نتوقع أن تكون هذه العملية تحت hh.exe.

7-zip-1

api

إذا لم يتم تضمين API وتمت المعالجة الصحيحة عبر الدالة، كنت سأتوقع إنشاء عملية فرعية تحت hh.exe، لكن ملف 7-zip.chm يقوم باستدعائها من نفسه. يمكنك رؤية مثال نموذجي إذا قمت بتحرير ملف 7-zip.chm وتطبيق عملية تشغيل أوامر. بعد تجاوز سعة الكومة، استغليت مشكلة صلاحية API المستدعاة، ثم استفدت من التكوين الخاطئ الموجود داخل ملف 7z.dll، وهو أمر كنت أعمل عليه منذ فترة طويلة. لا معنى لعمل CreateRemoteThread(). الشيء الذي يجب تشغيله واستدعاؤه داخل حمولتي ليس مساعد HTML API نفسه، بل النقطة التي يتم فيها ربط (hook) هذا API عبر 7-zip، وقدرتي على تنفيذ تلك النقطة، لكن هذه الحمولة تعمل فقط مع تكامل hh.exe، ولهذا تعمل عبر وظيفة السحب والإفلات (drag and drop). استدعاء ملف 7-zip.chm عبر زر HELP داخل 7-zip، وتوجيه العنوان المستدعى إلى "base pointer" الذي يعاني من مشكلة صلاحية داخل الحمولة، ينقلنا إلى مستخدم أعلى. بعد ذلك، تتمثل العملية في وجود psexec داخل الحمولة، ثم رفع الصلاحية إلى نظام (nt authority/system) باستخدام الأمر psexec -s cmd.exe.

7-zip-2

فيديو إثبات:

https://user-images.githubusercontent.com/33525376/163654035-d40ca72a-7dbc-425f-ade2-3820cfababb2.mp4

حول تخطي ActiveXObject

كانت العديد من الأسئلة حول تحذير ActiveX. يمكن حل هذه المشكلة بشكل أساسي كالتالي: قبل تشغيل الحمولة، يتم التحقق من:

<'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0' -Name '1201' -Value '0' -PropertyType "DWord"> إذا كانت هذه القيمة 1، يظهر إشعار منبثق، أما إذا تم تعيين قيمة جديدة 0، يتم تخطي التحذير. ولكن يجب الإشارة إلى أن ذلك يؤثر فقط على المستخدم الذي يقوم بتشغيل الحمولة في تلك اللحظة.

ملاحظة مهمة

لقد أخبرت المطور بالنقاط اللازمة وتم قبولها من قِبل CVE. لا أفهم اعتقاد بعض الناس أنفسهم كسلطة وفرضية أنه يجب أن أعطيهم الاستغلال (exploit). لقد أوضحت بالفعل أنني سأنشره بعد التحديث، لكن عدم الاحترام هذا قبل التحديث أعتقد أنه ينبع من اعتبار النفس كسلطة. قد لا أرغب أبداً في نشر كود إثبات هجوم رفع الصلاحيات، فهذا قرار شخصي، ولا يهمني إطلاقاً رأي أي شخص في صحة ذلك.

الإجراءات الوقائية المحتملة

الطريقة الأولى: إذا لم يتم تحديث 7-zip، يمكن حذف ملف 7-zip.chm. الطريقة الثانية: يجب أن يتمكن جميع المستخدمين من الوصول إلى الملفات داخل البرنامج بصلاحية القراءة والتنفيذ فقط.

قاعدة سيجما (Sigma rule)

قاعدة سيجما ذات الصلة: https://github.com/kagancapar/CVE-2022-29072/blob/main/7z_CVE-2022-29072.yml

تنزيل الأداة