Come scaricare l'immagine di memoria dal sistema Linux?


18

So scaricare le immagini di memoria in Windows. (eg-dumpit) Ma non so come scaricare le immagini di memoria in Linux.

Voglio ottenere immagini di memoria in Linux e da Linux a Linux con connessione ssh o qualcosa del genere.

Come posso accedere a Linux?


5
Stai cercando di ottenere memoria da un processo in esecuzione, memoria del kernel o memoria fisica non elaborata? Tutti sono disponibili ma i metodi di accesso differiscono. Vedi / dev / kmem, / dev / mem, / proc / kcore, / proc / $ pid / maps e / proc / $ pid / mem.
Casey,

Dai un'occhiata a queste domande e risposte su SU: superuser.com/questions/164960/…
slm

Risposte:


26

Dal Wiki forense: Strumenti: Memory Imaging

estratto

Linux

/ Dev / mem

Sui sistemi Linux precedenti, il programma dd può essere utilizzato per leggere il contenuto della memoria fisica dal file del dispositivo / dev / mem. Su sistemi Linux recenti, tuttavia, / dev / mem fornisce l'accesso solo a un intervallo limitato di indirizzi, piuttosto che alla memoria fisica completa di un sistema. Su altri sistemi potrebbe non essere affatto disponibile. Durante tutta la serie 2.6 del kernel Linux, la tendenza era quella di ridurre l'accesso diretto alla memoria tramite file pseudo-dispositivo. Vedi, ad esempio, il messaggio che accompagna questa patch: http://lwn.net/Articles/267427/ .

/ Dev / crash

Sui sistemi Red Hat (e su quelli che eseguono distribuzioni correlate come Fedora o CentOS), il driver del crash può essere caricato per creare pseudo-dispositivo / dev / crash per l'accesso alla memoria fisica grezza (tramite il comando "modprobe crash"). Questo modulo può anche essere compilato per altre distribuzioni Linux con uno sforzo minore (vedi, ad esempio, http://gleeda.blogspot.com/2009/08/devcrash-driver.html ). Quando il driver di arresto anomalo viene modificato, compilato e caricato su altri sistemi, il dispositivo di accesso alla memoria risultante non è sicuro per l'immagine nella sua interezza. Bisogna fare attenzione per evitare indirizzi che non sono supportati dalla RAM. Su Linux, / proc / iomem espone all'immagine gli intervalli di indirizzi corretti, contrassegnati con "RAM di sistema".

Secondo sguardo: Linux Memory Forensics

Questo prodotto forense di memoria commerciale viene fornito con una versione modificata del driver di arresto anomalo e uno script per scaricare in modo sicuro la memoria utilizzando il driver originale o modificato su un determinato sistema Linux.

fmem fmem - repository github

fmem è il modulo del kernel che crea device / dev / fmem, simile a / dev / mem ma senza limitazioni. Questo dispositivo (RAM fisica) può essere copiato usando dd o altri strumenti. Funziona su kernel Linux 2.6. Sotto GNU GPL.

LiME - Estrattore di memoria Linux

Linux Memory Extractor (LiME) è un modulo caricabile del kernel (LKM), che consente l'acquisizione di memoria volatile da dispositivi basati su Linux e Linux, come quelli basati su Android. Lo strumento supporta il dumping della memoria sul file system del dispositivo o sulla rete.

Ho trovato questo esempio di fmemin uso, che sembra essere il modo più semplice per scaricare la memoria a fini di analisi, non è più possibile utilizzare /dev/memdopo i kernel 2.6.x, a quanto ho capito.

Esempio 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

* Fonte: come posso scaricare tutta la memoria fisica su un file?

Esempio LiME

Per analizzare la memoria volatile c'è anche questa pagina, intitolata: Analisi della memoria Linux . C'è un esempio completo in questo tutorial video che mostra l'uso di LiME e Volatilità per raccogliere un dump della memoria e quindi analizzarlo, estraendo la cronologia Bash dell'utente dal dump della memoria.

Cos'altro?

C'è anche questo U&L Q&A intitolato: Come posso scaricare l'intera memoria di sistema? che ha ulteriori esempi e informazioni.



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

2
Qualche spiegazione sarebbe buona.
phk,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.