
Yara नियमों के साथ बाइनरी स्कैन करने के लिए IDA पायथन प्लगइन
अपने बाइनरी को yara नियमों से स्कैन करने के लिए इस IDA पायथन प्लगइन का उपयोग करें। सभी yara नियम मैचों को उनके ऑफसेट के साथ सूचीबद्ध किया जाएगा ताकि आप जल्दी से उन पर जा सकें!
🍻 इस प्लगइन और कोड का सारा श्रेय David Berard (@p0ly) को जाता है 🍻
यह प्लगइन David के बेहतरीन findcrypt-yara plugin से कॉपी किया गया है। यह प्लगइन बस उसके कोड को बढ़ाता है ताकि किसी भी yara नियम का उपयोग किया जा सके।
प्लगइन को मेन्यू से Edit->Plugins->FindYara या हॉट-की कॉम्बिनेशन Ctrl-Alt-Y का उपयोग करके लॉन्च किया जा सकता है। लॉन्च होने पर FindYara एक फ़ाइल चयन संवाद खोलेगा जो आपको अपनी Yara नियम फ़ाइल चुनने की अनुमति देता है। एक बार नियम फ़ाइल चुने जाने के बाद FindYara लोड किए गए बाइनरी को नियम मैचों के लिए स्कैन करेगा।
सभी नियम मैच एक चयन बक्से में प्रदर्शित होते हैं जो आपको मैचों पर डबल-क्लिक करने और उनके स्थान पर बाइनरी में जाने की अनुमति देता है।
FindYara IDA में लोड किए गए PE सेक्शन को स्कैन करता है, इसका मतलब है कि yara नियम जिनमें PE हेडर पर मैच शामिल हैं, IDA में मेल नहीं खाएंगे। IDA PE हेडर को स्कैन करने योग्य सेक्शन के रूप में लोड नहीं करता है। साथ ही, यदि आपने IDA में अपने बाइनरी को लोड करते समय Load resources का चयन नहीं किया है, तो रिसोर्स सेक्शन स्कैनिंग के लिए उपलब्ध नहीं होगा।
इससे निराशाजनक स्थितियाँ उत्पन्न हो सकती हैं जहाँ एक yara नियम IDA के बाहर मैच करेगा लेकिन FindYara का उपयोग करते समय नहीं। यदि आप इसका सामना करते हैं तो yara नियम को संपादित करने का प्रयास करें ताकि PE हेडर और रिसोर्स सेक्शन पर मैच हटा दिए जाएँ।
प्लगइन का उपयोग करने से पहले आपको अपने IDA वातावरण में पायथन Yara मॉड्यूल स्थापित करना होगा। ऐसा करने का सबसे सरल तरीका IDA के बाहर शेल से pip का उपयोग करना है।
pip install yara-python
yara मॉड्यूल गलती से स्थापित न करें। yara पायथन मॉड्यूल आपके yara-python मॉड्यूल में गड़बड़ी करेगा, इसलिए यदि गलती से स्थापित हो गया है तो इसे अनइंस्टॉल करना होगा।
एक बार जब आपके पास yara मॉड्यूल स्थापित हो जाए, तो बस findyara.py के नवीनतम रिलीज़ को अपने IDA प्लगइन निर्देशिका में कॉपी करें और आप Yara स्कैनिंग शुरू करने के लिए तैयार हैं!
FindYara को IDA 7+ और Python 3 के उपयोग के लिए विकसित किया गया है, यह पिछड़ा संगत नहीं है।
FindYara को पायथन Yara मॉड्यूल की आवश्यकता है जिसका संस्करण 4+ स्थापित हो। Yara के पुराने संस्करण प्लगइन के साथ संगत नहीं हैं और Yara मैच प्रारूप में ब्रेकिंग बदलावों के कारण समस्याएँ पैदा कर सकते हैं।
David Berard (@p0ly) को एक बहुत बड़ा धन्यवाद - उन्हें GitHub पर यहाँ फ़ॉलो करें! यह अधिकतर उनका कोड है और मूल प्लगइन ढाँचे का सारा श्रेय उन्हीं को जाता है।
साथ ही, Alex Hanel @nullandnull को भी सलाम - उन्हें GitHub पर यहाँ फ़ॉलो करें। Alex ने मुझे यह समझने में मदद की कि IDC विधियों का उपयोग कैसे किया जा रहा है। उनकी IDA Python book एक शानदार संदर्भ है!!