
DLL Injection tool to unlock guest VMs
V M I n j e c t o r
(c) 2012 मार्को बतिस्ता द्वारा
<marco.batista [at] secforce.com>
GPLv3 के अंतर्गत लाइसेंस प्राप्त (LICENSE फ़ाइल देखें)
VMInjector एक उपकरण है जिसे VMware Workstation/Player पर चलने वाले प्रमुख ऑपरेटिंग सिस्टमों के OS लॉगिन प्रमाणीकरण स्क्रीन को सीधे मेमोरी हेरफेर द्वारा बायपास करने के लिए डिज़ाइन किया गया है।
VMInjector एक उपकरण है जो ऑपरेटिंग सिस्टम प्रमाणीकरण स्क्रीन को बायपास करने के लिए VMware गेस्ट की मेमोरी में हेरफेर करता है। VMware गेस्ट ऑपरेटिंग सिस्टमों को आवंटित संसाधनों, जिसमें RAM मेमोरी शामिल है, को संभालता है। VMInjector VMWare प्रक्रिया में एक DLL लाइब्रेरी इंजेक्ट करता है ताकि मैप किए गए संसाधनों तक पहुंच प्राप्त हो सके। DLL लाइब्रेरी VMWare प्रक्रिया के स्वामित्व वाली मेमोरी स्पेस को पार्स करके और मेमोरी-मैप की गई RAM फ़ाइल का पता लगाकर काम करती है, जो गेस्ट की RAM इमेज से संबंधित होती है। आवंटित RAM फ़ाइल में हेरफेर करके और प्रमाणीकरण के लिए जिम्मेदार फंक्शन को पैच करके, एक हमलावर अंतर्निहित वर्चुअल होस्ट तक अनधिकृत पहुंच प्राप्त करता है। VMInjectर वर्तमान में लॉक किए गए Windows, Ubuntu और Mac OS X ऑपरेटिंग सिस्टमों को बायपास कर सकता है। यह इन-मेमोरी पैचिंग गैर-स्थायी है, और गेस्ट वर्चुअल मशीन को रीबूट करने से सामान्य पासवर्ड कार्यक्षमता बहाल हो जाएगी।
VMInjector का उपयोग तब किया जा सकता है जब वर्चुअल होस्ट का पासवर्ड भूल गया हो और रीसेट की आवश्यकता हो। सबसे सामान्यतः, इस उपकरण का उपयोग पेनिट्रेशन टेस्टिंग गतिविधियों के दौरान किया जाता है, जब VMWare होस्ट तक पहुंच प्राप्त हो जाती है और हमलावर ऐसे होस्ट पर चलने वाले गेस्ट तक अतिरिक्त पहुंच प्राप्त करना चाहता है।
Windows मशीन (प्रशासनिक पहुंच के साथ); VMware वर्कस्टेशन या प्लेयर एडिशन; एक लॉक की गई गेस्ट VM;
VMInjector में 2 भाग होते हैं: DLL इंजेक्शन एप्लिकेशन (python स्क्रिप्ट या प्रदान किया गया कन्वर्टेड एक्सीक्यूटेबल) DLL लाइब्रेरी (x86 और x64)
यह उपकरण दोनों DLL प्रदान करके x86 और x64 बिट आर्किटेक्चर को सपोर्ट करता है। कोई भी अपने स्वयं के DLL इंजेक्टर का उपयोग करके होस्ट पर चलने वाली गेस्ट वर्चुअल मशीन का चयन कर सकता है।
उपकरण को चलाने के लिए, कमांड लाइन से प्रदान किए गए VMInjectर (32 या 64) एक्सीक्यूटेबल को निष्पादित करें। VMWare प्रत्येक गेस्ट को एक अलग प्रक्रिया में चलाता है। VMInjector को उस प्रक्रिया की ओर इंगित करने की आवश्यकता है जो उस गेस्ट को चला रही है जिसे बायपास करने की आवश्यकता है। एक बार उपयोगकर्ता एक प्रक्रिया चुन लेता है, तो यह चुने हुए लक्ष्य में DLL इंजेक्ट कर देगा। DLL इंजेक्ट होने के बाद, उपयोगकर्ता को OS निर्दिष्ट करना होगा, ताकि मेमोरी पैचिंग पूरी की जा सके।
यह उपकरण केवल कानूनी उद्देश्यों के लिए है। कोड GPLv3 लाइसेंस के तहत जारी किया गया है।
मैं 2006 में गेस्ट वर्चुअल मशीनों में शेलकोड इंजेक्ट करने पर अपने मूल्यवान शोध के लिए Michael Ligh को धन्यवाद देना चाहूंगा।
मैं Carsten Maartmann-Moe को भी Inception पर उनके काम के लिए धन्यवाद देना चाहूंगा, जो एक उपकरण है जो IEEE 1394 FireWire ट्रिक का उपयोग करके लॉक किए गए Windows, Ubuntu और OS X मशीनों को अनलॉक कर सकता है। इसे पहली बार (अब अप्रचलित) winlockpwn टूल द्वारा प्रदर्शित किया गया था।