
बहु-प्लेटफ़ॉर्म मेमोरी अधिग्रहण उपकरण।

WinPmem लंबे समय से विंडोज़ के लिए डिफ़ॉल्ट ओपन सोर्स मेमोरी अधिग्रहण ड्राइवर रहा है। यह पहले Rekall प्रोजेक्ट में रहता था, लेकिन हाल ही में इसे अपने स्वयं के रिपॉजिटरी में अलग कर दिया गया है।
यह विंडोज़ संस्करण है। लिनक्स संस्करण, Linpmem, यहाँ उपलब्ध है: https://github.com/Velocidex/Linpmem
यह कोड मूल रूप से Google के भीतर विकसित किया गया था लेकिन Apache License के तहत जारी किया गया था।
WinPmem एक भौतिक मेमोरी अधिग्रहण उपकरण है जिसमें निम्नलिखित विशेषताएं हैं:
ओपन सोर्स
Win7 - Win 10, x86 + x64 के लिए समर्थन। WDK7600 का उपयोग WinXP समर्थन शामिल करने के लिए किया जा सकता है। डिफ़ॉल्ट रूप से, प्रदान किए गए WinPmem निष्पादन योग्य WDK10 के साथ संकलित किए जाएंगे, जो Win7 - Win10 का समर्थन करते हैं और अधिक आधुनिक कोड प्रदर्शित करते हैं।
तीन स्वतंत्र पढ़ने की विधियाँ, जिनमें से दो विधियाँ पूर्ण मेमोरी डंप बनाने के लिए हैं। केर्नल मोड रूटकिट्स का सामना करने पर भी एक विधि हमेशा काम करनी चाहिए।
रॉ मेमोरी डंप छवि समर्थन।
कुछ अन्य इमेजर की तरह केर्नल से छवि लिखने के बजाय एक रीड डिवाइस इंटरफ़ेस का उपयोग किया जाता है। यह हमें जटिल यूज़रस्पेस इमेजर (जैसे नेटवर्क पर कॉपी, हैश आदि) रखने की अनुमति देता है, साथ ही लाइव सिस्टम पर विश्लेषण चलाने की अनुमति देता है (जैसे डिवाइस पर सीधे चलाया जा सकता है)।
इस निर्देशिका में फ़ाइलें (WinPmem स्रोतों और हस्ताक्षरित बाइनरी सहित) निम्नलिखित लाइसेंस के तहत उपलब्ध हैं: Apache License, Version 2.0
दो WinPmem निष्पादन योग्य हैं: winpmem_mini_x86.exe और winpmem_mini_x64.exe। दोनों संस्करणों में दोनों ड्राइवर (32 और 64 बिट संस्करण) शामिल हैं।
बाइनरी नाम में mini से तात्पर्य है कि यह इमेजर एक सादा सरल इमेजर है - यह केवल RAW प्रारूप में छवियाँ बना सकता है। अतीत में हमने AFF4 आधारित WinPmem इमेजर जारी किया था लेकिन वह अभी तक नए ड्राइवर में अपडेट नहीं हुआ है। कृपया हमें बताएं यदि आपको AFF4 आधारित इमेजर की आवश्यकता है।
पाइथन प्रोग्राम वर्तमान में निर्माणाधीन है लेकिन यह प्रदर्शित करने के लिए काम करता है कि पाइथन से इमेजर का उपयोग कैसे किया जा सकता है।
यह प्रोग्राम घटना प्रतिक्रिया के लिए उपयोग करना सबसे आसान है क्योंकि इसे निष्पादन योग्य के अलावा किसी अन्य निर्भरता की आवश्यकता नहीं है। प्रोग्राम स्वचालित रूप से सही ड्राइवर (32 बिट या 64 बिट) लोड करेगा और स्व-निहित है।
winpmem_mini_x64.exe physmem.raw
डिफ़ॉल्ट अधिग्रहण विधि का उपयोग करके physmem.raw में एक रॉ छवि लिखता है।
winpmem_mini_x64.exe
उपयोग प्रिंट / संक्षिप्त मैनुअल को आमंत्रित करता है।
MmMapIoSpace विधि का विशेष रूप से उपयोग करके रॉ छवि प्राप्त करने के लिए:
winpmem.exe -1 myimage.raw
छवि प्राप्त होने के बाद ड्राइवर स्वचालित रूप से अनलोड हो जाएगा!
Microsoft ने MJ READ फ़ंक्शन को कैसे डिज़ाइन किया है, इसके कारण, भौतिक मेमोरी से पढ़ना Winpmem में STATUS_INVALID_PARAMETER के साथ विफल हो जाएगा यदि कोई भौतिक पता UINT64 के अधिकतम मान के आधे से बड़ा निर्दिष्ट किया जाता है। उदाहरण के लिए, यह सच है यदि कोई भौतिक मेमोरी के उच्च भागों में पढ़ना चाहता है और उसके पास विशाल भौतिक मेमोरी (9,223,372,036,854,775,807 से अधिक) है। यह अत्यधिक असंभव लगता है, लेकिन आज की RAM आकार बढ़ते जा रहे हैं।
WinPmem स्रोत कोड पढ़ने के साथ-साथ मेमोरी में लिखने का भी समर्थन करता है। यह क्षमता एक उत्कृष्ट सीखने का उपकरण है क्योंकि कई रूटकिट छिपाने की तकनीकों को सीधे मेमोरी में लिखकर अनुकरण किया जा सकता है।
इस कार्यक्षमता का अत्यधिक सावधानी से उपयोग किया जाना चाहिए!
नोट: चूंकि यह एक खतरनाक क्षमता है, हस्ताक्षरित बाइनरी ड्राइवरों में लेखन समर्थन अक्षम कर दिया गया है। यदि आप इस सुविधा का उपयोग करना चाहते हैं तो आप परीक्षण हस्ताक्षरित बाइनरी बनाने के लिए ड्राइवरों को पुनर्निर्मित कर सकते हैं। अहस्ताक्षरित बाइनरी (वास्तव में परीक्षण प्रमाणपत्र के साथ स्व-हस्ताक्षरित) परीक्षण स्व-हस्ताक्षरित होने के कारण नियमित सिस्टम पर लोड नहीं हो सकती हैं, लेकिन आप निम्नलिखित जारी करके परीक्षण सिस्टम पर अहस्ताक्षरित ड्राइवरों को लोड करने की अनुमति दे सकते हैं (देखें https://docs.microsoft.com/en-us/windows-hardware/drivers/install/the-testsigning-boot-configuration-option):
Bcdedit.exe -set TESTSIGNING ON
और रीबूट करें। आप डेस्कटॉप पर एक छोटा "Test Mode" टेक्स्ट देखेंगे जो आपको याद दिलाएगा कि यह मशीन परीक्षण हस्ताक्षरित ड्राइवरों के लिए कॉन्फ़िगर की गई है।
इसके अतिरिक्त, लोड समय पर भी लेखन समर्थन सक्षम होना चाहिए:
winpmem.exe -w -l
यह ड्राइवरों को लोड करेगा और लेखन समर्थन चालू करेगा।
Winpmem, साथ ही Linpmem, हमारे पूर्ववर्तियों के काम के बिना अस्तित्व में नहीं होते, जो (अब सेवानिवृत्त) REKALL प्रोजेक्ट के थे: https://github.com/google/rekall.
यह परियोजना व्यापक DFIR समुदाय के समर्थन के बिना भी संभव नहीं होती:
हमारे ओपन सोर्स योगदानकर्ता: