{"id":2417,"date":"2025-08-28T15:35:07","date_gmt":"2025-08-28T13:35:07","guid":{"rendered":"https:\/\/www.fabriziogiancola.eu\/?p=2417"},"modified":"2025-10-24T16:34:58","modified_gmt":"2025-10-24T14:34:58","slug":"memory-dump","status":"publish","type":"post","link":"https:\/\/www.fabriziogiancola.eu\/index.php\/2025\/08\/28\/memory-dump\/","title":{"rendered":"Memory dump"},"content":{"rendered":"\n<p>Un dump della memoria \u00e8 un\u00a0<mark>file contenente un\u2019istantanea della memoria di sistema o di un\u2019applicazione in un preciso momento<\/mark>.\u00a0Viene utilizzato principalmente per il debug e la risoluzione dei problemi, fornendo a sviluppatori e tecnici informazioni preziose sull\u2019esatto stato del sistema o del processo quando si \u00e8 verificato un crash o un errore.\u00a0<\/p>\n\n\n\n<p>In informatica forense, un dump di memoria \u00e8\u00a0<mark>l\u2019estrazione e la copia completa del contenuto volatile della memoria RAM (o memoria di sistema) di un dispositivo in un momento specifico, tipicamente in risposta a un malfunzionamento o durante un&#8217;indagine<\/mark>.\u00a0Questo file dump contiene dati preziosi per l\u2019analisi, come processi attivi, connessioni di rete, informazioni sulla memoria del sistema e artefatti di sistema, che possono essere analizzati con strumenti forensi come\u00a0<a href=\"https:\/\/volatilityfoundation.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Volatility<\/a>\u00a0per identificare attivit\u00e0 dannose o cause di errori.\u00a0<\/p>\n\n\n\n<p>In DFIR la sequenza tipica \u00e8 <strong>dump della RAM \u2192 triage veloce \u2192 imaging del disco<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>lancia gli strumenti <strong>da supporto esterno<\/strong> (USB forense) e <strong>registra<\/strong> ogni comando;<\/li>\n\n\n\n<li>scrivi su un disco esterno dedicato (<code>\/mnt\/usb\/CASE123\/memory\/<\/code>); <\/li>\n\n\n\n<li>calcola SUBITO l\u2019<strong>hash<\/strong> del dump e salvalo accanto al file;<\/li>\n\n\n\n<li>se puoi, <strong>spegni servizi rumorosi<\/strong> (sync cloud, AV invadenti) ma <strong>non<\/strong> disconnettere bruscamente la macchina se ti serve il contesto live (processi, rete).<\/li>\n<\/ul>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-link-color has-medium-font-size wp-elements-ecf67c8d89784c7642bad9982c55d6c4\"><strong>Windows (consigliato: WinPMem o DumpIt)<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>WinPMem (open-source, RAW)<\/strong><\/p>\n\n\n\n<p>Esegui <strong>come amministratore<\/strong> dalla tua chiavetta:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em># crea cartella caso<\/em>\nmkdir E:\\CASE123\\memory\n\n<em># dump in RAW<\/em>\nE:\\tools\\winpmem\\winpmem_mini_x64.exe E:\\CASE123\\memory\\CASE123_mem.raw\n\n<em># hash<\/em>\nCertUtil -hashfile E:\\CASE123\\memory\\CASE123_mem.raw SHA256 > E:\\CASE123\\memory\\CASE123_mem.sha256.txt<\/code><\/pre>\n\n\n\n<p><strong>Note<\/strong>: <code>winpmem_mini_x64.exe<\/code> produce RAW ed auto-scarica il driver a fine acquisizione: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>il programma\u00a0<strong>winpmem_mini_x64.exe<\/strong>\u00a0\u00e8 la versione \u201c<em>minimal<\/em>\u201d del tool WinPmem, un\u2019utility open source per l\u2019acquisizione della memoria fisica (RAM) su sistemi Windows a 64 bit. La denominazione \u201c<em>mini<\/em>\u201d indica che questa versione\u00a0<strong>genera esclusivamente immagini di memoria in formato RAW<\/strong>\u00a0e non in formati pi\u00f9 complessi come AFF4, che erano supportati da versioni precedenti;<\/li>\n\n\n\n<li>per accedere alla memoria fisica, WinPmem richiede un\u00a0<strong>driver in modalit\u00e0 kernel<\/strong>, necessario per leggere direttamente dallo spazio di memoria a basso livello. L\u2019eseguibile\u00a0<strong>winpmem_mini_x64.exe \u00e8 autosufficiente<\/strong>: contiene internamente sia il codice dell\u2019applicazione utente sia i driver sia a 32 che a 64 bit. Durante l\u2019esecuzione, carica automaticamente il driver appropriato nel sistema.\u200b Al termine dell\u2019acquisizione,\u00a0<strong>il driver viene automaticamente scaricato (unloaded)<\/strong>, liberando le risorse kernel e riducendo le tracce residue dell\u2019operazione, come confermato nella documentazione ufficiale del progetto Velocidex e nelle guide tecniche di RedPacket Security.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\"><strong>DumpIt (Magnet Forensics, GUI\/CLI rapidissima)<\/strong><\/p>\n\n\n\n<p>Esegui <code>DumpIt.exe<\/code> (x64\/ARM64 disponibili) \u2192 produce un <strong>crash dump<\/strong> della RAM, velocissimo per incident response, \u00e8 considerato uno dei tool di riferimento per la\u00a0<strong>live acquisition forense della memoria RAM<\/strong>\u00a0su Windows per la facilit\u00e0 d\u2019uso, rapidit\u00e0 e compatibilit\u00e0 con i principali strumenti di analisi.<\/p>\n\n\n\n<p><strong>Caratteristiche principali<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Semplicit\u00e0 d\u2019uso:<\/strong>\u00a0basta avviare il programma (ad esempio da una chiavetta USB); una finestra chiede conferma e acquisisce in automatico un\u2019immagine (dump) della memoria fisica, salvandola nella stessa cartella dell\u2019eseguibile oppure dove indicato tramite parametro CLI (<code>\/O percorso<\/code>).\u200b<\/li>\n\n\n\n<li><strong>Rapidit\u00e0:<\/strong>\u00a0pu\u00f2 acquisire dump completi anche da macchine con molta RAM (una memoria da 32GB viene acquisita in circa 6 minuti, dati di test).\u200b<\/li>\n\n\n\n<li><strong>Portabilit\u00e0:<\/strong>\u00a0non necessita di installazione n\u00e9 di software aggiuntivo; \u00e8 eseguibile direttamente da dispositivi rimovibili\u2014utile in scenari incident response e analisi su macchine compromesse.\u200b<\/li>\n\n\n\n<li><strong>Compatibilit\u00e0:<\/strong>\u00a0genera dump compatibili con framework di analisi come Volatility, Rekall, Comae Platform e WinDbg.\u200b<\/li>\n\n\n\n<li><strong>Affidabilit\u00e0:<\/strong>\u00a0evita di causare Blue Screen (BSOD) durante la cattura, conservando lo stato della macchina.\u200b<\/li>\n\n\n\n<li><strong>Output:<\/strong>\u00a0oltre al file\u00a0<code>.dmp<\/code>\u00a0della memoria, pu\u00f2 generare un file di testo con dettagli come nome macchina, timestamp UTC e SHA256 del dump.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-link-color has-medium-font-size wp-elements-8060416740c0c7c5046802829f9c75a0\"><strong>Linux (consigliato: AVML oppure LiME)<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>AVML (Microsoft) \u2013 zero build sul target<\/strong><\/p>\n\n\n\n<p>AVML (Azure Virtual Machine Local) \u00e8 uno strumento open source sviluppato da Microsoft per\u00a0<strong>l\u2019acquisizione forense della memoria volatile (RAM)<\/strong>\u00a0su sistemi Linux, con capacit\u00e0 di operare anche su macchine virtuali Azure e ambienti fisici o cloud. La memoria catturata include informazioni su processi, connessioni di rete, credenziali temporanee, chiavi di cifratura e codice eseguibile in RAM, rendendo AVML fondamentale per la\u00a0<strong>memory forensics moderna<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir -p \/mnt\/usb\/CASE123\/memory\ncd \/mnt\/usb\/CASE123\/memory\n\n<em># dump completo<\/em>\nsudo \/media\/usb\/tools\/avml CASE123_mem.lime\n\n<em># immagine compressa (snappy) \u2013 comoda se spazio limitato<\/em>\nsudo \/media\/usb\/tools\/avml --compress CASE123_mem.lime.compressed\n\n<em># opzionale: converti a LiME non compresso per alcuni workflow<\/em>\nsudo \/media\/usb\/tools\/avml-convert CASE123_mem.lime.compressed CASE123_mem.lime\n\n<em># hash<\/em>\nsha256sum CASE123_mem.lime* | tee CASE123_mem.sha256.txt<\/code><\/pre>\n\n\n\n<p><strong>Caratteristiche principali<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Open Source:<\/strong>\u00a0distribuito pubblicamente da Microsoft su GitHub, accessibile e verificabile in ambiente forense.<\/li>\n\n\n\n<li><strong>Compatibilit\u00e0:<\/strong>\u00a0funziona su distribuzioni Linux a 64 bit, incluse macchine virtuali in Azure, server fisici e container.<\/li>\n\n\n\n<li><strong>Acquisizione sicura:<\/strong>\u00a0utilizza API di basso livello del kernel per leggere la memoria fisica in maniera controllata, riducendo il rischio di crash del sistema o di modifiche alle evidenze.<\/li>\n\n\n\n<li><strong>Formato output:<\/strong>\u00a0genera file di dump in formato\u00a0<strong>LiME-compatible (Linux Memory Extractor)<\/strong>\u00a0o RAW, permettendo l\u2019analisi successiva in strumenti come Volatility o Rekall.<\/li>\n\n\n\n<li><strong>Uso flessibile:<\/strong>\u00a0pu\u00f2 essere eseguito localmente o da remoto nel contesto di investigazioni cloud attraverso script automatizzati o orchestrazioni Azure Monitor.<\/li>\n<\/ul>\n\n\n\n<p><strong>Note<\/strong>: AVML usa <strong>\/dev\/crash \/ \/dev\/mem \/ \/proc\/kcore<\/strong> automaticamente; supporta <strong>LiME<\/strong> come formato e fornisce <code>avml-convert<\/code>. Se \u00e8 attivo <strong>kernel_lockdown<\/strong> l\u2019acquisizione pu\u00f2 fallire.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>LiME (kernel module) \u2013 massima compatibilit\u00e0<\/strong><\/p>\n\n\n\n<p>LiME (Linux Memory Extractor) \u00e8 un\u00a0<strong>modulo kernel caricabile (Loadable Kernel Module, LKM)<\/strong>\u00a0progettato per l\u2019acquisizione forense della memoria volatile su sistemi Linux e dispositivi basati su Linux, come Android.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir -p \/mnt\/usb\/CASE123\/memory\ncd \/path\/to\/LiME   <em># dove hai il lime.ko compilato per quel kernel<\/em>\n\n<em># dump completo<\/em>\nsudo insmod .\/lime.ko \"path=\/mnt\/usb\/CASE123\/memory\/CASE123_mem.lime format=lime\"\n\n<em># hash<\/em>\nsha256sum \/mnt\/usb\/CASE123\/memory\/CASE123_mem.lime | tee \/mnt\/usb\/CASE123\/memory\/CASE123_mem.sha256.txt\n\n<em># In alternativa, per il trasferimento remoto:\n<\/em>sudo insmod .\/lime.ko \"path=tcp:192.168.1.10:4444 format=lime\"<\/code><\/pre>\n\n\n\n<p><strong>Note:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>installare i pacchetti\u00a0<code>kernel-headers<\/code>\u00a0e\u00a0<code>build-essential<\/code>;<\/li>\n\n\n\n<li>clonare il repository ufficiale: <\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/504ensicsLabs\/LiME.git\ncd LiME\/src &amp;&amp; make<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>parametri chiave: <code>path=...<\/code> e <code>format=&lt;raw|padded|lime><\/code> sono <strong>obbligatori<\/strong>; su alcune distro servono le <strong>virgolette<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-link-color has-medium-font-size wp-elements-43536c8431de8c94d697ee3530c82c02\"><strong>macOS (attenzione a SIP\/Apple Silicon)<\/strong><\/p>\n\n\n\n<p>Su <strong>Intel mac<\/strong> con impostazioni di sicurezza \u201c<em>allentate<\/em>\u201d si pu\u00f2 usare <strong>OSXPMem\/osxpmem<\/strong> (suite pmem) da supporto esterno.<\/p>\n\n\n\n<p><strong>Contesto tecnico<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Intel Mac:<\/strong>\u00a0ovvero Mac con processori Intel (non Apple Silicon), offrono una compatibilit\u00e0 pi\u00f9 ampia con strumenti software tradizionali sviluppati per sistemi Unix-like o Windows, soprattutto per operazioni di forensics.<\/li>\n\n\n\n<li><strong>Impostazioni di sicurezza \u201c<em>allentate<\/em>\u201d:<\/strong>\u00a0per eseguire tool come OSXPMem che devono accedere a risorse kernel o hardware, \u00e8 necessario disabilitare alcune protezioni di sicurezza native di macOS (ad esempio: disattivazione di\u00a0<strong>System Integrity Protection (SIP)<\/strong>, permessi di accesso ai driver di basso livello, possibile disabilitazione protezioni come FileVault o protezioni firmware. Queste modifiche sono spesso necessarie per permettere la scrittura o il caricamento di driver esterni da supporto esterno &#8211; ad esempio una chiavetta USB &#8211; e l\u2019accesso a memoria fisica in modo non standard.<\/li>\n\n\n\n<li><strong>Uso da supporto esterno:<\/strong>\u00a0OSXPMem pu\u00f2 essere eseguito da dispositivo esterno (es. USB\/CD bootabile o recovery environment) senza obbligo di installarlo sul sistema host, riducendo l\u2019impatto e possibilit\u00e0 di alterare dati.<\/li>\n<\/ul>\n\n\n\n<p>Esempio (Intel, dove supportato):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo \/Volumes\/TOOLS\/osxpmem --format raw \/Volumes\/CASE\/CASE123\/memory\/CASE123_mem.raw\nshasum -a 256 \/Volumes\/CASE\/CASE123\/memory\/CASE123_mem.raw &gt; \/Volumes\/CASE\/CASE123\/memory\/CASE123_mem.sha256.txt<\/code><\/pre>\n\n\n\n<p>Su Mac con chip <strong>Apple T2<\/strong> e <strong>Apple Silicon<\/strong> (M1, M2 e successivi), l\u2019acquisizione diretta della memoria RAM \u00e8 generalmente\u00a0<strong>impossibile senza modifiche alle protezioni di sicurezza<\/strong>\u00a0come SIP (System Integrity Protection) e AVB (Apple Verified Boot):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>i chip T2 e Apple Silicon integrano un\u00a0<strong>secure enclave e un sistema di avvio sicuro<\/strong>\u00a0(AVB) che criptano e proteggono molte aree critiche della memoria e gestiscono il controllo dell\u2019integrit\u00e0 del sistema operativo;<\/li>\n\n\n\n<li>SIP \u00e8 progettato per impedire il caricamento di driver non firmati o modifiche al kernel, bloccando tool forensi che tentano di accedere direttamente alla RAM;<\/li>\n\n\n\n<li>AVB verifica la catena di avvio e blocca sistemi con firmware modificato, essendo un ulteriore livello che impedisce alterazioni e accessi non autorizzati alla memoria fisica.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-dark-gray-color has-very-light-gray-to-cyan-bluish-gray-gradient-background has-text-color has-background has-link-color has-medium-font-size wp-elements-00edb62c8db5e961593d9eab2831b1d6\"><strong>Dopo il dump: triage espresso (Volatility 3)<\/strong><\/p>\n\n\n\n<p>Usa la <strong>working machine<\/strong> (non il target) per una verifica rapida.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Windows<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vol -f CASE123_mem.raw windows.info\nvol -f CASE123_mem.raw windows.pslist\nvol -f CASE123_mem.raw windows.netscan\nvol -f CASE123_mem.raw windows.malfind<\/code><\/pre>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Linux (LiME\/AVML)<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vol -f CASE123_mem.lime linux.pslist\nvol -f CASE123_mem.lime linux.bash\nvol -f CASE123_mem.lime linux.netstat<\/code><\/pre>\n\n\n\n<p>Volatility 3 <strong>legge AVML<\/strong> (anche compresso, via layer dedicato), oltre a LiME\/RAW.<\/p>\n\n\n\n<p>Nota: <strong>Pagefile\/hiberfil?<\/strong> Se poi fai il <strong>full disk image<\/strong>, li avrai comunque. In attivit\u00e0 live <em>senza imaging<\/em> completo puoi copiarli (con tool forense) e calcolarne l\u2019hash a parte.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un dump della memoria \u00e8 un\u00a0file contenente un\u2019istantanea della memoria di sistema o di un\u2019applicazione in un preciso momento.\u00a0Viene utilizzato principalmente per il debug e la risoluzione dei problemi, fornendo a sviluppatori e tecnici informazioni preziose sull\u2019esatto stato del sistema o del processo quando si \u00e8 verificato un crash o un errore.\u00a0 In informatica forense, &hellip; <a href=\"https:\/\/www.fabriziogiancola.eu\/index.php\/2025\/08\/28\/memory-dump\/\" class=\"more-link\">Leggi tutto<span class=\"screen-reader-text\"> &#8220;Memory dump&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":5,"footnotes":""},"categories":[14],"tags":[55,56,54,58,53,57],"class_list":["post-2417","post","type-post","status-publish","format-standard","hentry","category-digital-forensics","tag-avml","tag-dumpit","tag-lime","tag-ram","tag-volatility","tag-winpmem"],"_links":{"self":[{"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/posts\/2417","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/comments?post=2417"}],"version-history":[{"count":36,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/posts\/2417\/revisions"}],"predecessor-version":[{"id":3581,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/posts\/2417\/revisions\/3581"}],"wp:attachment":[{"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/media?parent=2417"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/categories?post=2417"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fabriziogiancola.eu\/index.php\/wp-json\/wp\/v2\/tags?post=2417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}