
मैलवेयर विश्लेषण के दौरान निकाले गए शेलकोड को तुरंत डीबग करें
BlobRunner एक सरल उपकरण है जो मैलवेयर विश्लेषण के दौरान निकाले गए शेलकोड को तुरंत डीबग करने के लिए है। BlobRunner लक्ष्य फ़ाइल के लिए मेमोरी आवंटित करता है और आवंटित मेमोरी के आधार (या ऑफसेट) पर छलांग लगाता है। यह एक विश्लेषक को न्यूनतम ओवरहेड और प्रयास के साथ निकाले गए आर्टिफैक्ट्स में तुरंत डीबग करने की अनुमति देता है।

BlobRunner का उपयोग करने के लिए, आप रिलीज़ पेज से संकलित निष्पादन योग्य डाउनलोड कर सकते हैं या नीचे दिए गए चरणों का उपयोग करके अपना खुद का निर्माण कर सकते हैं।
निष्पादन योग्य का निर्माण सीधा और अपेक्षाकृत दर्द रहित है।
आवश्यकताएं
निर्माण चरण
cl blobrunner.c
x64 संस्करण बनाना वस्तुतः उपरोक्त के समान है, लेकिन केवल x64 टूलींग का उपयोग करता है।
cl /Feblobrunner64.exe /Foblobrunner64.out blobrunner.c
डीबग करने के लिए:
BlobRunner.exe shellcode.bin
किसी विशिष्ट ऑफसेट पर फ़ाइल में डीबग करें।
BlobRunner.exe shellcode.bin --offset 0x0100
फ़ाइल में डीबग करें और कूदने से पहले रुकें नहीं। चेतावनी: सुनिश्चित करें कि कूदने से पहले आपने एक ब्रेकपॉइंट सेट किया है।
BlobRunner.exe shellcode.bin --nopause
वैकल्पिक पैरामीटर --jit का उपयोग कॉन्फ़िगर किए गए जस्ट-इन-टाइम (JIT) डीबगर के साथ शेल कोड को डीबग करने के लिए किया जा सकता है।
डीबगर को ट्रिगर करने के लिए - BlobRunner नव आवंटित मेमोरी क्षेत्र से निष्पादन पहुंच हटा देता है। इससे प्रोग्राम लोड किए गए शेलकोड को निष्पादित करने का प्रयास करते समय AccessViolation (0xC0000005) अपवाद उठाता है।
विंडोज पर JIT डीबगर को कॉन्फ़िगर करने के निर्देश यहाँ पाए जा सकते हैं। x64Dbg के लिए setjit या setjitauto देखें।
उदाहरण:
BlobRunner.exe shellcode.bin --jit
एक बार डीबगर लोड हो जाने पर, क्षेत्र को निष्पादन योग्य पहुंच प्रदान करें। x64Dbg का उपयोग करके, आप BlobRunner द्वारा लौटाए गए पते का उपयोग करके कमांड setpagerights निष्पादित कर सकते हैं।
setpagerights <region>, ExecuteReadWrite
x64 कंपाइलर द्वारा इनलाइन असेंबली समर्थित नहीं है, इसलिए x64 शेलकोड डीबगिंग का समर्थन करने के लिए लोडर एक निलंबित थ्रेड बनाता है जो आपको थ्रेड को फिर से शुरू करने से पहले थ्रेड एंट्री पर एक ब्रेकपॉइंट रखने की अनुमति देता है।
प्रक्रिया स्थानीय रूप से शेलकोड डीबग करने के समान है - इस अपवाद के साथ कि आपको शेलकोड फ़ाइल को रिमोट सिस्टम पर कॉपी करना होगा। यदि फ़ाइल उसी पथ पर कॉपी की जाती है जहाँ से आप win32_remote.exe चला रहे हैं, तो आपको पैरामीटर के लिए फ़ाइल नाम का उपयोग करना होगा। अन्यथा, आपको रिमोट सिस्टम पर शेलकोड फ़ाइल का पथ निर्दिष्ट करना होगा।
आप Metasploit टूल msfvenom का उपयोग करके तुरंत शेलकोड नमूने उत्पन्न कर सकते हैं।
एक सरल विंडोज exec पेलोड उत्पन्न करना।
msfvenom -a x86 --platform windows -p windows/exec cmd=calc.exe -o test2.bin