लिनक्स सिस्टम से मेमोरी इमेज कैसे डंप करें?


18

मैं विंडोज में मेमोरी इमेज डंप करना जानता हूं। (उदा। डंपिट) लेकिन मुझे नहीं पता कि लिनक्स में मेमोरी इमेज कैसे डंप की जाती हैं।

मैं लिनक्स में और ssh कनेक्शन या कुछ के साथ लिनक्स में लिनक्स में मेमोरी इमेज प्राप्त करना चाहता हूं।

मैं लिनक्स में कैसे प्राप्त कर सकता हूं?


5
क्या आप एक चल रही प्रक्रिया, कर्नेल मेमोरी या रॉ फिजिकल मेमोरी से मेमोरी प्राप्त करने की कोशिश कर रहे हैं? सभी उपलब्ध हैं, लेकिन पहुंच के लिए तरीके अलग हैं। देखें / देव / kmem, / dev / mem, / proc / kcore, / proc / $ pid / नक्शे और / proc / $ pid / mem।
केसी

: इस SU क्यू एंड ए पर एक नजर डालें superuser.com/questions/164960/...
SLM

जवाबों:


26

फॉरेंसिक के विकी से: टूल्स: मेमोरी इमेजिंग

अंश

लिनक्स

/ Dev / mem

पुराने लिनक्स सिस्टम पर, प्रोग्राम फ़ाइल का उपयोग डिवाइस फ़ाइल / देव / मेम से भौतिक मेमोरी की सामग्री को पढ़ने के लिए किया जा सकता है । हाल के लिनक्स सिस्टम पर, हालांकि, / dev / मेम सिस्टम के पूर्ण भौतिक मेमोरी के बजाय केवल पते की सीमित सीमा तक ही पहुँच प्रदान करता है। अन्य प्रणालियों पर यह बिल्कुल उपलब्ध नहीं हो सकता है। लिनक्स कर्नेल की 2.6 श्रृंखला के दौरान, प्रवृत्ति को छद्म डिवाइस फ़ाइलों के माध्यम से मेमोरी तक सीधे पहुंच को कम करना था। : उदाहरण के लिए देखें, संदेश इस पैच के साथ http://lwn.net/Articles/267427/

/ Dev / दुर्घटना

Red Hat सिस्टम (और फेडोरा या CentOS जैसे संबंधित डिस्ट्रोस चलाने वाले) पर, क्रैश ड्राइवर को कच्चे भौतिक मेमोरी एक्सेस (कमांड "modprobe क्रैश" के माध्यम से) के लिए छद्म उपकरण / dev / क्रैश बनाने के लिए लोड किया जा सकता है। यह मॉड्यूल अन्य लिनक्स वितरणों के लिए मामूली प्रयास (उदाहरण के लिए, http://gleeda.blogspot.com/2009/08/devcrash-driver.html ) के साथ संकलित किया जा सकता है । जब क्रैश ड्राइवर को अन्य प्रणालियों पर संशोधित, संकलित और लोड किया जाता है, तो परिणामस्वरूप मेमोरी एक्सेस डिवाइस अपनी संपूर्णता में छवि के लिए सुरक्षित नहीं है। उन पते से बचने के लिए ध्यान रखा जाना चाहिए जो रैम समर्थित नहीं हैं। Linux पर, / proc / iomem छवि के लिए सही पता पर्वतमाला को उजागर करता है, जिसे "सिस्टम रैम" के साथ चिह्नित किया गया है।

दूसरा लुक: लिनक्स मेमोरी फोरेंसिक

यह वाणिज्यिक मेमोरी फोरेंसिक उत्पाद जहाजों को क्रैश ड्राइवर के संशोधित संस्करण और किसी भी दिए गए लिनक्स सिस्टम पर मूल या संशोधित ड्राइवर का उपयोग करके सुरक्षित रूप से डंपिंग मेमोरी के लिए एक स्क्रिप्ट है।

fmem fmem - जीथब रेपो

fmem कर्नेल मॉड्यूल है जो डिवाइस / dev / fmem बनाता है, जो / dev / mem के समान है, लेकिन सीमाओं के बिना। इस डिवाइस (फिजिकल रैम) को dd या अन्य टूल का उपयोग करके कॉपी किया जा सकता है। 2.6 लिनक्स कर्नेल पर काम करता है। जीएनयू जीपीएल के तहत।

LiME - लिनक्स मेमोरी एक्सट्रैक्टर

लिनक्स मेमोरी एक्सट्रैक्टर (LiME) एक लोड करने योग्य कर्नेल मॉड्यूल (LKM) है, जो लिनक्स और लिनक्स-आधारित उपकरणों से वाष्पशील मेमोरी के अधिग्रहण की अनुमति देता है, जैसे कि एंड्रॉइड द्वारा संचालित। उपकरण डिवाइस या नेटवर्क पर फ़ाइल सिस्टम में डंपिंग मेमोरी का समर्थन करता है।

मुझे fmemउपयोग में यह उदाहरण मिला , जो विश्लेषण उद्देश्यों के लिए स्मृति को डंप करने का सबसे आसान तरीका लगता है, आप /dev/mem2.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 शीर्षक भी है: मैं पूर्ण सिस्टम मेमोरी को कैसे डंप कर सकता हूं? जिसके पास अतिरिक्त उदाहरण और जानकारी है।


0

rekall

रेकॉल फ्रेमवर्क की जाँच करें , उनके पास इस उद्देश्य के लिए एक linpmem एप्लिकेशन है: http://www.rekall-forensic.com/docs/Tools/index.html

SANS rekall स्मृति फोरेंसिक cheatsheet कैसे linux के तहत स्मृति डंप करने के लिए बहुत का एक उदाहरण है:

# ./linpmem_2.0.1 -o linux.aff4

-3
dc3dd if=/proc/kcore of=/mount/.

2
कुछ स्पष्टीकरण अच्छा होगा।
phk
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.