Hardware Hacking

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

JTAG

JTAG एक बाउंडरी स्कैन करने की अनुमति देता है। बाउंडरी स्कैन निश्चित सर्किटरी का विश्लेषण करता है, जिसमें प्रत्येक पिन के लिए संगठित बाउंडरी-स्कैन सेल और रजिस्टर शामिल हैं।

JTAG मानक निम्नलिखित के लिए विशिष्ट कमांड्स को परिभाषित करता है:

  • BYPASS आपको अन्य चिप्स के माध्यम से जाने के बिना एक विशिष्ट चिप का परीक्षण करने की अनुमति देता है।

  • SAMPLE/PRELOAD उस समय डिवाइस में होते हुए डेटा का एक नमूना लेता है जब यह अपने सामान्य कार्यान्वयन मोड में होता है।

  • EXTEST सेट करता है और पिन स्थितियों को पढ़ता है।

यह अन्य कमांड्स को भी समर्थन कर सकता है जैसे:

  • उपकरण की पहचान के लिए IDCODE

  • उपकरण के आंतरिक परीक्षण के लिए INTEST

आपको जब आप JTAGulator जैसे उपकरण का उपयोग करते हैं तो आपको ये निर्देश मिल सकते हैं।

परीक्षण एक्सेस पोर्ट

बाउंडरी स्कैन में चार-तार वाले टेस्ट एक्सेस पोर्ट (TAP) के परीक्षण शामिल हैं, एक सामान्य-उद्देश्य पोर्ट जो एक कॉम्पोनेंट में बनाए गए JTAG परीक्षण समर्थन कार्यों तक पहुंच प्रदान करता है। TAP निम्नलिखित पांच सिग्नल का उपयोग करता है:

  • टेस्ट क्लॉक इनपुट (TCK) TCK एक क्लॉक है जो निर्धारित करता है कि TAP नियंत्रक कितनी बार एकल क्रिया करेगा (अर्थात, राज्य मशीन में अगले स्थिति में जाएगा)।

  • टेस्ट मोड सिलेक्ट (TMS) इनपुट TMS निर्धारित करता है फाइनाइट स्टेट मशीन को। प्रत्येक क्लॉक की धड़कन पर, उपकरण का JTAG TAP नियंत्रक TMS पिन पर वोल्टेज की जांच करता है। यदि वोल्टेज किसी निश्चित सीमा से कम है, तो सिग्नल को कम माना जाता है और 0 के रूप में व्याख्या की जाती है, जबकि यदि वोल्टेज किसी निश्चित सीमा से अधिक है, तो सिग्नल को उच्च माना जाता है और 1 के रूप में व्याख्या की जाती है।

  • टेस्ट डेटा इनपुट (TDI) TDI वह पिन है जो डेटा को चिप में स्कैन सेल के माध्यम से भेजता है। प्रत्येक विक्रेता को इस पिन पर डेटा के लिए संचार प्रोटोकॉल की परिभाषा करने की जिम्मेदारी होती है, क्योंकि JTAG इसे परिभाषित नहीं करता है।

  • टेस्ट डेटा आउटपुट (TDO) TDO वह पिन है जो डेटा को चिप से बाहर भेजता है।

  • टेस्ट रीसेट (TRST) इनपुट वैकल्पिक TRST फाइनाइट स्टेट मशीन को एक ज्ञात अच्छी स्थिति में रीसेट करता है। या यदि TMS को पांच सतत क्लॉक साइकिल के लिए 1 पर रखा जाता है, तो यह रीसेट को आमंत्रित करता है, TRST पिन की तरह, इसलिए TRST वैकल्पिक है।

कभी-कभी आप PCB में उन पिनों को मार्क किया हुआ पाएंगे। अन्य स्थितियों में, आपको शायद उन्हें खोजने की आवश्यकता हो सकती है।

JTAG पिनों की पहचान

JTAG पोर्ट की पहचान करने का सबसे तेज लेकिन सबसे महंगा तरीका JTAGulator का उपयोग करके किया जा सकता है, जो इस उद्देश्य के लिए विशेष रूप से बनाया गया उपकरण है (हालांकि यह यूएआरटी पिनआउट्स को भी पहचान सकता है)।

इसमें 24 चैनल होते हैं जिन्हें आप बोर्ड के पिनों से कनेक्ट कर सकते हैं। फिर यह सभी संभावित संयोजनों का बीएफ हमला करता है और IDCODE और BYPASS बाउंडरी स्कैन कमांड भेजता है। यदि यह एक प्रतिक्रिया प्राप्त करता है, तो यह प्रत्येक JTAG सिग्नल के लिए संबंधित चैनल को प्रदर्शित करता है।

JTAG पिनआउट की पहचान करने का एक सस्ता लेकिन बहुत धीमा तरीका JTAGenum का उपयोग करके किया जा सकता है जो एक Arduino-संगत माइक्रोकंट्रोलर पर लोड किया जाता है।

JTAGenum का उपयोग करते हुए, आपको पहले प्रोबिंग उपकरण के पिनों को परिभाषित करना होगा जिन्हें आप जाँच के लिए उपयोग करेंगे। आपको उपकरण के पिनआउट डायग्राम का संदर्भ देना होगा, और फिर इन पिनों को आपके लक्षित उपकरण परीक्षित बिंदुओं से कनेक्ट करना होगा।

JTAG पिनों की पहचान करने का तीसरा तरीका यह है कि आप PCB की जांच करें एक पिनआउट के लिए। कुछ मामलों में, PCBs आसानी से Tag-Connect इंटरफेस प्रदान कर सकते हैं, जो एक स्पष्ट संकेत है कि बोर्ड में एक JTAG कनेक्टर है। आप देख सकते हैं कि वह इंटरफेस कैसा दिखता है https://www.tag-connect.com/info/ पर। इसके अतिरिक्त, PCB पर चिपसेट के डेटाशीट्स की जांच करने से JTAG इंटरफेस की ओर संकेत करने वाले पिनआउट डायग्राम प्रकट हो सकते हैं।

SDW

SWD एक ARM-विशिष्ट प्रोटोकॉल है जो डीबगिंग के लिए डिज़ाइन किया गया है।

SWD इंटरफेस को दो पिन की आवश्यकता होती है: एक द्विदिशील SWDIO सिग्नल, जो JTAG के TDI और TDO पिनों के समकक्ष है और एक क्लॉक, और SWCLK, जो JTAG में **TCK

Last updated