
IDA Pro के लिए HashDB API हैश लुकअप प्लगइन
IDA Pro के लिए मैलवेयर स्ट्रिंग हैश लुकअप प्लगइन। यह प्लगइन OALABS HashDB लुकअप सेवा से जुड़ता है।
हैश एल्गोरिदम डेटाबेस ओपन सोर्स है और GitHub पर नए एल्गोरिदम जोड़े जा सकते हैं। पुल रिक्वेस्ट ज्यादातर स्वचालित होती हैं और जब तक हमारे स्वचालित परीक्षण पास होते हैं, नया एल्गोरिदम मिनटों में HashDB पर उपयोग योग्य हो जाएगा।
HashDB का उपयोग मैलवेयर में हैश किए गए स्ट्रिंग्स को खोजने के लिए किया जा सकता है, IDA डिसअसेंबली व्यू में हैश कॉन्स्टेंट पर राइट-क्लिक करके और HashDB Lookup क्लाइंट लॉन्च करके।
प्लगइन का उपयोग हैश खोजने के लिए करने से पहले HashDB सेटिंग्स कॉन्फ़िगर की जानी चाहिए। सेटिंग्स विंडो को प्लगइन मेनू Edit->Plugins->HashDB से लॉन्च किया जा सकता है।
HashDB API से समर्थित हैश एल्गोरिदम की सूची प्राप्त करने के लिए Refresh Algorithms पर क्लिक करें, फिर उस एल्गोरिदम का चयन करें जो आपके द्वारा विश्लेषण किए जा रहे मैलवेयर में उपयोग किया गया है।
प्रत्येक हैश मान के साथ XOR सक्षम करने का एक विकल्प भी है, क्योंकि यह मैलवेयर लेखकों द्वारा हैश को और अस्पष्ट करने के लिए उपयोग की जाने वाली एक सामान्य तकनीक है।
HashDB लुकअप सेवा के लिए डिफ़ॉल्ट API URL https://hashdb.openanalysis.net/ है। यदि आप अपने स्वयं के आंतरिक सर्वर का उपयोग कर रहे हैं तो इस URL को अपने सर्वर की ओर इंगित करने के लिए बदला जा सकता है।
जब HashDB द्वारा एक नए हैश की पहचान की जाती है, तो हैश और उससे जुड़ा स्ट्रिंग IDA में एक एनम में जोड़ दिया जाता है। इस एनम का उपयोग तब IDA में हैश कॉन्स्टेंट को उनके संबंधित एनम नाम में बदलने के लिए किया जा सकता है। मौजूदा एनम के साथ विरोध होने की स्थिति में एनम नाम सेटिंग्स से कॉन्फ़िगर करने योग्य है।
एक बार प्लगइन सेटिंग्स कॉन्फ़िगर हो जाने के बाद, आप IDA डिसअसेंबली या Pseudocode (Hex-Rays) विंडो में किसी भी कॉन्स्टेंट पर राइट-क्लिक कर सकते हैं और उस कॉन्स्टेंट को हैश के रूप में खोज सकते हैं। राइट-क्लिक आवश्यकता होने पर XOR मान सेट करने का एक त्वरित तरीका भी प्रदान करता है।
यदि कोई हैश किसी मॉड्यूल का हिस्सा है, तो एक प्रॉम्प्ट पूछेगा कि क्या आप उस मॉड्यूल से सभी हैश इम्पोर्ट करना चाहते हैं। यह बल्क में हैश खींचने का एक त्वरित तरीका है। उदाहरण के लिए, यदि पहचाने गए हैश में से एक kernel32 मॉड्यूल से Sleep है, तो HashDB kernel32 से सभी हैश किए गए एक्सपोर्ट को खींच सकता है।
एक हैश हल होने के बाद (या एक मॉड्यूल बल्क-इम्पोर्ट किया जाता है), HashDB वर्तमान फंक्शन को स्कैन करता है और प्रत्येक मिलान कॉन्स्टेंट को उसके एनम नाम में बदल देता है — ऑपरैंड 0–2 पर, साइन-एक्सटेंडेड वैल्यू के लिए 32-बिट-मास्क फ़ॉलबैक के साथ। डिसअसेंबली और Hex-Rays व्यू स्वचालित रूप से रिफ्रेश हो जाते हैं। आपके द्वारा पहले से इम्पोर्ट किए गए मॉड्यूल सत्र के लिए कैश किए जाते हैं, ताकि आपको हर नए हैश पर kernel32 (आदि) इम्पोर्ट करने के लिए फिर से प्रॉम्प्ट न किया जाए।
HashDB में एक बुनियादी एल्गोरिदम खोज भी शामिल है जो हैश मान के आधार पर हैश एल्गोरिदम की पहचान करने का प्रयास करेगी। खोज उन सभी एल्गोरिदम को वापस करेगी जिनमें हैश मान होता है, यह विश्लेषक पर निर्भर करता है कि कौन सा (यदि कोई) एल्गोरिदम सही है। इस कार्यक्षमता का उपयोग करने के लिए हैश कॉन्स्टेंट पर राइट-क्लिक करें और HashDB Hunt Algorithm चुनें।
इस हैश वाले सभी एल्गोरिदम एक चूज़र बॉक्स में प्रदर्शित होंगे। चूज़र बॉक्स का उपयोग HashDB द्वारा उपयोग किए जाने वाले एल्गोरिदम को सीधे चुनने के लिए किया जा सकता है। यदि Cancel चुना जाता है तो कोई एल्गोरिदम नहीं चुना जाएगा।
अलग-अलग API हैश को हल करने के बजाय (कोड में इनलाइन) कुछ मैलवेयर डेवलपर मेमोरी में इम्पोर्ट हैश का एक ब्लॉक बनाएंगे। फिर इन हैश को एक ही फंक्शन के भीतर हल किया जाता है, एक डायनामिक इम्पोर्ट एड्रेस टेबल बनाते हुए जिसे बाद में कोड में संदर्भित किया जाता है। इन परिदृश्यों में HashDB Scan IAT फ़ंक्शन का उपयोग किया जा सकता है।
बस इम्पोर्ट हैश ब्लॉक चुनें, राइट-क्लिक करें और HashDB Scan IAT चुनें। HashDB चयनित रेंज में प्रत्येक व्यक्तिगत इंटीजर प्रकार (DWORD/QWORD) को हल करने का प्रयास करेगा।
HashDB को python requests मॉड्यूल की आवश्यकता है। इसे IDA के बाहर शेल से pip install requests के साथ स्थापित करें।
फिर आप प्लगइन को दो तरीकों में से किसी एक में स्थापित कर सकते हैं:
hashdb.py को अपनी IDA plugins निर्देशिका में कॉपी करें।HashDB प्लगइन Python 3 के साथ IDA 7.5+ (IDA 9.0 सहित) को लक्षित करता है और पिछड़े संगत नहीं है।