
إطار استغلال لثغرة CVE-2018-19323 - ثغرة تصعيد الامتيازات GIGABYTE GDrv مع دعم متعدد البنى وتكامل الإطار
يحتوي هذا المستودع على إطار استغلال متكامل ومتقدم لـ CVE-2018-19323، وهي ثغرة أمنية حرجة في برنامج تشغيل GIGABYTE gdrv.sys. تسمح هذه الثغرة للمستخدمين غير المصرح لهم بقراءة وكتابة سجلات النماذج الخاصة (MSRs) بشكل عشوائي، مما يؤدي إلى اختراق كامل لـ Ring-0 (النواة) ورفع الامتيازات إلى NT AUTHORITY\SYSTEM.
تم تصميم الإطار ليكون معياريًا وقويًا وغنيًا بالميزات، مما يوفر أداة شاملة للبحث الأمني، وفرق الاختراق (Red Teaming)، وتحليل الثغرات.
IA32_LSTAR وتنفيذ شيلكود لسرقة التوكنات.core, payloads, evasion, monitor, multiarch, framework) لسهولة التوسع والصيانة..
├── exploit.py # إطار الاستغلال الرئيسي وواجهة سطر الأوامر
├── core.py # التفاعل الأساسي مع برنامج التشغيل وأفعال الاستغلال
├── payloads.py # توليد الشيلكود، الحمولات المخصصة، والترميز
├── evasion.py # تقنيات مكافحة الأجهزة الافتراضية، ومكافحة التصحيح، والإصرار
├── monitor.py # التسجيل، مراقبة الأداء، وإعداد التقارير
├── multiarch.py # دعم متعدد البنى (x86/x64/ARM64)
├── framework.py # التكامل مع Metasploit و Cobalt Strike، إلخ.
├── tests.py # اختبارات شاملة (وحدة، تكامل، أداء)
└── README.md # ملف التوثيق هذا
gdrv.sys موجودًا على النظام المستهدف.psutil، cryptography، requests# تثبيت حزم Python المطلوبة
pip install psutil cryptography requests
يتم تنفيذ إطار الاستغلال الرئيسي عبر exploit.py. وهو يوفر عدة خيارات لسطر الأوامر لأنماط تشغيل مختلفة.
# عرض المساعدة وجميع الخيارات المتاحة
python exploit.py --help
# وضع التخفي الافتراضي (موصى به)
# يقوم بجميع فحوصات التهرب قبل الاستغلال.
python exploit.py
# الوضع العدواني
# يتخطى فحوصات التهرب للتنفيذ الأسرع في البيئات الخاضعة للسيطرة.
python exploit.py --aggressive
# وضع التصحيح
# يوفر تسجيلاً مفصلاً للتطوير والتحليل.
python exploit.py --debug
# تشغيل مجموعة الاختبارات الكاملة
# يتحقق من صحة جميع مكونات الإطار دون تنفيذ الاستغلال.
python exploit.py --test-only
[!WARNING] هذه البرمجيات مخصصة للأغراض التعليمية وأبحاث الأمن المصرح بها فقط. الاستخدام غير المصرح به على أي نظام غير قانوني وممنوع منعاً باتاً. المؤلف، kali، غير مسؤول عن أي ضرر أو إساءة استخدام لهذا الإطار.
يقوم برنامج التشغيل gdrv.sys بتعريض IOCTL 0xC3502580 الذي يمكن لأي تطبيق في وضع المستخدم استدعاءه. يأخذ هذا IOCTL هيكلًا يحتوي على نوع العملية (قراءة/كتابة)، وفهرس سجل MSR، وقيمة. لا يقوم برنامج التشغيل بأي فحوصات للتحكم في الوصول، مما يسمح لأي عملية بقراءة أو كتابة أي MSR.
هذا عيب حرج لأن MSRs تتحكم في عمليات وحدة المعالجة المركزية الأساسية. على وجه التحديد، يخزن MSR IA32_LSTAR (في العنوان 0xC0000082) عنوان معالج استدعاء النظام في النواة. من خلال قراءة هذا MSR، يمكننا تجاوز توزيع عنوان مساحة النواة العشوائي (KASLR) وحساب عنوان قاعدة النواة. ومن خلال الكتابة عليه، يمكننا إعادة توجيه استدعاءات النظام إلى الشيلكود الخاص بنا، مما يحقق تنفيذ كود عشوائي في Ring-0.
\\.\GIO.IA32_LSTAR للحصول على مؤشر داخل النواة، متجاوزًا KASLR.EPROCESS للعملية الحالية، وتحديد موقع EPROCESS لعملية SYSTEM (PID 4)، ونسخ توكن الأمان الخاص بها إلى عمليتنا.IA32_LSTAR بعنوان الشيلكود الخاص بنا.NT AUTHORITY\SYSTEM.IA32_LSTAR الأصلية لمنع عدم استقرار النظام.evasion.py فحوصات لعدد أنوية وحدة المعالجة المركزية، وحجم القرص، ونشاط الملفات الأخير، والبرامج المثبتة، وكشف التوقيت/الخطافات المتقدم لإنشاء بصمة بيئية أكثر قوة.payloads.py بالتوليد الديناميكي لحمولات متنوعة (شيلات عكسية، Meterpreter، منارات Cobalt Strike) لبنى مختلفة، مع طبقات متعددة من الترميز.multiarch.py طبقة تجريد شاملة للتعامل مع الاختلافات بين x86 و x64 و ARM64، بما في ذلك أحجام المؤشرات، واتفاقيات الاستدعاء، وهياكل النواة، ومجموعات التعليمات.framework.py توليد وحدات جاهزة للاستخدام لـ Metasploit (.rb)، و Cobalt Strike (.cna)، و Empire (.py)، و Sliver (.go)، مما يؤتمت عملية التكامل لعمليات الفرق الحمراء.يتضمن الإطار مجموعة اختبارات شاملة في tests.py. يمكنك تشغيل جميع الاختبارات لضمان سلامة ووظائف جميع المكونات.
# تشغيل جميع اختبارات الوحدة والتكامل والأداء
python tests.py --all
# تشغيل اختبارات الوحدة فقط
python tests.py --unit
هذا المشروع هو توضيح لتقنيات استغلال متقدمة ويجب استخدامه بمسؤولية.