
Hacking Team लीक से प्राप्त पहले का 0day एक्सप्लॉइट, जो Eugene Ching/Qavar द्वारा लिखा गया था।
यह CVE-2015-2426 (MS-078) के लिए एक एक्सप्लॉइट है, जो Hacking Team संग्रह (ईमेल यहाँ) से एक Windows कर्नेल लोकल प्रिविलेज एस्केलेशन 0day है। इसे Eugene Ching / Qavar security द्वारा विकसित किया गया था। मूल सामग्री नीचे दी गई है:
Windows कर्नेल मेमोरी भ्रष्टाचार एक्सप्लॉइट जो विशेषाधिकार वृद्धि की ओर ले जाता है।
पूर्णतः-पैच किए गए Windows 8.1 पर परीक्षण किया गया (28 जनवरी 2015 तक)।
इनके विरुद्ध कार्य करने के लिए भी परीक्षण किया गया:
बशर्ते Chrome में एक उपयुक्त RCE हो (Chrome में एक थ्रेड इंजेक्ट करके अनुकरण किया गया)
मुख्य एक्सप्लॉइट PIC.c में कार्यान्वित किया गया है, जो Visual Studio 2013 Express समाधान के भाग के रूप में प्रदान किया जाता है।
समाधान बनाने पर PIC.exe उत्पन्न होगा।
हम अंततः एक्सप्लॉइट को लक्ष्य की मेमोरी में इंजेक्ट करना चाहते हैं, और इसे सीधे चलाना चाहते हैं। ऐसा करने के लिए, हमें केवल प्रासंगिक निर्देशों (opcodes) और आवश्यक डेटा को इंजेक्ट करने की आवश्यकता है।
इसलिए, हम PIC.exe से कोड सेगमेंट (opcodes) निकालते हैं, और आवश्यक डेटा (मैल्फॉर्म्ड फ़ॉन्ट, font-data.bin) को बाइट्स के अनुक्रम में जोड़ते हैं।
यह "रॉ बाइट्स" उत्पन्न करता है जिसे हम सीधे लक्ष्य में इंजेक्ट कर सकते हैं और CreateRemoteThread() पर कॉल कर सकते हैं।
यह प्रक्रिया make-raw-bytes.py नामक Python स्क्रिप्ट के माध्यम से स्वचालित होती है। आउटपुट raw-bytes.bin है।
"रॉ बाइट्स" को एक .exe में बदलने के लिए जो वास्तव में "रॉ बाइट्स" को लक्ष्य में इंजेक्ट करता है, हमें WriteProcessMemory() और CreateRemoteThread() को कॉल करने की आवश्यकता होती है।
यह प्रक्रिया make-injector-cpp.py द्वारा संभाली जाती है। आउटपुट injector.cpp है, कोड का एक टुकड़ा जो संकलित होने पर, एक लक्ष्य PID लेता है और एक्सप्लॉइट निष्पादित करता है।
सुविधा के लिए, make.bat ऊपर वर्णित चरणों को निष्पादित करके सीधे injector.exe उत्पन्न करेगा।
दूसरे शब्दों में, make.bat निम्नलिखित करेगा: