Từ Wiki của Forensic: Công cụ: Hình ảnh bộ nhớ
đoạn trích
Linux
Trên các hệ thống Linux cũ hơn, dd chương trình có thể được sử dụng để đọc nội dung của bộ nhớ vật lý từ tệp thiết bị / dev / mem. Tuy nhiên, trên các hệ thống Linux gần đây, / dev / mem chỉ cung cấp quyền truy cập vào một phạm vi địa chỉ bị hạn chế, thay vì bộ nhớ vật lý đầy đủ của hệ thống. Trên các hệ thống khác, nó có thể không có sẵn ở tất cả. Trong toàn bộ loạt 2.6 của nhân Linux, xu hướng là giảm quyền truy cập trực tiếp vào bộ nhớ thông qua các tệp thiết bị giả. Xem, ví dụ, thông báo kèm theo bản vá này: http://lwn.net/Articles/267427/ .
Trên các hệ thống Red Hat (và các bản chạy liên quan như Fedora hoặc CentOS), trình điều khiển sự cố có thể được tải để tạo giả thiết bị / dev / crash để truy cập bộ nhớ vật lý thô (thông qua lệnh "modprobe crash"). Mô-đun này cũng có thể được biên dịch cho các bản phân phối Linux khác với nỗ lực nhỏ (xem, ví dụ: http://gleeda.blogspot.com/2009/08/devcrash- ấn.html ). Khi trình điều khiển sự cố được sửa đổi, biên dịch và tải trên các hệ thống khác, thiết bị truy cập bộ nhớ kết quả không an toàn đối với hình ảnh. Phải cẩn thận để tránh các địa chỉ không được hỗ trợ RAM. Trên Linux, / Proc / iomem hiển thị phạm vi địa chỉ chính xác cho hình ảnh, được đánh dấu bằng "RAM hệ thống".
Sản phẩm pháp y bộ nhớ thương mại này cung cấp một phiên bản sửa đổi của trình điều khiển sự cố và tập lệnh để loại bỏ bộ nhớ một cách an toàn bằng trình điều khiển gốc hoặc sửa đổi trên bất kỳ hệ thống Linux nào.
fmem là mô-đun hạt nhân tạo ra thiết bị / dev / fmem, tương tự như / dev / mem nhưng không có giới hạn. Thiết bị này (RAM vật lý) có thể được sao chép bằng dd hoặc công cụ khác. Hoạt động trên 2.6 nhân Linux. Theo GPL GNU.
Linux Memory Extractor (LiME) là Mô-đun hạt nhân có thể tải (LKM), cho phép mua lại bộ nhớ dễ bay hơi từ các thiết bị dựa trên Linux và Linux, như các thiết bị được cung cấp bởi Android. Công cụ này hỗ trợ kết xuất bộ nhớ vào hệ thống tập tin của thiết bị hoặc qua mạng.
Tôi đã tìm thấy ví dụ này về fmem
việc sử dụng, dường như là cách dễ nhất để kết xuất bộ nhớ cho mục đích phân tích, bạn không còn có thể sử dụng /dev/mem
sau các hạt nhân 2.6.x, như tôi hiểu.
ví dụ 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
* Nguồn: Làm thế nào tôi có thể đổ tất cả bộ nhớ vật lý vào một tệp?
Ví dụ LiME
Để phân tích bộ nhớ dễ bay hơi cũng có trang này, có tiêu đề: Phân tích bộ nhớ Linux . Có một ví dụ kỹ lưỡng trong video hướng dẫn này cho thấy việc sử dụng LiME và Biến động để thu thập kết xuất bộ nhớ và sau đó phân tích nó, trích xuất lịch sử Bash của người dùng từ kết xuất bộ nhớ.
Còn gì nữa không
Ngoài ra còn có câu hỏi và trả lời về U & L này với tiêu đề: Làm thế nào tôi có thể bỏ bộ nhớ hệ thống đầy đủ? trong đó có thêm ví dụ và thông tin.