วิธีการถ่ายโอนข้อมูลภาพหน่วยความจำจากระบบ linux?


18

ฉันรู้ว่าการถ่ายโอนข้อมูลภาพหน่วยความจำใน Windows (เช่น -ditit) แต่ฉันไม่รู้วิธีถ่ายโอนข้อมูลอิมเมจหน่วยความจำใน Linux

ฉันต้องการรับภาพหน่วยความจำใน Linux และจาก Linux ไปยัง Linux ด้วยการเชื่อมต่อ ssh หรืออะไรบางอย่าง

ฉันจะเข้าใช้งาน Linux ได้อย่างไร


5
คุณกำลังพยายามดึงหน่วยความจำจากกระบวนการที่กำลังทำงาน, หน่วยความจำเคอร์เนลหรือหน่วยความจำแบบฟิสิคัลจริงหรือไม่? มีทั้งหมด แต่วิธีการเข้าถึงแตกต่างกัน ดู / dev / kmem, / dev / mem, / proc / kcore, / proc / $ pid / maps และ / proc / $ pid / mem
casey

ดูคำถามและคำตอบของ SU นี้: superuser.com/questions/164960/…
slm

คำตอบ:


26

จาก Wiki ของ Forensic: เครื่องมือ: Memory Imaging

สิ่งที่สกัดมา

ลินุกซ์

/ dev / ข่าว

สำหรับระบบ Linux รุ่นเก่าสามารถใช้โปรแกรม dd เพื่ออ่านเนื้อหาของหน่วยความจำกายภาพจากไฟล์อุปกรณ์ / dev / mem อย่างไรก็ตามในระบบลีนุกซ์ล่าสุด / dev / mem ให้การเข้าถึงช่วงของที่อยู่ที่ จำกัด เท่านั้นแทนที่จะใช้หน่วยความจำกายภาพเต็มรูปแบบของระบบ ในระบบอื่นอาจไม่สามารถใช้งานได้เลย ตลอด 2.6 ซีรีส์ของเคอร์เนลลินุกซ์แนวโน้มที่จะลดการเข้าถึงโดยตรงไปยังหน่วยความจำผ่านไฟล์อุปกรณ์หลอก ดูตัวอย่างเช่นข้อความที่มาพร้อมกับแพทช์นี้: http://lwn.net/Articles/267427/

/ dev / ความผิดพลาด

บนระบบ Red Hat (และผู้ที่ใช้งาน distros ที่เกี่ยวข้องเช่น Fedora หรือ CentOS) สามารถโหลดไดรเวอร์ความผิดพลาดเพื่อสร้าง pseudo-device / dev / crash สำหรับการเข้าถึงหน่วยความจำกายภาพดิบ (ผ่านคำสั่ง "modprobe crash") โมดูลนี้ยังสามารถรวบรวมสำหรับการกระจาย Linux อื่น ๆ ที่มีความพยายามเล็กน้อย (ดูตัวอย่างเช่นhttp://gleeda.blogspot.com/2009/08/devcrash-driver.html ) เมื่อมีการแก้ไข, รวบรวมและโหลดบนระบบอื่น, อุปกรณ์หน่วยความจำที่ได้รับจะไม่ปลอดภัยต่อภาพในทั้งระบบ ต้องใช้ความระมัดระวังเพื่อหลีกเลี่ยงที่อยู่ที่ไม่ได้รับการสนับสนุน RAM บน Linux / / proc / iomem จะเปิดเผยช่วงที่อยู่ที่ถูกต้องกับภาพซึ่งทำเครื่องหมายด้วย "System RAM"

Look Second: Linux Memory Forensics

หน่วยความจำเชิงพาณิชย์สำหรับการพิสูจน์หลักฐานทางนิติเวชนั้นมาพร้อมกับเวอร์ชันที่แก้ไขแล้วของตัวขับชนและสคริปต์สำหรับการทิ้งหน่วยความจำอย่างปลอดภัยโดยใช้ไดรเวอร์ตัวเดิมหรือตัวดัดแปลงบนระบบ Linux ใด ๆ ก็ตาม

fmem fmem - github repo

fmem เป็นโมดูลเคอร์เนลที่สร้างอุปกรณ์ / dev / fmem คล้ายกับ / dev / mem แต่ไม่มีข้อ จำกัด อุปกรณ์นี้ (ฟิสิคัลแรม) สามารถคัดลอกได้โดยใช้ dd หรือเครื่องมืออื่น ใช้งานได้กับ 2.6 Linux kernels ภายใต้ GNU GPL

LiME - ตัวแยกหน่วยความจำ Linux

Linux Memory Extractor (LiME) เป็นโมดูลเคอร์เนลที่สามารถโหลดได้ (LKM) ซึ่งช่วยให้สามารถรับหน่วยความจำที่ระเหยได้จากอุปกรณ์ที่ใช้ Linux และ Linux เช่นที่ขับเคลื่อนโดย Android เครื่องมือสนับสนุนการดัมพ์หน่วยความจำทั้งระบบไฟล์ของอุปกรณ์หรือผ่านเครือข่าย

ฉันพบตัวอย่างการ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 และความผันผวนเพื่อรวบรวมการถ่ายโอนข้อมูลหน่วยความจำแล้ววิเคราะห์แยกประวัติผู้ใช้ Bash ออกจากการถ่ายโอนข้อมูลหน่วยความจำ

มีอะไรอีกบ้าง?

นอกจากนี้ยังมีคำถาม & คำตอบ U&L นี้: ฉันจะถ่ายโอนข้อมูลหน่วยความจำระบบเต็มได้อย่างไร ซึ่งมีตัวอย่างและข้อมูลเพิ่มเติม


0

Rekall

ตรวจสอบเฟรมเวิร์กrekallพวกเขามีแอปพลิเคชัน linpmem เพื่อจุดประสงค์นี้: http://www.rekall-forensic.com/docs/Tools/index.html

SANS Rekall หน่วยความจำ cheatsheet นิติวิทยาศาสตร์มีตัวอย่างของวิธีการถ่ายโอนข้อมูลหน่วยความจำภายใต้ Linux เกินไป:

# ./linpmem_2.0.1 -o linux.aff4

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.