फॉरेंसिक के विकी से: टूल्स: मेमोरी इमेजिंग
अंश
लिनक्स
पुराने लिनक्स सिस्टम पर, प्रोग्राम फ़ाइल का उपयोग डिवाइस फ़ाइल / देव / मेम से भौतिक मेमोरी की सामग्री को पढ़ने के लिए किया जा सकता है । हाल के लिनक्स सिस्टम पर, हालांकि, / dev / मेम सिस्टम के पूर्ण भौतिक मेमोरी के बजाय केवल पते की सीमित सीमा तक ही पहुँच प्रदान करता है। अन्य प्रणालियों पर यह बिल्कुल उपलब्ध नहीं हो सकता है। लिनक्स कर्नेल की 2.6 श्रृंखला के दौरान, प्रवृत्ति को छद्म डिवाइस फ़ाइलों के माध्यम से मेमोरी तक सीधे पहुंच को कम करना था। : उदाहरण के लिए देखें, संदेश इस पैच के साथ http://lwn.net/Articles/267427/ ।
Red Hat सिस्टम (और फेडोरा या CentOS जैसे संबंधित डिस्ट्रोस चलाने वाले) पर, क्रैश ड्राइवर को कच्चे भौतिक मेमोरी एक्सेस (कमांड "modprobe क्रैश" के माध्यम से) के लिए छद्म उपकरण / dev / क्रैश बनाने के लिए लोड किया जा सकता है। यह मॉड्यूल अन्य लिनक्स वितरणों के लिए मामूली प्रयास (उदाहरण के लिए, http://gleeda.blogspot.com/2009/08/devcrash-driver.html ) के साथ संकलित किया जा सकता है । जब क्रैश ड्राइवर को अन्य प्रणालियों पर संशोधित, संकलित और लोड किया जाता है, तो परिणामस्वरूप मेमोरी एक्सेस डिवाइस अपनी संपूर्णता में छवि के लिए सुरक्षित नहीं है। उन पते से बचने के लिए ध्यान रखा जाना चाहिए जो रैम समर्थित नहीं हैं। Linux पर, / proc / iomem छवि के लिए सही पता पर्वतमाला को उजागर करता है, जिसे "सिस्टम रैम" के साथ चिह्नित किया गया है।
यह वाणिज्यिक मेमोरी फोरेंसिक उत्पाद जहाजों को क्रैश ड्राइवर के संशोधित संस्करण और किसी भी दिए गए लिनक्स सिस्टम पर मूल या संशोधित ड्राइवर का उपयोग करके सुरक्षित रूप से डंपिंग मेमोरी के लिए एक स्क्रिप्ट है।
fmem कर्नेल मॉड्यूल है जो डिवाइस / dev / fmem बनाता है, जो / dev / mem के समान है, लेकिन सीमाओं के बिना। इस डिवाइस (फिजिकल रैम) को dd या अन्य टूल का उपयोग करके कॉपी किया जा सकता है। 2.6 लिनक्स कर्नेल पर काम करता है। जीएनयू जीपीएल के तहत।
लिनक्स मेमोरी एक्सट्रैक्टर (LiME) एक लोड करने योग्य कर्नेल मॉड्यूल (LKM) है, जो लिनक्स और लिनक्स-आधारित उपकरणों से वाष्पशील मेमोरी के अधिग्रहण की अनुमति देता है, जैसे कि एंड्रॉइड द्वारा संचालित। उपकरण डिवाइस या नेटवर्क पर फ़ाइल सिस्टम में डंपिंग मेमोरी का समर्थन करता है।
मुझे fmem
उपयोग में यह उदाहरण मिला , जो विश्लेषण उद्देश्यों के लिए स्मृति को डंप करने का सबसे आसान तरीका लगता है, आप /dev/mem
2.6.x गुठली के बाद उपयोग नहीं कर सकते हैं , जैसा कि मैं इसे समझता हूं।
fmem उदाहरण
$ ./run.sh
...
----Memory areas: -----
reg00: base=0x000000000 ( 0MB), size= 1024MB, count=1: write-back
reg01: base=0x0c8800000 ( 3208MB), size= 2MB, count=1: write-combining
-----------------------
!!! Don't forget add "count=" to dd !!!
$ ls /dev/f*
/dev/fb0 /dev/fd0 /dev/fmem /dev/full /dev/fuse
$ sudo dd if=/dev/fmem of=/tmp/fmem_dump.dd bs=1MB count=10
10+0 records in
10+0 records out
10000000 bytes (10 MB) copied, 0.0331212 s, 302 MB/s
* स्रोत: मैं एक फ़ाइल में सभी भौतिक मेमोरी को कैसे डंप कर सकता हूं?
LiME उदाहरण
वाष्पशील मेमोरी का विश्लेषण करने के लिए भी यह पृष्ठ है, जिसका शीर्षक है: लिनक्स मेमोरी एनालिसिस । इस वीडियो ट्यूटोरियल में एक संपूर्ण उदाहरण है जो मेमोरी डंप इकट्ठा करने के लिए LiME और अस्थिरता का उपयोग दिखाता है और फिर इसका विश्लेषण करता है, मेमोरी डंप से उपयोगकर्ता के बैश इतिहास को निकालता है।
और क्या?
इसमें U & L Q & A शीर्षक भी है: मैं पूर्ण सिस्टम मेमोरी को कैसे डंप कर सकता हूं? जिसके पास अतिरिक्त उदाहरण और जानकारी है।