
मैलवेयर PE फ़ाइलों को मेमोरी से डिस्क पर डंप करके विश्लेषण के लिए विंडोज़ टूल।
Process Dump एक Windows रिवर्स-इंजीनियरिंग कमांड-लाइन टूल है जो मैलवेयर मेमोरी घटकों को विश्लेषण के लिए डिस्क पर डंप करने के लिए उपयोग किया जाता है। अक्सर मैलवेयर फाइलें AV स्कैनर्स से बचने के लिए निष्पादित होने से पहले पैक और अस्पष्ट (obfuscated) की जाती हैं, हालांकि जब ये फाइलें निष्पादित होती हैं तो वे अक्सर मैलवेयर कोड के एक साफ संस्करण को मेमोरी में अनपैक या इंजेक्ट करती हैं। मैलवेयर शोधकर्ताओं के लिए मैलवेयर का विश्लेषण करते समय एक सामान्य कार्य इस अनपैक किए गए कोड को मेमोरी से वापस डिस्क पर डंप करना होता है ताकि AV उत्पादों के साथ स्कैन किया जा सके या IDA जैसे स्थैतिक विश्लेषण टूल के साथ विश्लेषण किया जा सके।
Process Dump Windows 32 और 64 बिट ऑपरेटिंग सिस्टम के लिए काम करता है और विशिष्ट प्रक्रियाओं या वर्तमान में चल रही सभी प्रक्रियाओं से मेमोरी घटकों को डंप कर सकता है। Process Dump एक स्वच्छ-हैश डेटाबेस के निर्माण और उपयोग का समर्थन करता है, ताकि kernel32.dll जैसी सभी स्वच्छ फाइलों को डंप करने से बचा जा सके। इसकी मुख्य विशेषताओं में शामिल हैं:
मैं अपनी वेबसाइट पर एक आधिकारिक संकलित रिलीज़ बनाए रखता हूँ: https://split-code.com/processdump.html
आप Process Dump का नवीनतम संकलित रिलीज़ यहाँ से डाउनलोड कर सकते हैं:
यह Visual Studio 2019 के लिए डिज़ाइन किया गया है और मुफ्त Community Edition के साथ काम करता है। बस VS2019 के साथ प्रोजेक्ट फ़ाइल खोलें और संकलित करें, यह उतना ही आसान होना चाहिए!
Process Dump का उपयोग मेमोरी से सभी अज्ञात कोड को डंप करने ('-system' फ़्लैग), विशिष्ट प्रक्रियाओं को डंप करने, या एक मॉनिटरिंग मोड में चलाने के लिए किया जा सकता है जो सभी प्रक्रियाओं को समाप्त होने से ठीक पहले डंप करता है।
इस टूल के पहले उपयोग से पहले, जब स्वच्छ वर्कस्टेशन पर हों तो स्वच्छ बहिष्करण हैश डेटाबेस को निम्नलिखित में से किसी एक द्वारा उत्पन्न किया जा सकता है:
उपयोग के उदाहरण:
कमांड-लाइन तर्कों को निम्नानुसार समूहित किया जा सकता है:
सामान्य डंपिंग विकल्प
स्वच्छ हैश डेटाबेस विकल्प
आउटपुट विकल्प
| विकल्प | विवरण |
|---|---|
| -v | वर्बोज़ मोड जहां डिबगिंग के लिए अधिक विवरण मुद्रित किए जाएंगे। |
| -nh | आउटपुट में कोई हेडर मुद्रित नहीं होता है। |
उन्नत विकल्प
यहाँ जानकारी का एक अधिक सुव्यवस्थित संस्करण है:
जब किसी स्वचालित सैंडबॉक्स में या मैन्युअल एंटी-मैलवेयर अनुसंधान के लिए Process Dump का उपयोग कर रहे हों, तो निम्नलिखित चरण उपयोगी हो सकते हैं। सुनिश्चित करें कि सभी कमांड एक स्वच्छ वातावरण में व्यवस्थापक के रूप में चलाएँ।
स्वच्छ हैश डेटाबेस बनाएँ: pd64.exe -db gen चलाएँ या तेज़ लेकिन कम पूर्ण प्रक्रिया के लिए pd64.exe -db genquick का उपयोग करें। आपकी स्थिति के आधार पर, आप इस स्वच्छ हैश डेटाबेस को बनाने के बाद अपने VM का स्नैपशॉट लेना चाह सकते हैं ताकि हर बार इसे दोहराने की आवश्यकता न हो।
Process Dump टर्मिनेट मॉनिटर प्रारंभ करें: pd64.exe -closemon को पृष्ठभूमि में चलाते रहें। यह मैलवेयर द्वारा उपयोग की जाने वाली सभी मध्यवर्ती प्रक्रियाओं को डंप करेगा।
मैलवेयर फ़ाइल निष्पादित करें: मैलवेयर स्थापना की निगरानी करें। pd64.exe स्वचालित रूप से किसी भी प्रक्रिया को डंप करेगा जो बंद करने का प्रयास करती है।
चल रहे मैलवेयर को मेमोरी से डंप करें: जब तैयार हों, तो सभी प्रक्रियाओं को डंप करने के लिए pd64.exe -system का उपयोग करें।
डंप किए गए घटक pd64.exe की कार्यशील निर्देशिका में मिलेंगे। आउटपुट पथ बदलने के लिए, -o फ़्लैग का उपयोग करें।
डंप की गई फाइलों के उदाहरण फ़ाइल नाम
| विकल्प | विवरण |
|---|
| -system | स्वच्छ हैश डेटाबेस से मेल न खाने वाले सभी मॉड्यूल को सभी सुलभ प्रक्रियाओं से कार्यशील निर्देशिका में डंप करता है। |
| -pid <pid> | निर्दिष्ट PID से स्वच्छ हैश डेटाबेस से मेल न खाने वाले सभी मॉड्यूल को वर्तमान कार्यशील निर्देशिका में डंप करता है। हेक्स PID निर्दिष्ट करने के लिए '0x' उपसर्ग का उपयोग करें। |
| -closemon | मॉनिटर मोड में चलता है। जब कोई प्रक्रिया समाप्त हो रही होती है, तो process dump पहले प्रक्रिया को डंप करेगा। |
| -p <regex प्रक्रिया नाम> | फ़िल्टर से मेल खाने वाले प्रक्रिया नाम से स्वच्छ हैश डेटाबेस से मेल न खाने वाले सभी मॉड्यूल को निर्दिष्ट PID में वर्तमान कार्यशील निर्देशिका में डंप करता है। |
| -a <मॉड्यूल आधार पता> | प्रक्रिया से निर्दिष्ट आधार पते पर एक मॉड्यूल डंप करता है। |
| -o <पथ> | डंप किए गए घटकों के लिए डिफ़ॉल्ट आउटपुट रूट फ़ोल्डर सेट करता है। |
| विकल्प | विवरण |
|---|
| -db gen | स्वचालित रूप से कुछ सामान्य फ़ोल्डरों के साथ-साथ वर्तमान में चल रही सभी प्रक्रियाओं को संसाधित करता है और पाए गए मॉड्यूल हैश को स्वच्छ हैश डेटाबेस में जोड़ता है। यह निम्नलिखित में सभी फाइलों को पुनरावर्ती रूप से जोड़ेगा: %WINDIR%, %HOMEPATH%, C:\Program Files\, C:\Program Files (x86)\, साथ ही सभी चल रही प्रक्रियाओं में सभी मॉड्यूल। ये स्वच्छ हैश एप्लिकेशन निर्देशिका में फ़ाइल clean.hashes में जोड़े जाएंगे। भविष्य के प्रक्रिया डंपिंग कमांड के दौरान, ये ज्ञात मॉड्यूल डंप नहीं किए जाएंगे। टूल का उपयोग करने से पहले एक स्वच्छ सिस्टम पर इस कमांड को एक बार चलाने की अनुशंसा की जाती है ताकि मेमोरी से बहुत अधिक मॉड्यूल डंप न हों। |
| -db genquick | उपरोक्त के समान, लेकिन केवल सभी प्रक्रियाओं में सभी मॉड्यूल से हैश को स्वच्छ हैश डेटाबेस में जोड़ता है। यह स्वच्छ हैश डेटाबेस बनाने का एक बहुत तेज़ तरीका है, लेकिन यह कम पूर्ण होगा। |
| -db add <dir> | निर्दिष्ट निर्देशिका में सभी फाइलों को पुनरावर्ती रूप से स्वच्छ हैश डेटाबेस में जोड़ता है। |
| -db rem <dir> | निर्दिष्ट निर्देशिका में सभी फाइलों को पुनरावर्ती रूप से स्वच्छ हैश डेटाबेस से हटाता है। |
| -nr | हैश डेटाबेस निर्देशिका जोड़ने या हटाने के कमांड पर पुनरावृत्ति अक्षम करता है। |
| -db clean | स्वच्छ हैश डेटाबेस साफ़ करता है। |
| -db ignore | इस बार प्रक्रिया डंप करते समय स्वच्छ हैश डेटाबेस को अनदेखा करता है। भले ही मिलान मिले, सभी मॉड्यूल डंप किए जाएंगे। |
| -cdb <filepath> | इस रन के लिए उपयोग करने के लिए स्वच्छ हैश डेटाबेस का पूर्ण फ़ाइलपथ, यदि आप clean.hashes के डिफ़ॉल्ट को ओवरराइड करना चाहते हैं। |
| -edb <filepath> | इस रन के लिए उपयोग करने के लिए एंट्रीपॉइंट हैश डेटाबेस का पूर्ण फ़ाइलपथ। |
| -esdb <filepath> | इस रन के लिए उपयोग करने के लिए एंट्रीपॉइंट शॉर्ट हैश डेटाबेस का पूर्ण फ़ाइलपथ। |
| विकल्प | विवरण |
|---|
| -g | मौजूदा हेडर को अनदेखा करते हुए, शुरू से PE हेडर के निर्माण को बाध्य करता है। |
| -eprec | एंट्री पॉइंट को पुनर्निर्मित करने के लिए बाध्य करता है, भले ही एक मान्य मौजूद प्रतीत होता हो। |
| -ni | आयात पुनर्निर्माण अक्षम करता है। |
| -nc | ढीले कोड क्षेत्रों के डंपिंग को अक्षम करता है। |
| -nt | मल्टीथ्रेडिंग अक्षम करता है। |
| -nep | एंट्री पॉइंट हैशिंग अक्षम करता है। |
| -t <थ्रेड गणना> | उपयोग करने के लिए थ्रेड की संख्या सेट करता है (डिफ़ॉल्ट 16)। |
| कमांड | विवरण |
|---|
pd64.exe -db genquick | वर्तमान में चल रही प्रक्रियाओं के आधार पर तेज़ी से स्वच्छ मॉड्यूल डेटाबेस बनाएं। Process Dump बाद के कार्यों में केवल अपरिचित मॉड्यूल को डंप करेगा। |
pd64.exe -system | स्वच्छ मॉड्यूल को अनदेखा करते हुए सभी प्रक्रियाओं से सभी मॉड्यूल और छिपे हुए खंड डंप करें। |
pd64.exe -closemon | टर्मिनेट मॉनिटर मोड में चलाएं। यह सभी प्रक्रियाओं को तब डंप करेगा जब वे समाप्त करने का प्रयास करेंगी। |
pd64.exe -pid 0x18A | किसी विशिष्ट प्रक्रिया ID से मॉड्यूल और छिपे हुए खंड डंप करें। |
pd64.exe -p .\*chrome.\* | प्रक्रिया नाम द्वारा मॉड्यूल और छिपे हुए खंड डंप करें। |
pd64.exe -db gen | ज्ञात मॉड्यूल का एक स्वच्छ-हैश डेटाबेस बनाएं। इसका उपयोग बाद के कार्यों में ज्ञात अच्छे मॉड्यूल को डंप करने से बचने के लिए किया जाता है। |
pd64.exe -pid 0x1a3 -a 0xffb4000 | PID में किसी विशिष्ट पते से कोड डंप करें। यह विश्लेषण के लिए दो फाइलें उत्पन्न करेगा, पुनर्निर्मित 32-बिट और 64-बिट PE हेडर के साथ: notepad_exe_x64_hidden_FFB40000.exe और notepad_exe_x86_hidden_FFB40000.exe। |