Volatility - CheatSheet
Last updated
Last updated
Learn & practice AWS Hacking: Learn & practice GCP Hacking:
Volatility ha due approcci principali ai plugin, che a volte si riflettono nei loro nomi. I plugin “list” cercheranno di navigare attraverso le strutture del kernel di Windows per recuperare informazioni come i processi (localizzare e percorrere la lista collegata delle strutture _EPROCESS
in memoria), gestori del sistema operativo (localizzare e elencare la tabella dei gestori, dereferenziare eventuali puntatori trovati, ecc.). Si comportano più o meno come farebbe l'API di Windows se richiesto di, ad esempio, elencare i processi.
Questo rende i plugin “list” piuttosto veloci, ma altrettanto vulnerabili quanto l'API di Windows alla manipolazione da parte di malware. Ad esempio, se un malware utilizza DKOM per scollegare un processo dalla lista collegata _EPROCESS
, non apparirà nel Task Manager e nemmeno in pslist.
I plugin “scan”, d'altra parte, adotteranno un approccio simile al carving della memoria per cose che potrebbero avere senso quando dereferenziate come strutture specifiche. psscan
, ad esempio, leggerà la memoria e cercherà di creare oggetti _EPROCESS
da essa (utilizza la scansione dei pool-tag, che cerca stringhe di 4 byte che indicano la presenza di una struttura di interesse). Il vantaggio è che può recuperare processi che sono terminati, e anche se il malware manomette la lista collegata _EPROCESS
, il plugin troverà comunque la struttura presente in memoria (poiché deve ancora esistere affinché il processo funzioni). Lo svantaggio è che i plugin “scan” sono un po' più lenti dei plugin “list” e possono talvolta generare falsi positivi (un processo che è terminato troppo tempo fa e ha avuto parti della sua struttura sovrascritte da altre operazioni).
Come spiegato all'interno del readme, è necessario inserire la tabella dei simboli del sistema operativo che si desidera supportare all'interno di volatility3/volatility/symbols. I pacchetti della tabella dei simboli per i vari sistemi operativi sono disponibili per download su:
Puoi ottenere l'elenco dei profili supportati eseguendo:
Se vuoi utilizzare un nuovo profilo che hai scaricato (ad esempio uno per linux) devi creare da qualche parte la seguente struttura di cartelle: plugins/overlays/linux e mettere all'interno di questa cartella il file zip contenente il profilo. Poi, ottieni il numero dei profili usando:
Nel blocco precedente puoi vedere che il profilo si chiama LinuxCentOS7_3_10_0-123_el7_x86_64_profilex64
, e puoi usarlo per eseguire qualcosa come:
Dai sempre un'occhiata al numero di processi che kdbgscan ha trovato. A volte imageinfo e kdbgscan possono trovare più di un profilo adatto, ma solo il valido avrà alcuni processi correlati (Questo perché per estrarre i processi è necessario l'indirizzo KDBG corretto).
Il kernel debugger block, noto come KDBG da Volatility, è cruciale per i compiti forensi eseguiti da Volatility e vari debugger. Identificato come KdDebuggerDataBlock
e di tipo _KDDEBUGGER_DATA64
, contiene riferimenti essenziali come PsActiveProcessHead
. Questo riferimento specifico punta alla testa della lista dei processi, consentendo l'elenco di tutti i processi, fondamentale per un'analisi approfondita della memoria.
Il plugin banners.Banners
può essere utilizzato in vol3 per cercare banner linux nel dump.
Il memory dump di un processo estrarrà tutto lo stato attuale del processo. Il modulo procdump estrarrà solo il codice.
Cerca di trovare processi sospetti (per nome) o processi figlio inaspettati (ad esempio un cmd.exe come figlio di iexplorer.exe). Potrebbe essere interessante confrontare il risultato di pslist con quello di psscan per identificare processi nascosti.
Qualsiasi cosa sospetta è stata eseguita?
I comandi eseguiti in cmd.exe
sono gestiti da conhost.exe
(o csrss.exe
sui sistemi precedenti a Windows 7). Questo significa che se cmd.exe
viene terminato da un attaccante prima che venga ottenuto un memory dump, è ancora possibile recuperare la cronologia dei comandi della sessione dalla memoria di conhost.exe
. Per fare ciò, se viene rilevata un'attività insolita all'interno dei moduli della console, la memoria del processo associato conhost.exe
dovrebbe essere dumpata. Quindi, cercando stringhe all'interno di questo dump, le righe di comando utilizzate nella sessione possono potenzialmente essere estratte.
Ottieni le variabili di ambiente di ciascun processo in esecuzione. Potrebbero esserci alcuni valori interessanti.
Controlla i token di privilegi in servizi inaspettati. Potrebbe essere interessante elencare i processi che utilizzano alcuni token privilegiati.
Controlla ogni SSID posseduto da un processo. Potrebbe essere interessante elencare i processi che utilizzano un SID di privilegi (e i processi che utilizzano un SID di servizio).
Utile sapere a quali altri file, chiavi, thread, processi... un processo ha un handle (ha aperto)
Volatility ci consente di controllare a quale processo appartiene una stringa.
Consente anche di cercare stringhe all'interno di un processo utilizzando il modulo yarascan:
Windows tiene traccia dei programmi che esegui utilizzando una funzionalità nel registro chiamata UserAssist keys. Queste chiavi registrano quante volte ogni programma è stato eseguito e quando è stato eseguito l'ultima volta.
Se vuoi utilizzare plugin esterni assicurati che le cartelle relative ai plugin siano il primo parametro utilizzato.
È possibile leggere dalla memoria la cronologia di bash. Potresti anche eseguire il dump del file .bash_history, ma è stato disabilitato, quindi sarai felice di poter utilizzare questo modulo di volatilità.
è l'evento di cybersecurity più rilevante in Spagna e uno dei più importanti in Europa. Con la missione di promuovere la conoscenza tecnica, questo congresso è un punto di incontro vivace per professionisti della tecnologia e della cybersecurity in ogni disciplina.
Se vuoi qualcosa di veloce e folle che lanci diversi plugin di Volatility in parallelo, puoi usare:
Accedi alla documentazione ufficiale in
Da:
Puoi scaricare i profili per Linux e Mac da
: A differenza di imageinfo che fornisce semplicemente suggerimenti sui profili, kdbgscan è progettato per identificare positivamente il profilo corretto e l'indirizzo KDBG corretto (se ce ne sono più di uno). Questo plugin cerca le firme KDBGHeader collegate ai profili di Volatility e applica controlli di sanità per ridurre i falsi positivi. La verbosità dell'output e il numero di controlli di sanità che possono essere eseguiti dipendono dal fatto che Volatility riesca a trovare un DTB, quindi se conosci già il profilo corretto (o se hai un suggerimento di profilo da imageinfo), assicurati di usarlo.
Estrai gli hash SAM, e .
è l'evento di cybersecurity più rilevante in Spagna e uno dei più importanti in Europa. Con la missione di promuovere la conoscenza tecnica, questo congresso è un punto di incontro vivace per professionisti della tecnologia e della cybersecurity in ogni disciplina.
è l'evento di cybersecurity più rilevante in Spagna e uno dei più importanti in Europa. Con la missione di promuovere la conoscenza tecnica, questo congresso è un punto di incontro vivace per professionisti della tecnologia e della cybersecurity in ogni disciplina.
Il file system NTFS utilizza un componente critico noto come master file table (MFT). Questa tabella include almeno un'entrata per ogni file su un volume, coprendo anche la MFT stessa. Dettagli vitali su ogni file, come dimensione, timestamp, permessi e dati effettivi, sono racchiusi all'interno delle entrate MFT o in aree esterne alla MFT ma referenziate da queste entrate. Maggiori dettagli possono essere trovati nella .
Usa questo script per scaricare e unire tutte le regole yara per malware da github: Crea la directory rules ed eseguila. Questo creerà un file chiamato malware_rules.yar che contiene tutte le regole yara per malware.
Scaricalo da
Il Master Boot Record (MBR) gioca un ruolo cruciale nella gestione delle partizioni logiche di un supporto di memorizzazione, che sono strutturate con diversi . Non solo contiene informazioni sul layout delle partizioni, ma include anche codice eseguibile che funge da boot loader. Questo boot loader avvia direttamente il processo di caricamento di secondo livello del sistema operativo (vedi ) o lavora in armonia con il (VBR) di ciascuna partizione. Per una conoscenza approfondita, fare riferimento alla .
*
è l'evento di cybersecurity più rilevante in Spagna e uno dei più importanti in Europa. Con la missione di promuovere la conoscenza tecnica, questo congresso è un punto di incontro fervente per professionisti della tecnologia e della cybersecurity in ogni disciplina.
Learn & practice AWS Hacking: Learn & practice GCP Hacking:
Check the !
Join the 💬 or the or follow us on Twitter 🐦 .
Share hacking tricks by submitting PRs to the and github repos.