
Frida.re आधारित RunPE (और MapViewOfSection) निष्कर्षण उपकरण
FridaExtract एक Frida.re पर आधारित RunPE निष्कर्षण उपकरण है। RunPE प्रकार का इंजेक्शन मैलवेयर द्वारा किसी अन्य प्रक्रिया के भीतर कोड छिपाने के लिए उपयोग की जाने वाली एक सामान्य तकनीक है। यह कई पैकर्स में अंतिम चरण भी होता है : )
नोट: Frida अब "MapViewOfSection" तकनीक का उपयोग करके इंजेक्ट किए गए PE फ़ाइलों के निष्कर्षण का भी समर्थन करता है, जिसका यहाँ वर्णन किया गया है.
FridaExtract का उपयोग करके आप RunPE विधि का उपयोग करके इंजेक्ट किए गए PE फ़ाइल को स्वचालित रूप से निकाल और पुनर्निर्माण कर सकते हैं... और इन पैकर्स को बायपास कर सकते हैं!
ऐसे कई बेहतरीन उपकरण पहले से मौजूद हैं जो RunPE इंजेक्ट किए गए कोड को निकालते हैं, FridaExtract इनसे बेहतर नहीं है। लेकिन इसे स्थापित करना आसान है, बनाना आसान है (lol), चलाना आसान है, और हैक करना आसान है। कोई कंपाइलर, कोई बिल्ड वातावरण नहीं, बस एक सरल "pip install" और आप तैयार हैं।
कोड विशेष रूप से टिप्पणी और व्यवस्थित किया गया है ताकि आप अपने स्वयं के Frida प्रोजेक्ट बनाने के लिए एक टेम्पलेट के रूप में कार्य करे। यह एक प्रूफ ऑफ कॉन्सेप्ट से अधिक है जो दर्शाता है कि विंडोज वातावरण में हुक कैसे सेटअप करें। कृपया इसे किसी भी तरह से कॉपी-पेस्ट-हैक करें!
चेतावनी: FridaExtract केवल Windows 32bit के अंतर्गत काम करता है। वर्तमान में wow64 के साथ कुछ रहस्यमय बग हैं, इसलिए हम Windows 7 32bit या Windows Server 2008 32bit पर रहने की सलाह देते हैं।
pip install frida टाइप करके Frida स्थापित करें।FridaExtract केवल RunPE इंजेक्ट किए गए PE फ़ाइलों को निकालने में सक्षम है, इसलिए यह काफी सीमित है। यदि आप एक VM का उपयोग कर रहे हैं जिसे स्नैपशॉट-रन-रीवर्ट करना आसान है, तो आप प्रत्येक मैलवेयर नमूने पर आँख बंद करके FridaExtract आज़मा सकते हैं और देख सकते हैं कि क्या निकलता है, लेकिन हम इसकी अनुशंसा नहीं करते। इसके बजाय, FridaExtract सैंडबॉक्स (हमें malwr पसंद है) के लिए एक अच्छा पूरक है। पहले नमूने को सैंडबॉक्स में चलाएं और API कॉल्स नोट करें।
RunPE तकनीक के लिए यदि आप निम्नलिखित API कॉल्स देखते हैं तो FridaExtract आपके लिए उपकरण हो सकता है:
MapViewOfSection तकनीक के लिए यदि आप निम्नलिखित API कॉल्स देखते हैं तो FridaExtract आपके लिए उपकरण हो सकता है:
डिफ़ॉल्ट रूप से FridaExtract इंजेक्ट किए गए PE फ़ाइल को स्वचालित रूप से निकालने, पुनर्निर्माण करने और इसे dump.bin नामक फ़ाइल में डंप करने का प्रयास करेगा।
python FridaExtract.py bad.exe
--out_file कमांड का उपयोग करके एक डंप फ़ाइल निर्दिष्ट की जा सकती है।
python FridaExtract.py bad.exe --out_file extracted.exe
यदि आप जिस पैक किए गए PE फ़ाइल को निकालने का प्रयास कर रहे हैं उसे आर्गुमेंट की आवश्यकता है, तो आप --args कमांड का उपयोग करके उन्हें पास कर सकते हैं। एकाधिक आर्गुमेंट को अल्पविराम से अलग करके पास किया जा सकता है।
python FridaExtract.py bad.exe --args password
FridaExtract स्वचालित रूप से डंप की गई मेमोरी को PE फ़ाइल में पुनर्निर्माण करने का प्रयास करेगा। यदि यह काम नहीं कर रहा है और आप सबप्रोसेस में लिखी गई सभी मेमोरी का रॉ डंप चाहते हैं, तो आप --raw कमांड का उपयोग कर सकते हैं। पुनर्निर्मित PE को डंप फ़ाइल में लिखने के बजाय, रॉ मेमोरी सेगमेंट को पते के क्रम में लिखा जाएगा।
python FridaExtract.py bad.exe --raw
FridaExtract इंजेक्ट किए गए PE फ़ाइल को निकालने के लिए निम्नलिखित API पर हुक का उपयोग करता है:
इन API को ट्रेस करने और परिणाम प्रिंट करने के लिए -v या --verbose कमांड का उपयोग करें।
python FridaExtract.py bad.exe --verbose
Frida उपयोगकर्ता-स्तरीय हुक का उपयोग करता है जिन्हें आसानी से बायपास किया जा सकता है। यदि आपको अधिक मजबूत DBI टूल की आवश्यकता है, तो PIN आज़माएँ! RunPE निकालने के लिए PIN का उपयोग करने का एक बेहतरीन उदाहरण यहाँ प्रदान किया गया है।
Frida आपके द्वारा विश्लेषण की जा रही प्रक्रिया में एक जावास्क्रिप्ट रनटाइम इंजेक्ट करता है, यह गुप्त नहीं है। Frida का मैलवेयर द्वारा कैसे पता लगाया जा सकता है, इसका एक अच्छा अवलोकन यहाँ देखें।