Bagaimana cara membuang gambar memori dari sistem linux?

18

Saya tahu untuk membuang gambar memori di Windows. (eg-dumpit) Tapi saya tidak tahu cara membuang gambar memori di Linux.

Saya ingin mendapatkan gambar memori di Linux dan dari Linux ke Linux dengan koneksi ssh atau sesuatu.

Bagaimana saya bisa masuk Linux?

bakie
sumber
5
Apakah Anda mencoba mendapatkan memori dari proses yang berjalan, memori kernel atau memori fisik mentah? Semua tersedia tetapi metode untuk akses berbeda. Lihat / dev / kmem, / dev / mem, / proc / kcore, / proc / $ pid / maps dan / proc / $ pid / mem.
casey
Lihatlah T&J SU ini: superuser.com/questions/164960/…
slm

Jawaban:

26

Dari Wiki Forensik: Alat: Pencitraan Memori

kutipan

Linux

/ dev / mem

Pada sistem Linux yang lebih lama, program dd dapat digunakan untuk membaca isi memori fisik dari file perangkat / dev / mem. Namun, pada sistem Linux baru-baru ini, / dev / mem menyediakan akses hanya ke rentang alamat yang terbatas, daripada memori fisik penuh suatu sistem. Pada sistem lain mungkin tidak tersedia sama sekali. Sepanjang seri 2.6 kernel Linux, trennya adalah untuk mengurangi akses langsung ke memori melalui file perangkat semu. Lihat, misalnya, pesan yang menyertai tambalan ini: http://lwn.net/Articles/267427/ .

/ dev / crash

Pada sistem Red Hat (dan yang menjalankan distro terkait seperti Fedora atau CentOS), driver crash dapat dimuat untuk membuat perangkat semu / dev / crash untuk akses memori fisik mentah (melalui perintah "modprobe crash"). Modul ini juga dapat dikompilasi untuk distribusi Linux lainnya dengan sedikit usaha (lihat, misalnya, http://gleeda.blogspot.com/2009/08/devcrash-driver.html ). Ketika driver kerusakan dimodifikasi, dikompilasi, dan dimuat pada sistem lain, perangkat akses memori yang dihasilkan tidak aman untuk gambar secara keseluruhan. Harus diperhatikan untuk menghindari alamat yang tidak didukung RAM. Di Linux, / proc / iomem memperlihatkan rentang alamat yang benar ke gambar, ditandai dengan "RAM Sistem".

Tampilan Kedua: Linux Memory Forensics

Produk forensik memori komersial ini dikirimkan dengan versi yang dimodifikasi dari crash driver dan skrip untuk membuang memori dengan aman menggunakan driver asli atau yang dimodifikasi pada sistem Linux yang diberikan.

fmem fmem - github repo

fmem adalah modul kernel yang menciptakan perangkat / dev / fmem, mirip dengan / dev / mem tetapi tanpa batasan. Perangkat ini (RAM fisik) dapat disalin menggunakan dd atau alat lain. Bekerja pada kernel Linux 2.6. Di bawah GNU GPL.

LiME - Linux Memory Extractor

Linux Memory Extractor (LiME) adalah Loadable Kernel Module (LKM), yang memungkinkan akuisisi memori yang mudah menguap dari Linux dan perangkat berbasis Linux, seperti yang didukung oleh Android. Alat ini mendukung dumping memori baik ke sistem file perangkat atau melalui jaringan.

Saya menemukan contoh ini fmem digunakan, yang tampaknya menjadi cara termudah untuk membuang memori untuk keperluan analisis, Anda tidak dapat lagi menggunakan /dev/memsetelah kernel 2.6.x, seperti yang saya mengerti.

Contoh 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

* Sumber: Bagaimana saya bisa membuang semua memori fisik ke file?

Contoh LiME

Untuk menganalisis memori yang mudah menguap ada juga halaman ini, berjudul: Linux Memory Analysis . Ada contoh menyeluruh dalam tutorial video ini yang menunjukkan penggunaan LiME dan Volatilitas untuk mengumpulkan dump memori dan kemudian menganalisisnya, mengekstraksi sejarah Bash pengguna dari dump memori.

Apa lagi?

Ada juga U&L Q&A berjudul: Bagaimana saya bisa membuang memori sistem penuh? yang memiliki contoh dan informasi tambahan.

slm
sumber
-3
dc3dd if=/proc/kcore of=/mount/.
Larytet
sumber
2
Beberapa penjelasan akan menyenangkan.
phk