SPI

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

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

मौलिक जानकारी

SPI (सीरियल पेरिफेरल इंटरफेस) एक सिंक्रोनस सीरियल संचार प्रोटोकॉल है जो एम्बेडेड सिस्टम में उपयोग किया जाता है छोटी दूरी की संचार के लिए आईसी (एकीकृत परिपथ) के बीच। SPI संचार प्रोटोकॉल मास्टर-स्लेव वास्तुकला का उपयोग करता है जिसे घड़ी और चिप सिलेक्ट सिग्नल द्वारा निर्देशित किया जाता है। मास्टर-स्लेव वास्तुकला में एक मास्टर (सामान्यतः एक माइक्रोप्रोसेसर) होता है जो बाह्य पेरिफेरल्स को प्रबंधित करता है जैसे EEPROM, सेंसर, नियंत्रण उपकरण आदि जो स्लेव के रूप में माना जाता है।

एक मास्टर के साथ कई स्लेव्स कनेक्ट किए जा सकते हैं लेकिन स्लेव्स एक-दूसरे के साथ संवाद नहीं कर सकते। स्लेव्स को दो पिन्स द्वारा प्रशासित किया जाता है, घड़ी और चिप सिलेक्ट। SPI एक सिंक्रोनस संचार प्रोटोकॉल होने के कारण, इनपुट और आउटपुट पिन्स घड़ी सिग्नल का पालन करते हैं। चिप सिलेक्ट का उपयोग मास्टर द्वारा एक स्लेव का चयन करने और उसके साथ संवाद करने के लिए किया जाता है। जब चिप सिलेक्ट ऊंचा होता है, तो स्लेव उपकरण का चयन नहीं होता है जबकि जब यह नीचा होता है, तो चिप का चयन किया गया होता है और मास्टर स्लेव के साथ संवाद करेगा।

MOSI (मास्टर आउट, स्लेव इन) और MISO (मास्टर इन, स्लेव आउट) डेटा भेजने और प्राप्त करने के लिए जिम्मेदार हैं। डेटा स्लेव उपकरण को MOSI पिन के माध्यम से भेजा जाता है जबकि चिप सिलेक्ट नीचे रखा जाता है। इनपुट डेटा में निर्देशिका, मेमोरी पते या डेटा शामिल होता है जैसा कि स्लेव उपकरण वेंडर के डेटाशीट के अनुसार होता है। एक वैध इनपुट के बाद, MISO पिन डेटा को मास्टर को भेजने के लिए जिम्मेदार होता है। आउटपुट डेटा इनपुट समाप्त होने के बाद अगले घड़ी साइकिल पर ठीक भेजा जाता है। MISO पिन डेटा भेजता है जब तक डेटा पूरी तरह से ट्रांसमिटर नहीं होता या मास्टर चिप सिलेक्ट पिन को ऊंचा नहीं कर देता (उस मामले में, स्लेव ट्रांसमिटर करना बंद कर देगा और मास्टर उस घड़ी साइकिल के बाद सुनने वाला नहीं होगा)।

EEPROMs से फर्मवेयर डंप करना

फर्मवेयर को डंप करना फर्मवेयर का विश्लेषण करने और उनमें दुर्बलताएँ खोजने के लिए उपयोगी हो सकता है। अक्सर समय ऐसा होता है कि फर्मवेयर इंटरनेट पर उपलब्ध नहीं होता है या मॉडल नंबर, संस्करण आदि जैसे कई कारकों के विभिन्नताओं के कारण अमान्य होता है। इसलिए, फिजिकल डिवाइस से सीधे फर्मवेयर निकालना खतरों की खोज के लिए विशेष हो सकता है।

सीरियल कंसोल प्राप्त करना उपयोगी हो सकता है, लेकिन अक्सर समय ऐसा होता है कि फ़ाइलें केवल पढ़ने योग्य होती हैं। इसके कई कारणों के कारण विश्लेषण को प्रतिबंधित किया जाता है। उदाहरण के लिए, जिन टूल्स की आवश्यकता होती हैं जो पैकेज भेजने और प्राप्त करने के लिए आवश्यक होते हैं, वे फर्मवेयर में नहीं होते हैं। इसलिए, बाइनरी को उलटा इंजीनियर करने के लिए बाइनरीज को निकालना संभव नहीं होता है। इसलिए, पूरे फर्मवेयर को सिस्टम पर डंप करना और विश्लेषण के लिए बाइनरीज को निकालना बहुत ही उपयोगी हो सकता है।

इसके अलावा, रेड रीमिंग और डिवाइसेस को फिजिकल एक्सेस प्राप्त करने के दौरान, फर्मवेयर को डंप करना फाइलों को संशोधित करने या दुर्भाग्यपूर्ण फ़ाइलें इंजेक्ट करने में मदद कर सकता है और फिर उन्हें मेमोरी में फिर से फ्लैश करना उपयोगी हो सकता है डिवाइस में एक बैकडोर डालने के लिए। इसलिए, फर्मवेयर डंप करने के साथ अनेक संभावनाएं खोल सकती हैं।

CH341A EEPROM प्रोग्रामर और रीडर

यह डिवाइस EEPROMs से फर्मवेयर को डंप करने और उन्हें फर्मवेयर फ़ाइलों के साथ फिर से फ्लैश करने के लिए एक सस्ता उपकरण है। यह कंप्यूटर BIOS चिप्स (जो केवल EEPROMs होते हैं) के साथ काम करने के लिए एक लोकप्रिय विकल्प रहा है। यह डिवाइस USB के माध्यम से कनेक्ट होता है और शुरू होने के लिए न्यूनतम उपकरणों की आवश्यकता होती है। इसके अलावा, यह आम तौर पर कार्य को तेजी से पूरा कर लेता है, इसलिए यह भौतिक डिवाइस एक्सेस में भी मददगार हो सकता है।

CH341a प्रोग्रामर के साथ EEPROM मेमोरी को कनेक्ट करें और डिवाइस को कंप्यूटर में प्लग करें। यदि डिवाइस को पहचाना नहीं जा रहा है, तो कंप्यूटर में ड्राइवर इंस्टॉल करने का प्रयास करें। इसके अलावा, सुनिश्चित करें कि EEPROM सही ओरिएंटेशन में कनेक्ट है (सामान्यतः, VCC पिन को USB कनेक्टर के उलट ओर

binwalk -e <filename>

फ़ाइलनाम .bin या .rom हो सकता है टूल्स और कॉन्फ़िगरेशन के अनुसार।

ध्यान दें कि फर्मवेयर निकालना एक संवेदनशील प्रक्रिया है और इसमें बहुत धैर्य की आवश्यकता है। किसी भी गलती से फर्मवेयर को क्षति पहुंच सकती है या फिर पूरी तरह से मिटा सकती है और उपकरण का उपयोग असंभव बना सकती है। सिफ़र निकालने का प्रयास करने से पहले विशिष्ट उपकरण का अध्ययन करना सुझाव दिया जाता है।

बस पाइरेट + फ्लैशरोम

ध्यान दें कि यदि पाइरेट बस का पिनआउट MOSI और MISO को SPI से कनेक्ट करने के लिए पिन दिखाता है तो कुछ SPI पिन को DI और DO के रूप में दिखा सकता है। MOSI -> DI, MISO -> DO

Windows या Linux में आप flashrom प्रोग्राम का उपयोग करके फ्लैश मेमोरी की सामग्री डंप करने के लिए कुछ इस प्रकार का कुछ चला सकते हैं:

# In this command we are indicating:
# -VV Verbose
# -c <chip> The chip (if you know it better, if not, don'tindicate it and the program might be able to find it)
# -p <programmer> In this case how to contact th chip via the Bus Pirate
# -r <file> Image to save in the filesystem
flashrom -VV -c "W25Q64.V" -p buspirate_spi:dev=COM3 -r flash_content.img
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

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

Last updated