
इनसेप्शन एक भौतिक मेमोरी हेरफेर और हैकिंग टूल है जो PCI-आधारित DMA का शोषण करता है। यह टूल FireWire, Thunderbolt, ExpressCard, PC Card और किसी भी अन्य PCI/PCIe इंटरफेस पर हमला कर सकता है।
नोट: यह टूल अब सक्रिय विकास के अधीन नहीं है, कृपया PCILeech देखें।
Inception एक भौतिक मेमोरी हेरफेर और हैकिंग टूल है जो PCI-आधारित DMA का दोहन करता है। यह टूल FireWire, Thunderbolt, ExpressCard, PC Card और किसी भी अन्य PCI/PCIe HW इंटरफेस पर हमला कर सकता है।
Inception का लक्ष्य DMA का उपयोग करके चालू कंप्यूटरों के विरुद्ध आक्रामक (intrusive) और गैर-आक्रामक (non-intrusive) मेमोरी हैक करने का एक अपेक्षाकृत तेज़, स्थिर, आसान और विस्तार योग्य तरीका प्रदान करना है।
Inception के मॉड्यूल इस प्रकार काम करते हैं: IEEE1394 FireWire इंटरफेस के माध्यम से पीड़ित मशीन को एक सीरियल बस प्रोटोकॉल 2 (SBP-2) यूनिट निर्देशिका प्रस्तुत करके, पीड़ित ऑपरेटिंग सिस्टम सोचता है कि FireWire पोर्ट से एक SBP-2 डिवाइस जुड़ गया है। चूँकि SBP-2 डिवाइस तेज़, बड़े बल्क डेटा ट्रांसफर (जैसे, FireWire हार्ड ड्राइव और डिजिटल कैमकॉर्डर) के लिए Direct Memory Access (DMA) का उपयोग करते हैं, पीड़ित अपनी ढालें नीचे करता है और डिवाइस के लिए DMA सक्षम करता है। अब टूल को पीड़ित की RAM के निचले 4GB तक पूर्ण पढ़ने/लिखने की पहुंच प्राप्त हो जाती है।
एक बार DMA प्रदान हो जाने पर, टूल ऑपरेटिंग सिस्टम के कोड में विशिष्ट ऑफसेट पर सिग्नेचर (signatures) के लिए उपलब्ध मेमोरी पेजों में खोज करता है। मिल जाने पर, टूल इस कोड में हेरफेर करता है। उदाहरण के लिए, unlock मॉड्यूल में, टूल ऑपरेटिंग सिस्टम के पासवर्ड प्रमाणीकरण मॉड्यूल को शॉर्ट-सर्किट कर देता है, जो गलत पासवर्ड दर्ज करने पर सक्रिय होता है।
उस मॉड्यूल को चलाने के बाद आप किसी भी पासवर्ड का उपयोग करके पीड़ित मशीन में लॉग इन कर सकेंगे।
इस ऑपरेशन के लिए एक उपमा है मशीन की मेमोरी में एक विचार रोपना; यह विचार कि हर पासवर्ड सही है। दूसरे शब्दों में, [मेमोरी इन्सेप्शन] [1] के समकक्ष।
Inception बियर की तरह मुफ़्त है (free as in beer) और यह मेरा एक साइड प्रोजेक्ट है।
दुनिया के फोरेंसिक विशेषज्ञ, सरकारें और तीन-अक्षर वाले संक्षिप्त नामों वाली एजेंसियां पहले से ही [समान टूल] [2] का उपयोग कर रही हैं। इसलिए यदि आप असंतुष्ट हैं या दमनकारी शासन का सामना कर रहे हैं, तो यह टूल दर्शाता है कि OPSEC क्यों महत्वपूर्ण है। अपने लैपटॉप को कभी भी नज़रों से दूर न छोड़ें।
[OS X > 10.7.2] [6] और [Windows > 8.1] [7] जब उपयोगकर्ता OS को लॉक करता है तो FireWire DMA को अक्षम कर देते हैं और इस प्रकार inception को रोकते हैं। जब तक उपयोगकर्ता लॉग इन है, टूल फिर भी काम करेगा। हालाँकि, यह IRL में एक कम संभावित हमले का परिदृश्य है।
इसके अलावा, [Ivy Bridge (>= 2012 Macs) पर OS X Mavericks > 10.8.2] [8] ने VT-D सक्षम किया है, जो प्रभावी रूप से DMA अनुरोधों को अवरुद्ध करता है और उपयोगकर्ता के लॉग इन होने पर भी सभी inception मॉड्यूल को विफल कर देता है। अपने लॉग/कंसोल में vtd[0] fault प्रविष्टियाँ देखें।
हालाँकि ये दो चेतावनियाँ धीरे-धीरे उन परिदृश्यों की संख्या कम कर देंगी जहाँ यह टूल उपयोगी है, मार्च 2015 तक [बाहर मौजूद 70% मशीनें अभी भी कमजोर हैं] [9]।
यह टूल Freddie Witherden की ओर से LGPL लाइसेंस के अंतर्गत libforensic1394 लाइब्रेरी का उपयोग करता है।
Inception को निम्नलिखित की आवश्यकता है:
OS X पर दोषपूर्ण FireWire इंटरफेस के कारण हमलावर पक्ष पर वर्तमान में Linux की सिफारिश की जाती है। ध्यान दें कि सीधा Thunderbolt से Thunderbolt नहीं चलता, आपको FireWire एडाप्टर की आवश्यकता होती है। Linux पर Thunderbolt का उपयोग करने का प्रयास करने पर आपका अनुभव भिन्न हो सकता है।
Debian-आधारित वितरणों पर स्थापना कमांड को इस प्रकार संक्षेपित किया जा सकता है (यदि आप रूट नहीं हैं तो आवश्यकतानुसार sudo लगाएँ):
apt-get install git cmake g++ python3 python3-pip
OS X पर, आप [homebrew] [4] के साथ टूल की आवश्यकताएँ स्थापित कर सकते हैं:
brew install git cmake python3
आवश्यकताओं को स्थापित करने के बाद, libforensic1394 डाउनलोड और इंस्टॉल करें:
wget https://freddie.witherden.org/tools/libforensic1394/releases/libforensic1394-0.2.tar.gz -O - | tar xz
cd libforensic1394-0.2
cmake CMakeLists.txt
make install
cd python
python3 setup.py install
git clone git://github.com/carmaa/inception.git
cd inception
./setup.py install
यदि आपके पास pip स्थापित है तो सेटअप स्क्रिप्ट निर्भरताएँ स्थापित करने में सक्षम होनी चाहिए।
बस टाइप करें:
incept [module name]
अधिक संपूर्ण और अद्यतन विवरण के लिए, कृपया चलाएँ:
incept -h
या [टूल होम पेज] [5] देखें।
संस्करण 0.4.0 से, Inception को मॉड्यूलर बना दिया गया है। वर्तमान मॉड्यूल और उनकी कार्यक्षमता नीचे वर्णित है।
उपयोग के विस्तृत विकल्पों के लिए, चलाएँ:
incept [module name] -h
unlock मॉड्यूल लगभग* किसी भी चालू मशीन को अनलॉक कर सकता है (कोई भी पासवर्ड स्वीकार्य) और Administrator/root तक विशेषाधिकार बढ़ा सकता है, जिस तक आपके पास भौतिक पहुंच है। यह मॉड्यूल मुख्य रूप से उन कंप्यूटरों के विरुद्ध अपना जादू करने के लिए है जो BitLocker, FileVault, TrueCrypt या Pointsec जैसे फुल डिस्क एन्क्रिप्शन का उपयोग करते हैं। ऐसी मशीन को हैक करने के कई अन्य (और बेहतर) तरीके हैं जिनमें एन्क्रिप्शन नहीं होता।
unlock मॉड्यूल उन मशीनों पर स्थिर है जिनमें 4 GiB या उससे कम मुख्य मेमोरी है। यदि आपका लक्ष्य उससे अधिक है, तो आपको उन सिग्नेचर को खोजने के लिए भाग्यशाली होना होगा जो टूल की पहुंच वाले भौतिक मेमोरी पेज फ्रेम में मैप किए गए हैं।
इस संस्करण तक, यह निम्नलिखित x86 और x64 ऑपरेटिंग सिस्टमों को अनलॉक करने में सक्षम है:
| ऑपरेटिंग सिस्टम | संस्करण | लॉक स्क्रीन अनलॉक करें | विशेषाधिकार बढ़ाएँ |
|---|---|---|---|
| Windows 8 | 8.1 | हाँ (1) | हाँ (1) |
| Windows 8 | 8.0 | हाँ | हाँ |
| Windows 7 | SP1 | हाँ | हाँ |
| Windows 7 | SP0 | हाँ | हाँ |
| Windows Vista | SP2 | हाँ | हाँ |
| Windows Vista | SP1 | हाँ | हाँ |
| Windows Vista | SP0 | हाँ | हाँ |
| Windows XP | SP3 | हाँ | हाँ |
| Windows XP | SP2 | हाँ | हाँ |
| Windows XP | SP1 | ||
| Windows XP | SP0 | ||
| Mac OS X | Mavericks | हाँ (1) | हाँ (1) |
| Mac OS X | Mountain Lion | हाँ (1) | हाँ (1) |
| Mac OS X | Lion | हाँ (1) | हाँ (1) |
| Mac OS X | Snow Leopard | हाँ | हाँ |
| Mac OS X | Leopard | ||
| Ubuntu | Saucy | हाँ | हाँ |
| Ubuntu | Raring | हाँ | हाँ |
| Ubuntu | Quantal | हाँ | हाँ |
| Ubuntu | Precise | हाँ | हाँ |
| Ubuntu | Oneiric | हाँ | हाँ |
| Ubuntu | Natty | हाँ | हाँ |
| Linux Mint | 13 | हाँ | हाँ |
| Linux Mint | 12 | हाँ | हाँ |
| Linux Mint | 12 | हाँ | हाँ |
(1): ऊपर दी गई चेतावनियाँ देखें।