Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
IntelTXE-PoC — Intel Management Engine JTAG Proof of Concept - 2022 निर्देश | Kitploit
उपकरण/GitHubGitHub/xenokovah/inteltxe-poc
एम्बेडेड सिस्टम सुरक्षापेलोड जनरेशनशोषणरिवर्स इंजीनियरिंगहार्डवेयर हैकिंगबाइनरी विश्लेषणफर्मवेयर विश्लेषणबाइनरी शोषण
GitHubxenokovah/inteltxe-poc

IntelTXE-PoC

Intel Management Engine JTAG Proof of Concept - 2022 निर्देश

रिपॉजिटरी देखें
3253 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

अस्वीकरण

सभी जानकारी केवल शैक्षिक उद्देश्यों के लिए प्रदान की गई है। इन निर्देशों का पालन अपने जोखिम पर करें। इस पृष्ठ में निहित जानकारी के आधार पर किसी व्यक्ति या संगठन द्वारा कार्य करने या न करने से उत्पन्न किसी भी प्रत्यक्ष या परिणामी क्षति या हानि के लिए न तो लेखक और न ही उनका नियोक्ता जिम्मेदार है।

सामग्री

परिचय
आवश्यक सॉफ़्टवेयर
पेलोड उत्पन्न करना
अनलॉक टोकन उत्पन्न करना
SPI फ्लैश इमेज तैयार करना
फर्मवेयर इमेज में फ़ाइलें शामिल करना
OEM हस्ताक्षर अक्षम करना
फर्मवेयर इमेज बनाना
मुख्य CPU को BringUP करना
SPI फ्लैश में इमेज लिखना
USB डिबग केबल तैयार करना
OpenIPC कॉन्फ़िगरेशन फ़ाइलों को पैच करना
OpenIPC कॉन्फ़िगरेशन फ़ाइलों को डिक्रिप्ट करना
कॉन्फ़िगरेशन में LMT कोर जोड़ना
IPC_PATH पर्यावरण चर सेट करना
JTAG संचालन की प्रारंभिक जाँच करना
CPU ME थ्रेड दिखाएँ
कोर रोकना
ME डिबगिंग: त्वरित आरंभ
आर्बिट्ररी मेमोरी पढ़ना
ROM पढ़ना
TXE क्यों?
परीक्षण किए गए प्लेटफ़ॉर्मों की सूची
लेखक
लाइसेंस

परिचय

भेद्यता INTEL-SA-00086 Intel Management Engine कोर के लिए JTAG सक्रिय करने की अनुमति देती है। हमने अपना [JTAG PoC][8] Gigabyte Brix GP-BPCE-3350C प्लेटफ़ॉर्म के लिए विकसित किया है। हालाँकि हम अनुशंसा करते हैं कि इच्छुक शोधकर्ता उसी प्लेटफ़ॉर्म का उपयोग करें, Intel Apollo Lake चिपसेट वाले अन्य निर्माताओं के प्लेटफ़ॉर्मों को भी PoC का समर्थन करना चाहिए (TXE संस्करण 3.0.1.1107 के लिए)।

क्योंकि Gigabyte Brix GP-BPCE-3350C अब व्यापक रूप से व्यावसायिक रूप से उपलब्ध नहीं है, इन निर्देशों को अद्यतन किया गया है ताकि इसके बजाय AAEON UP Squared SKU UPS-APLX7-A20-0864 (Intel Atom® x7-E3950) को लक्षित किया जा सके। यदि आप यह बोर्ड खरीदते हैं, तो बिजली आपूर्ति, सीरियल एडाप्टर और कोई भी USB-to-serial एडाप्टर भी प्राप्त करना सुनिश्चित करें। इसके अतिरिक्त, UP Squared को DCI डिबगिंग करने के लिए केवल एक बुनियादी USB डिबग केबल की आवश्यकता होती है। USB डिबग केबल को उस पोर्ट से जोड़ा जाना चाहिए जहाँ पीला USB केबल यहाँ दिखाया गया है।

आवश्यक सॉफ़्टवेयर

Intel सिस्टम टूल्स

भेद्यता INTEL-SA-00086 में MFS (आंतरिक [ME फ़ाइल सिस्टम][6]) पर संग्रहीत फ़ाइल को संभालते समय बफर ओवरफ़्लो शामिल है। पूर्ण फ़ाइल पथ /home/bup/ct है। आपको Intel PCH चिपसेट पर आधारित हार्डवेयर के OEMs को Intel द्वारा प्रदान किए गए Intel सिस्टम टूल्स में से एक, Intel Flash Image Tool (FIT) का उपयोग करके ME फर्मवेयर में इस फ़ाइल के भेद्यता-शोषण वाले संस्करण को एकीकृत करना होगा।

Intel ME (TXE, SPS) सिस्टम टूल्स उपयोगिताएँ अंतिम उपयोगकर्ताओं के लिए अभिप्रेत नहीं हैं—इसलिए आप उन्हें आधिकारिक Intel वेबसाइट पर नहीं पा सकते। हालाँकि, कुछ OEM उन्हें डिवाइस ड्राइवरों के साथ सॉफ़्टवेयर अपडेट के भाग के रूप में प्रकाशित करते हैं। इसलिए, अपने PoC को एकीकृत करने के लिए आपको "CSTXE System Tools v3" की आवश्यकता है, जो यहाँ पाई जा सकती है।

Intel System Studio

JTAG डिबगिंग करने के लिए आपको Intel System Studio स्थापित करना होगा। अपने मूल प्रयोगों में, हमने Intel System Studio 2018 का उपयोग किया। इन निर्देशों को Intel System Studio 2020 के लिए अद्यतन किया गया है, जिसे यहाँ से प्राप्त किया जा सकता है।

Intel TXE फर्मवेयर

PoC Intel TXE फर्मवेयर संस्करण 3.0.1.1107 को लक्षित करता है। Win-Raid फ़ोरम पर "CSTXE 3.0" इमेज रिपॉजिटरी में आवश्यक TXE फर्मवेयर संस्करण शामिल है।

Python

हमारी सभी स्क्रिप्ट Python में लिखी गई हैं। हम Python 2.7 का उपयोग करने की अनुशंसा करते हैं। साथ ही स्क्रिप्ट्स को pycrypto पैकेज की आवश्यकता होती है। pycrypto स्थापित करने के लिए, निम्न कमांड चलाएँ:``` pip install pycrypto

root@kitploit:~
## DCI के माध्यम से बेसलाइन x86 डिबगिंग करना

हालाँकि इस गाइड का उद्देश्य एक एक्सप्लॉइट के माध्यम से ME में JTAG डिबगिंग को सक्षम करना है, यह एक अच्छा अभ्यास है कि पहले एक सैनिटी चेक किया जाए और सुनिश्चित किया जाए कि आप DCI के माध्यम से UP Squared बोर्ड की सामान्य JTAG डिबगिंग कर सकते हैं। AAEON अब अपने BIOS को DCI सक्षम के साथ वितरित नहीं करता है, क्योंकि उन्होंने अपने फ़ोरम पर कहा था कि इससे अस्थिरता पैदा हुई। (और v5.0 से पहले के पुराने BIOS संस्करण, जिनमें DCI सक्षम था, DRAM विक्रेता के हार्डवेयर बदलाव के कारण नए हार्डवेयर के साथ अब काम नहीं करेंगे।) इसलिए, UP Squared पर DCI JTAG सक्षम करने के लिए, आपको 3 चरण करने होंगे:
1) Satoshi Tanda द्वारा वर्णित बाइनरी पैचिंग करें [यहाँ](https://forum.up-community.org/discussion/comment/12877#Comment_12877) (हालाँकि इसमें यह कहा जाना चाहिए कि UEFITool 0.28 का उपयोग करें, न कि 2.8 का)।
2) BIOS कॉन्फ़िगरेशन मेनू के माध्यम से DCI सक्षम करें—बूट पर F7 दबाकर, डिफ़ॉल्ट UP पासवर्ड (*upassw0rd*) दर्ज करके, Main मेनू से नीचे जाकर "CRB Setup" -> "CSB Chipset" -> "South Cluster Configuration" -> "Miscellaneous Configuration" -> "DCI Enable (HDCIEN)" पर जाएँ और इसे enabled पर सेट करें। फिर BIOS सेटअप मेनू से बाहर निकलें, कॉन्फ़िगरेशन परिवर्तन सहेजें, और सिस्टम को रीबूट करें।
3) "C:\IntelSWTools\system_studio_2020\system_debugger_2020\target_indicator\bin\TargetIndicator.exe" खोलें और पुष्टि करें कि जब आप उस सिस्टम को डिबग केबल के माध्यम से UP Squared से जोड़ते हैं, तो एक नीला संकेतक प्रदर्शित होता है जो दर्शाता है कि DCI संभव है, जैसा नीचे दिखाया गया है:
![DCI संकेतक](https://assets.kitploit.com/production/public/readmes/47691/1caa8199259a9135ddcc4357ac5c7b4c2d638691d299bd466b0668c94a200ae5.png)

आप फिर ":\Program Files (x86)\IntelSWTools\sw_dev_tools\system_debugger_2020\system_debug_legacy\xdb.bat" लॉन्च कर सकते हैं, टार्गेट से कनेक्ट कर सकते हैं, उसमें ब्रेक कर सकते हैं, और सिंगल-स्टेप करके पुष्टि कर सकते हैं कि आपके पास बेसलाइन डिबगिंग क्षमताएँ हैं।

(आप Alan Sguigna की ब्लॉग श्रृंखला का अनुसरण भी कर सकते हैं [यहाँ](https://www.asset-intertech.com/resources/blog/2020/05/open-source-firmware-explorations-using-dci-on-the-aaeon-up-squared-board/) कि कैसे इस प्लेटफ़ॉर्म के लिए ओपन सोर्स कोड का Debug-बिल्ड बनाया जाए, जो रीसेट वेक्टर से DCI-डिबग करने योग्य होगा। हालाँकि, ध्यान दें कि DRAM के लिए हार्डवेयर परिवर्तन के कारण, यह स्रोत से निर्मित कोड नए हार्डवेयर पर पूरी तरह से बूट नहीं होगा—इसके बजाय यह बूट समय पर हैंग हो जाएगा, जैसा [यहाँ](https://forum.up-community.org/discussion/comment/12877) नोट किया गया है। Intel TianoCore के अनुरक्षकों ने इसे ठीक करने से इनकार कर दिया है।)

# पेलोड उत्पन्न करना
स्क्रिप्ट **me_exp_bxtp.py** चलाएँ:```
me_exp_bxtp.py -f <file_name>

स्क्रिप्ट आवश्यक डेटा उत्पन्न करती है और उसे निर्दिष्ट फ़ाइल में निर्यात करती है (यहाँ पूर्ण फ़ाइल पथ दें या, वर्तमान निर्देशिका के भीतर, केवल एक नाम, डिफ़ॉल्ट रूप से ct.bin)। इस फ़ाइल का उपयोग बाद में FIT द्वारा किया जाएगा।

अनलॉक टोकन उत्पन्न करना

स्क्रिप्ट utock_gen.py चलाएँ:``` utock_gen.py -f <file_name>

root@kitploit:~
स्क्रिप्ट आवश्यक डेटा उत्पन्न करती है और उसे निर्दिष्ट फ़ाइल में निर्यात करती है (या तो पूर्ण फ़ाइल पथ बताएं या, वर्तमान निर्देशिका के भीतर, केवल एक नाम, डिफ़ॉल्ट रूप से *utok.bin*)। इस फ़ाइल का उपयोग बाद में *FIT* द्वारा किया जाएगा।

# SPI फ्लैश इमेज तैयार करना

## पेलोड एकीकृत करें

*ct.bin* और *utok.bin* फ़ाइलों को एकीकृत करने के लिए, *CSTXE System Tools v3* से प्राप्त *FIT* उपयोगिता (*fit.exe*) चलाएँ। पहले इसका उपयोग करके अपनी UP Squared BIOS इमेज खोलें जिसमें DCI सक्षम किया गया है (जैसे "UPA1AM61_DCI_Enabled.bin")

![screenshot](https://assets.kitploit.com/production/public/readmes/47691/169a5e272aa3e97963ef21985e5d502c52c14c0064a9c3dcedfe1e04b9013a89.png)

*FIT* इमेज खोले जाने पर समग्र SPI इमेज के विभिन्न अनुभाग (SPI डिस्क्रिप्टर, UEFI/BIOS फर्मवेयर, Intel ME फर्मवेयर, और Unlock Token) निकालता है और उन्हें FIT के समान स्थानीय निर्देशिका में *"image_name"/Decomp* फ़ोल्डर में सहेजता है।

![screenshot](https://assets.kitploit.com/production/public/readmes/47691/f0fa5029d4b8d1a8fb9f40f63a8cac7f9ea2a925d8f77261fadc0a6037a96868.png)

ऐसा करने के बाद, कॉन्फ़िगरेशन XML सहेजें (जैसे "UPA1AM61_DCI_Enabled.xml") और fit.exe से बाहर निकलें।

Intel TXE फर्मवेयर को कमजोर संस्करण **3.0.1.1107** में डाउनग्रेड करने के लिए, हमें <image name>/Decomp/TXE Region.bin फ़ाइल को "3.0.1.1107_B_PRD_RGN.bin" फ़ाइल से बदलना होगा। यह मूल फ़ाइल का नाम बदलकर "TXE Region.bin.orig" करके और फिर "3.0.1.1107_B_PRD_RGN.bin" का नाम "TXE Region.bin" रखकर किया जाना चाहिए।
  
fit.exe को पुनः खोलें और अपनी सहेजी गई XML फ़ाइल से अपना कॉन्फ़िगरेशन पुनः लोड करें। यदि आपने फाइल सिस्टम पर फ़ाइल को सही ढंग से बदला है, तो Flash Layout टैब पर "Intel(R) TXE Binary File" में आपको संस्करण 3.0.1.1107 के रूप में प्रदर्शित दिखना चाहिए, चाहे वह मूल रूप से जो भी रहा हो:

![screenshot](https://assets.kitploit.com/production/public/readmes/47691/0a5f48baa386aebf5cdeecba5102f216dfa0b2cbf5fb869ae1c9136bce0fd9d4.png)

# फर्मवेयर इमेज में एक्सप्लॉइट फ़ाइलें एकीकृत करना

अब हमें *FIT* में उन फ़ाइलों को इंगित करना होगा जो हमने */home/bup/ct* (**ct.bin**) और *Unlock Token* (**utok.bin**) के लिए उत्पन्न की हैं। *FIT* में *Debug* टैब पर, आप फर्मवेयर में एकीकृत करने के लिए Trace Hub Binary और Unlock Token निर्दिष्ट कर सकते हैं। ये वे फ़ाइलें होनी चाहिए जो हम पहले ही उत्पन्न कर चुके हैं।

![screenshot](https://assets.kitploit.com/production/public/readmes/47691/7de56eac0b89bd299454a7a9dafe07af7af283439d561bf9d7a8b42fc13b7b09.png)

# OEM साइनिंग अक्षम करना

Platform Protection टैब के अंतर्गत एक OEM Public key hash होगा। इसे 32 शून्य दर्ज करके हटाएँ:```
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

screenshot

फर्मवेयर इमेज बनाना

बिल्ड सेटिंग्स चुनें
screenshot

डिफ़ॉल्ट रूप से यह इस प्रकार दिखेगा:
screenshot

इसे अपडेट करें और outimage.bin को अपनी इनपुट फ़ाइल के समान नाम में बदलें। साथ ही "Enable Boot Guard warning message at build time" को No पर सेट करें, और "Verify manifest signing keys against the OEM Key Manifest" को No पर सेट करें। फिर यह इस प्रकार दिखना चाहिए:
screenshot

बिल्ड मेनू में Build Image चुनकर इमेज बनाएँ।

screenshot

यदि इस बिंदु तक सब कुछ सही ढंग से किया गया है, तो बिल्ड प्रक्रिया सफल होनी चाहिए और FIT निम्नलिखित कंसोल संदेश जैसा कुछ आउटपुट करता है:

screenshot

HAP मोड सक्षम करें

इस एक्सप्लॉइट के काम करने के लिए आपको HAP मोड सक्रिय करना होगा। fit.exe द्वारा बनाई गई आउटपुट फ़ाइल में, ऑफसेट +0x102 पर बाइट के बिट इंडेक्स 0 को एक हेक्स
संपादक के माध्यम से मैन्युअल रूप से 1 पर सेट किया जाना चाहिए:

screenshot

प्रक्रिया के अंत में आपके पास यहाँ दी गई उदाहरण फ़ाइल के समान एक फ़ाइल होनी चाहिए, हालाँकि वह UP BIOS संस्करण 5.2 के लिए है, और पूर्ववर्ती निर्देश संस्करण 6.1 के लिए हैं।

इमेज को SPI फ्लैश में लिखना

**SPI फ्लैश में इमेज लिखने के लिए, हम एक SPI प्रोग्रामर (जैसे Dediprog SF600Plus) का उपयोग करने की अत्यधिक अनुशंसा करते हैं।
अगर कुछ गलत हो जाए तो मूल फर्मवेयर का बैकअप लेना सुनिश्चित करें ताकि आप उससे पुनर्स्थापित कर सकें!

USB डिबग केबल तैयार करना

प्लेटफ़ॉर्म से कनेक्ट करने के लिए आपको एक USB 3.0 डिबग केबल की आवश्यकता होगी। या तो इस उद्देश्य के लिए विशेष रूप से बनाई गई एक केबल खरीदें, या D+, D-, और Vcc संपर्कों को अलग करके USB 3.0 AM–AM केबल से अपनी खुद की केबल बनाएँ।

screenshot

OpenIPC कॉन्फ़िगरेशन फ़ाइलों को पैच करना

Intel प्लेटफ़ॉर्म और मुख्य CPU की JTAG डिबगिंग के लिए उपयोग किए जा सकने वाले दो सॉफ़्टवेयर पैकेज विकसित और प्रदान करता है: DAL (DFx Abstraction Layer) और OpenIPC। DAL और OpenIPC दोनों Intel System Studio का हिस्सा हैं। Intel System Studio 2020 की स्थापना के बाद, OpenIPC निम्नलिखित निर्देशिका में दिखाई देता है:

Windows``` C:\IntelSWTools\system_studio_2020\tools\OpenIPC_1.2035.4868.100

root@kitploit:~
*OpenIPC* कॉन्फ़िगरेशन एन्क्रिप्टेड है और TXE कोर का समर्थन नहीं करता है। इसलिए कॉन्फ़िगरेशन को डिक्रिप्ट करें और उसमें TXE विवरण जोड़ें।

## OpenIPC कॉन्फ़िगरेशन फ़ाइलों को डिक्रिप्ट करना

कॉन्फ़िगरेशन फ़ाइलों को डिक्रिप्ट करने के लिए, [IDA Pro](https://www.hex-rays.com/products/ida/support/download_freeware.shtml) स्क्रिप्ट *openipc_key_extract.py* का उपयोग करके *OpenIPC/Bin* में *StructuredData* लाइब्रेरी (*StructuredData_x64.dll*) से कुंजी निकालें। यदि स्क्रिप्ट काम नहीं करती है, तो आप बस फ़ाइल को IDA Pro में खोल सकते हैं, और "Logging.xml" स्ट्रिंग खोजें, फिर अगली अलाइनमेंट के बाद उसके बाद के 16 बाइट्स प्राप्त करें। (जिन 16 बाइट्स की आपको आवश्यकता है उनके बाद 4 अतिरिक्त बाइट्स और फिर 4 शून्य होंगे।) कुंजी (हमारे मामले में, *F820AD4F6CC2E9EE050C43DEBF631F59*) को OpenIPC निर्देशिका के पथ के साथ *config_decryptor.py* स्क्रिप्ट को पास करें।```
config_decryptor.py –k F820AD4F6CC2E9EE050C43DEBF631F59 –p C:\IntelSWTools\system_studio_2020\tools\OpenIPC_1.2035.4868.100

LMT Core को कॉन्फ़िगरेशन में जोड़ना

OpenIPC का प्रदान किया गया संस्करण TXE core के बारे में आवश्यक जानकारी नहीं रखता है। इसलिए हमें डिक्रिप्ट किए गए OpenIPC कॉन्फ़िगरेशन फ़ाइलों पर एक पैच (patch.diff) लागू करने की आवश्यकता है। इसे करने का तरीका यहाँ दिया गया है:``` patch -p2 < patch.diff

root@kitploit:~
# IPC_PATH पर्यावरण चर सेट करना

डिक्रिप्शन और पैचिंग के बाद, *IPC_PATH* पर्यावरण चर को नई *OpenIPC* निर्देशिका पर सेट करें ताकि *ipccli* संशोधित *OpenIPC* संस्करण का उपयोग करे। उदाहरण के लिए:

Windows```
set IPC_PATH=C:\IntelSWTools\system_studio_2020\tools\OpenIPC_1.2035.4868.100\Bin

JTAG संचालन की प्रारंभिक जांच करना

activator JTAG सक्रिय होने के बाद BUP प्रक्रिया को लूप में रखकर आगे की लोडिंग को अवरुद्ध करता है। लॉन्च के बाद, प्लेटफ़ॉर्म जीवन का कोई संकेत नहीं दिखाएगा (मॉनिटर चालू नहीं होता, कीबोर्ड इंडिकेटर नहीं जलते, और कोई BIOS POST ध्वनि नहीं बजती)। इसलिए आपको DCI डीबगिंग के माध्यम से जांचना होगा कि प्लेटफ़ॉर्म BUP मॉड्यूल में "फंस" गया है।

DAL की तरह, OpenIPC लाइब्रेरी में एक कमांड-लाइन इंटरफ़ेस (CLI) शामिल है, जो Python में लिखा गया है और Intel System Studio के भाग के रूप में Python के लिए एक लाइब्रेरी के रूप में प्रदान किया जाता है, जिसे pip की सहायता से सिस्टम पर स्थापित किया जा सकता है। ipccli के लिए इंस्टॉलेशन पैकेज निम्न पथ पर है: Windows``` C:\IntelSWTools\system_studio_2020\system_debugger_2020\debugger\ipccli\ipccli-1.2035.1920.100-py2.py3-none-any.whl

root@kitploit:~
ipccli को स्थापित करने के लिए, निम्न कंसोल कमांड चलाएँ:```
pip install ipccli-1.2035.1920.100-py2.py3-none-any.whl

एक बार इंस्टॉल हो जाने पर, ipccli संबंधित Python संस्करण (जिसमें से pip को चलाया गया था) के रनटाइम के भीतर उपलब्ध होता है। OpenIPC के साथ आरंभ करने के लिए, एडमिनिस्ट्रेटर कमांड प्रॉम्प्ट से Python कंसोल में निम्नलिखित कमांड चलाएँ:``` import ipccli ipc = ipccli.baseaccess()

root@kitploit:~
The mechanism for connecting to the target platform via DCI launches, resulting in the following console output:

![screenshot](https://assets.kitploit.com/production/public/readmes/47691/9229ffe1c4d4a6d2291ad6398b3710ee3c5998b619a7b61279e84d04496f9019.png)

When no connection is established—for example, if the platform is not powered on or is not physically connected via DCI—messages will resemble the following:

![screenshot](https://assets.kitploit.com/production/public/readmes/47691/c23b9a2b8e24a57b46e7c33ebe678530f84bf6347cc59aea8c858952bfe04270.png)

If *DCI* connection is successful, make sure that the *PERSONALITY* register of the *DFX_AGGRAGATOR* device equals 3.
The *PERSONALITY* register has an *IR* (*Instruction Register*) code of *0x54*. To read it, run the following commands:```
dfx_agg = ipc.devs.mdu_dfx_agg_tap0
ipc.irdrscan(dfx_agg, 0x54, 32)

उस कमांड का परिणाम कुछ इस तरह दिखना चाहिए:

screenshot

ME डिबगिंग: त्वरित प्रारंभ

ipccli उपयोगिता काफी विस्तृत HTML दस्तावेज़ीकरण के साथ आती है, जो ipccli Python पैकेज के एक फ़ोल्डर में पाई जा सकती है:``` \Lib\site-packages\ipccli\html\Index.html

root@kitploit:~
## CPU ME थ्रेड दिखाएँ

यदि पिछले चरण सही ढंग से किए गए हैं, तो जब *ipccli* के माध्यम से प्लेटफ़ॉर्म से कनेक्शन बनाया जाता है, *TXE* कोर *CSE Tap* के माध्यम से सुलभ होता है और *ipccli* निम्नलिखित *ipccli* पथ लागू करके इसे एक्सेस करने की अनुमति देता है:```
ipc.devs.cse_c0.threads[0]

लेकिन चूँकि PoC मुख्य CPU के आरंभ होने तक प्लेटफ़ॉर्म की लोडिंग को रोक देता है, इसके कोर JTAG के माध्यम से अभिगम्य नहीं होते हैं और ME कोर को निम्नलिखित कमांड से एक्सेस किया जा सकता है:``` ipc.threads[0]

root@kitploit:~
## कोर को रोकना

ME प्रोसेसर निर्देशों को रोकने के लिए, निम्न कमांड चलाएँ:```
me = ipc.devs.cse_c0.threads[0]
me.halt()

सीपीयू प्रोसेसर निर्देशों को रोकने के लिए, निम्नलिखित कमांड चलाएँ:``` core = ipc.threads[0] core.halt()

root@kitploit:~
![screenshot](https://assets.kitploit.com/production/public/readmes/47691/30b6e96d07cb737e5a2d3b1282513947f44f5995d6b2b607f473c2ddddc0d467.png)

कंसोल उस निर्देश का लॉजिकल पता प्रदर्शित करता है जिस पर हॉल्ट किया गया था।

## मनमानी मेमोरी पढ़ना

*OpenIPC* हॉल्ट के बाद मेमोरी पढ़ने की अनुमति देता है, उदाहरण के लिए:```
ipc.threads[0].mem("0xf0080004P", 4)

आप एक लॉजिकल पता (sel:offset), रैखिक पता (L modifier), या भौतिक पता (P modifier) निर्दिष्ट कर सकते हैं।

ROM पढ़ना

ME सिस्टम एजेंट (MISA) आपको ROM क्षेत्र का प्रारंभिक भौतिक पता प्राप्त करने की अनुमति देता है, जिसमें ME रीसेट वेक्टर शामिल होता है। आप ROM पता ऑफसेट 0xe20 MISA MMIO (0xf0000000P) पर स्थित Hunit ROM Memory Base (HROMMB) रजिस्टर के माध्यम से प्राप्त कर सकते हैं:

screenshot

ROM हमेशा ROMBASE से 0xffffffff तक रहता है। ROM को किसी फ़ाइल में कॉपी करने के लिए, निम्न कमांड चलाएँ:``` ipc.threads[0].memsave("", "0xfffe0000p", 0x20001)

root@kitploit:~
आकार को *0x20001* के रूप में निर्दिष्ट करना महत्वपूर्ण है, न कि *0x20000* (अन्यथा *OpenIPC* को 64-बिट एक्सेस की समस्याओं के कारण दिक्कतों का सामना करना पड़ता है, जो 32-बिट ME कोर के लिए संभव नहीं है)। फ़ाइल का अंतिम बाइट हटाया जा सकता है, क्योंकि यह *ROM* का हिस्सा नहीं है।


# TXE क्यों? 

यह प्लेटफ़ॉर्म एक विशेष [Intel CCA-SVT](https://designintools.intel.com/Silicon_View_Technology_Closed_Chassis_Adapter_p/itpxdpsvt.htm) एडाप्टर के बिना डिबगिंग के अधिक अवसर प्रदान करता है और एक सामान्य *USB डिबग केबल* के माध्यम से TXE कोर के सबसे शुरुआती चरणों को डिबग करने की अनुमति देता है।


## संबंधित URLs:

[Intel ME: स्थैतिक विश्लेषण का मार्ग][4]

[Intel DCI रहस्य][5]

[Intel ME: फ्लैश फाइल सिस्टम समझाया गया][6]

[बंद कंप्यूटर को हैक कैसे करें या Intel Management Engine में अहस्ताक्षरित कोड कैसे चलाएं][7]

[Intel Management Engine के अंदर][8]

[अप्रलेखित मोड के माध्यम से Intel ME 11 को अक्षम करना][9]

## परीक्षण किए गए प्लेटफ़ॉर्मों की सूची

* Gigabyte Mini-PC Barebone (BRIX) GB-BPCE-3350C (rev:1.1, 1.2)
* Beelink M1
* [MinisForum N33](https://github.com/HackingThings/MinisForum_N33_JTAG) Mini PC - 2021
* UP Squared Intel Atom® x7-E3950 [SKU UPS-APLX7-A20-0864](https://up-shop.org/up-squared-series.html) - 2022
* UP 4000 Intel Atom® x7-E3950 [SKU UP-APL03X7F-A10-0464](https://up-shop.org/up4000series.html) - 2022


# लेखक 
Mark Ermolov ([@\_markel___][1])

Maxim Goryachy ([@h0t_max][2])

### Intel System Studio 2020 और UP Squared हार्डवेयर के लिए README.md अद्यतन
  
Xeno Kovah ([@XenoKovah][10])

# शोध दल

Mark Ermolov ([@\_markel___][1])

Maxim Goryachy ([@h0t_max][2])

Dmitry Sklyarov ([@_Dmit][3])


# लाइसेंस
कॉपीराइट (c) 2018 Mark Ermolov, Maxim Goryachy, Positive Technologies में

इसके द्वारा अनुमति निःशुल्क दी जाती है, किसी भी व्यक्ति को जो इस सॉफ्टवेयर और संबंधित दस्तावेज़ फ़ाइलों ("सॉफ्टवेयर") की एक प्रति प्राप्त करता है, बिना किसी प्रतिबंध के सॉफ्टवेयर से निपटने के लिए, जिसमें बिना किसी सीमा के सॉफ्टवेयर की प्रतियों का उपयोग, प्रतिलिपि बनाने, संशोधित करने, विलय करने, प्रकाशित करने, वितरित करने, उप-लाइसेंस देने और/या बेचने के अधिकार शामिल हैं, और जिन व्यक्तियों को सॉफ्टवेयर प्रदान किया जाता है उन्हें ऐसा करने की अनुमति देने के लिए, निम्नलिखित शर्तों के अधीन: उपरोक्त कॉपीराइट नोटिस और यह अनुमति नोटिस सॉफ्टवेयर की सभी प्रतियों या महत्वपूर्ण हिस्सों में शामिल किए जाएंगे।

सॉफ्टवेयर "जैसा है" प्रदान किया जाता है, बिना किसी प्रकार की वारंटी के, व्यक्त या निहित, जिसमें व्यापारिकता, किसी विशेष उद्देश्य के लिए उपयुक्तता और गैर-उल्लंघन की वारंटियां शामिल हैं, लेकिन इन्हीं तक सीमित नहीं हैं। किसी भी स्थिति में लेखक या कॉपीराइट धारक किसी भी दावे, क्षति या अन्य दायित्व के लिए उत्तरदायी नहीं होंगे, चाहे वह अनुबंध की कार्रवाई, टोर्ट या अन्यथा हो, सॉफ्टवेयर या सॉफ्टवेयर के उपयोग या अन्य कार्यों से उत्पन्न हो।



[1]: https://twitter.com/_markel___
[2]: https://twitter.com/h0t_max
[3]: https://twitter.com/_Dmit
[4]: https://www.troopers.de/troopers17/talks/772-intel-me-the-way-of-the-static-analysis/
[5]: http://conference.hitb.org/hitbsecconf2017ams/sessions/commsec-intel-dci-secrets/
[6]: https://www.blackhat.com/docs/eu-17/materials/eu-17-Sklyarov-Intel-ME-Flash-File-System-Explained-wp.pdf
[7]: https://www.blackhat.com/docs/eu-17/materials/eu-17-Goryachy-How-To-Hack-A-Turned-Off-Computer-Or-Running-Unsigned-Code-In-Intel-Management-Engine-wp.pdf
[8]: https://github.com/ptresearch/IntelME-JTAG
[9]: http://blog.ptsecurity.com/2017/08/disabling-intel-me.html
[10]: https://twitter.com/XenoKovah
टूल डाउनलोड करें