
استغلال 0day سابق من تسريب Hacking Team، كتبه Eugene Ching/Qavar.
هذا استغلال لـ CVE-2015-2426 (MS-078)، وهو ثغرة 0day لتصعيد الصلاحيات محليًا في نواة ويندوز من أرشيف Hacking Team (البريد الإلكتروني هنا). طُوّر بواسطة Eugene Ching / Qavar security. المحتويات الأصلية أدناه:
استغلال تلفٍ في ذاكرة نواة ويندوز يؤدي إلى تصعيد الصلاحيات.
تم اختباره على Windows 8.1 بكامل التحديثات (حتى 28 يناير 2015).
كما تم اختباره للعمل ضد:
على افتراض وجود RCE مناسبة في Chrome (تمت المحاكاة عبر حقن خيط داخل Chrome).
الاستغلال الرئيسي مُنفَّذ في PIC.c، وهو مقدم ضمن حل Visual Studio 2013 Express.
بناء الحل سينتج PIC.exe.
نريد في النهاية حقن الاستغلال في ذاكرة الهدف وتشغيله مباشرة. وللقيام بذلك، نحتاج إلى حقن التعليمات ذات الصلة فقط (opcodes) والبيانات اللازمة.
لذلك، نستخرج مقطع الكود (opcodes) من PIC.exe، ونلحق البيانات اللازمة (الخط التالف، font-data.bin) في تسلسلٍ من البايتات.
ينتج عن هذا «البايتات الخام» التي يمكننا حقنها مباشرة في الهدف واستدعاء CreateRemoteThread() عليها.
تتم أتمتة هذه العملية عبر سكربت بايثون باسم make-raw-bytes.py. الناتج هو raw-bytes.bin.
لتحويل «البايتات الخام» إلى ملف .exe يقوم فعليًا بحقن «البايتات الخام» في هدف، نحتاج إلى استدعاء WriteProcessMemory() و CreateRemoteThread().
يتم التعامل مع هذه العملية بواسطة make-injector-cpp.py. الناتج هو injector.cpp، وهو كود يقوم، عند تجميعه، بأخذ PID الهدف وتنفيذ الاستغلال.
كتسهيل، سينتج make.bat الملف injector.exe مباشرةً عبر تنفيذ الخطوات الموضحة أعلاه.
بعبارة أخرى، سيقوم make.bat بما يلي: