windows下的volatility取證分析與講解

volatility(win64)

1.下載

volatility

下載地址:(我下載的版本2.6,並把名字稍微改了一下)

Release Downloads | Volatility Foundation

windows版

image-20220403093641587

2.使用

1.查看基本資訊

查看鏡像的基本資訊,使用的時候可以將這個軟體和需要取證的鏡像放到一起

例如:

image-20220403094028047

打開終端,輸入命令,

./volatility -f memory.img imageinfo

可以看到各種資訊,標出的幾個是比較重要的

image-20220403094158458

2.查看進程

./volatility -f memory.img --profile=Win2003SP1x86 pslist

profile具體內容根據實際文件為準,pslist應該比較好理解就是進程的列表的意思。

image-20220403094523855

tips:

把pslist可以替換成完成不同的功能

psxview : 可查看一些隱藏進程
pstree : 以樹的形式來列出正在進行的進程,不會顯示出隱藏或未鏈接的進程(套神說的)

psxview:

image-20220403094921018

pstree:

image-20220403095041449

3.查看鏡像cmd的歷史命令

./volatility -f memory.img --profile=Win2003SP1x86 cmdscan

image-20220403095217860

4.查看指令的輸入和輸出

./volatility -f memory.img --profile=Win2003SP1x86 consoles

image-20220403095409386

5.列出所有命令行下運行的程式

./volatility -f memory.img --profile=Win2003SP1x86 cmdline

這個命令的輸出內容就很多了

image-20220403095713969

image-20220403095729326

image-20220403095745443

6.顯示進程許可權

./volatility -f memory.img --profile=Win2003SP1x86 privs

這個命令輸出內容巨多

image-20220403100005379

7.顯示環境變數

 ./volatility -f memory.img --profile=Win2003SP1x86 envars

image-20220403100125145

8.找出所有文件

./volatility -f memory.img --profile=Win2003SP1x86 filescan

image-20220403101131539

image-20220403101240869

9.找特定名稱的文件

搭配grep.exe使用

下載grep.exe並放到當前文件夾下

image-20220403103600029

./volatility -h memory.img --profile=Win2003SP1x86 filesacn | findstr "flag"

image-20220403103506215

10.找特定類型的文件

./volatility -h memory.img --profile=Win2003SP1x86 filescan | ./grep.exe -E 「png」

image-20220403103810442

11.通過相應的進程能直接dump出相關的文件

./volatility -f memory.img –profile=Win2003SP1x86 memdump -p xxx(PPID) –dump-dir=./

./volatility -f memory.img --profile=Win2003SP1x86 memdump -p 1992 --dump-dir=./

因為前面顯示進程的命令中有1992這個PPID

image-20220403104037055

再隨便dump一個看看

./volatility -f memory.img --profile=Win2003SP1x86 memdump -p 1096 --dump-dir=./

image-20220403104908400

12.查看系統正在運行的編輯本

./volatility -f memory.img --profile=Win2003SP1x86 editbox

image-20220403105110821

13.導出系統的註冊表

./volatility -f memory.img --profile=Win2003SP1x86 dumpregistry --dump-dir=./registry/

image-20220403105228500

image-20220403110229137

14.查看並導出螢幕的截屏

【需要安裝PIL庫】

安裝PIL庫:

win+R,輸入cmd,打開終端,輸入

pip install PIL

或者

easy_install Pillow

實在不行自行百度,這裡不再贅述

./volatility -f memory.img --profile=Win2003SP1x86 dumpregistry --dump-dir=./registry/ screenshot -D ./

image-20220403105900785

15.查看剪貼板數據

./volatility -f memory.img --profile=Win2003SP1x86  clipboard

image-20220403110523771

加一個-v可以導出相關的數據

./volatility -f memory.img --profile=Win2003SP1x86  clipboard -v

image-20220403110437623

這個文件沒有剪貼板內容

16.查看瀏覽器的歷史記錄

./volatility -f memory.img --profile=Win2003SP1x86 iehistory

image-20220403110608464

17.查看用戶名

./volatility -f memory.img --profile=Win2003SP1x86 printkey -K "SAM\Domains\Account\Users\Names"

image-20220403110800319

18.列印出最後登錄的用戶

./volatility -f memory.img --profile=Win2003SP1x86 printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

image-20220403110924256

19.獲取各個帳號的MD5加密密碼

1.hivelist找出獲取system 的 virtual 地址,SAM 的 virtual 地址,

./volatility -f memory.img --profile=Win2003SP1x86 hivelist

image-20220403111143122

2.使用hashdump -y SYSTEM_virtual -x SAM_virtual.

這個是SAM用戶,就搞他

image-20220403111433470

但是沒找到SYSTEM用戶

就無法繼續

借一個圖

image-20220403111822320

./volatility -f memory.img –profile=Win2003SP1x86 hashdump -y xxx(SAM的virtual) -s xxx(SYSTEM的virtual)

image-20220403111918336

能不能解出來靠運氣

3.例題

[HDCTF2019]你能發現什麼蛛絲馬跡嗎

BUU-page5-T6

參考:參考:(9條消息) volatility記憶體取證分析與講解(持續更新)_小藍同學`的部落格-CSDN部落格_volatility參數