一 、簡(jiǎn)介
Volatility是一款開源內(nèi)存取證框架,能夠?qū)?dǎo)出的內(nèi)存鏡像進(jìn)行分析,通過獲取內(nèi)核數(shù)據(jù)結(jié)構(gòu),使用插件獲取內(nèi)存的詳細(xì)情況以及系統(tǒng)的運(yùn)行狀態(tài)。
題目鏈接:鏈接: https://pan.baidu.com/s/1s9Ey8G12COT_vI65TwhIKw?pwd=shkd 提取碼: shkd
Volatility2.6需要python2,pip安裝模塊也需要2版本,具體命令根據(jù)實(shí)際情況調(diào)整。
本次是比賽題目的復(fù)現(xiàn)參考大佬鏈接自己在做了一遍:https://bnessy.blog.csdn.net/article/details/123917324
二 、安裝Volatility
1. 下載源碼https://github.com/volatilityfoundation/volatility
2. 解壓unzip volatility-master.zip
3. 安裝依賴
- crypto
pip2 install pycryptodome
pip2 install pycryptodome -i https://pypi.tuna.tsinghua.edu.cn/simple #如果安裝失敗,可使用以下命令切換國內(nèi)源
- distorm3
git-clone https://github.com/vext01/distorm3
python2 setup.py install #下載后進(jìn)行編譯
- 可選插件
Distorm3(反編譯庫):pip install distorm3
Yara(惡意軟件分類工具):pip install yara
PyCrypto(加密工具集):pip install pycrypto
PIL(圖片處理庫):pip install pil
OpenPyxl(讀寫excel文件):pip install openpyxl
ujson(JSON解析):pip install ujson
4.安裝Volatility
在解壓后的Volatility目錄下進(jìn)行編譯python2 setup.py install
解決方法:https://techglimpse.com/error-while-running-volatility-software-failed-to-import-volatility-plugins-malware-svcscanimporterror-no-module-named-crypto-hash-solved/
這里和博主的不太一樣我還是繼續(xù)報(bào)錯(cuò) 然后自己又研究了一下(然后已解決)
pip2
的安裝:
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
python2 get-pip.py
#安裝依賴庫
pip uninstall crypto pycryptodome
pip install pycryptodome
三 、安裝插件
1.安裝mimikatz
,將mimikatz.py
復(fù)制到volatility-master/volatility/plugins/
目錄下
使用時(shí)需要添加參數(shù):--plugins=./volatility-master/volatility/plugins
(也可以直接使用mimikatz
不用加這個(gè))
2.運(yùn)行時(shí)可能會(huì)出現(xiàn)如下錯(cuò)誤,這是因?yàn)闆]有安裝construct
模塊:
Volatility Foundation Volatility Framework 2.6
*** Failed to import volatility.plugins.mimikatz (ImportError: No module named construct)
ERROR : volatility.debug : You must specify something to do (try -h)
3.安裝construct
模塊。
pip install construct
四 、工具介紹
輸入vol.py --help
可查看幫助
Volatility Foundation Volatility Framework 2.6
用法: Volatility - 內(nèi)存取證分析平臺(tái)
Options:
-h, --help 列出所有可用選項(xiàng)及其默認(rèn)值
默認(rèn)值可以在配置文件中設(shè)置
(/etc/volatilityrc)
--conf-file=/home/kali/.volatilityrc
基于用戶的配置文件
-d, --debug 調(diào)試Volatility
--plugins=PLUGINS 要使用的其他插件目錄(冒號(hào)分隔)
--info 打印所有注冊(cè)對(duì)象的信息
--cache-directory=/home/kali/.cache/volatility
存放緩存文件的目錄
--cache 使用緩存
--tz=TZ 設(shè)置 (Olson) 時(shí)區(qū)以使用 pytz(如果已安裝)或 tzset 顯示時(shí)間戳
-f FILENAME, --filename=FILENAME
打開圖像時(shí)使用的文件名
--profile=WinXPSP2x86
要加載的配置文件的名稱(使用 --info 查看支持的配置文件列表)
-l LOCATION, --location=LOCATION
從中加載地址空間的 URN 位置
-w, --write 啟用寫支持
--dtb=DTB DTB 地址
--shift=SHIFT Mac KASLR 移位地址
--output=text 以這種格式輸出(支持特定于模塊,請(qǐng)參閱下面的模塊輸出選項(xiàng))
--output-file=OUTPUT_FILE
在此文件中寫入輸出
-v, --verbose 詳細(xì)信息
-g KDBG, --kdbg=KDBG 指定一個(gè) KDBG 虛擬地址(注意:對(duì)于 64 位 Windows 8 及更高版本,這是 KdCopyDataBlock 的地址)
--force 強(qiáng)制使用可疑配置文件
-k KPCR, --kpcr=KPCR 指定特定的 KPCR 地址
--cookie=COOKIE 指定 nt!ObHeaderCookie 的地址(僅適用于 Windows 10)
支持的插件命令:
amcache 查看AmCache應(yīng)用程序痕跡信息
apihooks 檢測(cè)內(nèi)核及進(jìn)程的內(nèi)存空間中的API hook
atoms 列出會(huì)話及窗口站atom表
atomscan Atom表的池掃描(Pool scanner)
auditpol 列出注冊(cè)表HKLMSECURITYPolicyPolAdtEv的審計(jì)策略信息
bigpools 使用BigPagePoolScanner轉(zhuǎn)儲(chǔ)大分頁池(big page pools)
bioskbd 從實(shí)時(shí)模式內(nèi)存中讀取鍵盤緩沖數(shù)據(jù)(早期電腦可以讀取出BIOS開機(jī)密碼)
cachedump 獲取內(nèi)存中緩存的域帳號(hào)的密碼哈希
callbacks 打印全系統(tǒng)通知例程
clipboard 提取Windows剪貼板中的內(nèi)容
cmdline 顯示進(jìn)程命令行參數(shù)
cmdscan 提取執(zhí)行的命令行歷史記錄(掃描_COMMAND_HISTORY信息)
connections 打印系統(tǒng)打開的網(wǎng)絡(luò)連接(僅支持Windows XP 和2003)
connscan 打印TCP連接信息
consoles 提取執(zhí)行的命令行歷史記錄(掃描_CONSOLE_INFORMATION信息)
crashinfo 提取崩潰轉(zhuǎn)儲(chǔ)信息
deskscan tagDESKTOP池掃描(Poolscaner)
devicetree 顯示設(shè)備樹信息
dlldump 從進(jìn)程地址空間轉(zhuǎn)儲(chǔ)動(dòng)態(tài)鏈接庫
dlllist 打印每個(gè)進(jìn)程加載的動(dòng)態(tài)鏈接庫列表
driverirp IRP hook驅(qū)動(dòng)檢測(cè)
drivermodule 關(guān)聯(lián)驅(qū)動(dòng)對(duì)象至內(nèi)核模塊
driverscan 驅(qū)動(dòng)對(duì)象池掃描
dumpcerts 提取RAS私鑰及SSL公鑰
dumpfiles 提取內(nèi)存中映射或緩存的文件
dumpregistry 轉(zhuǎn)儲(chǔ)內(nèi)存中注冊(cè)表信息至磁盤
editbox 查看Edit編輯控件信息 (Listbox正在實(shí)驗(yàn)中)
envars 顯示進(jìn)程的環(huán)境變量
eventhooks 打印Windows事件hook詳細(xì)信息
evtlogs 提取Windows事件日志(僅支持XP/2003)
filescan 提取文件對(duì)象(file objects)池信息
gahti 轉(zhuǎn)儲(chǔ)用戶句柄(handle)類型信息
gditimers 打印已安裝的GDI計(jì)時(shí)器(timers)及回調(diào)(callbacks)
gdt 顯示全局描述符表(Global Deor Table)
getservicesids 獲取注冊(cè)表中的服務(wù)名稱并返回SID信息
getsids 打印每個(gè)進(jìn)程的SID信息
handles 打印每個(gè)進(jìn)程打開的句柄的列表
hashdump 轉(zhuǎn)儲(chǔ)內(nèi)存中的Windows帳戶密碼哈希(LM/NTLM)
hibinfo 轉(zhuǎn)儲(chǔ)休眠文件信息
hivedump 打印注冊(cè)表配置單元信息
hivelist 打印注冊(cè)表配置單元列表
hivescan 注冊(cè)表配置單元池掃描
hpakextract 從HPAK文件(Fast Dump格式)提取物理內(nèi)存數(shù)據(jù)
hpakinfo 查看HPAK文件屬性及相關(guān)信息
idt 顯示中斷描述符表(Interrupt Deor Table)
iehistory 重建IE緩存及訪問歷史記錄
imagecopy 將物理地址空間導(dǎo)出原生DD鏡像文件
imageinfo 查看/識(shí)別鏡像信息
impscan 掃描對(duì)導(dǎo)入函數(shù)的調(diào)用
joblinks 打印進(jìn)程任務(wù)鏈接信息
kdbgscan 搜索和轉(zhuǎn)儲(chǔ)潛在KDBG值
kpcrscan 搜索和轉(zhuǎn)儲(chǔ)潛在KPCR值
ldrmodules 檢測(cè)未鏈接的動(dòng)態(tài)鏈接DLL
lsadump 從注冊(cè)表中提取LSA密鑰信息(已解密)
machoinfo 轉(zhuǎn)儲(chǔ)Mach-O 文件格式信息
malfind 查找隱藏的和插入的代碼
mbrparser 掃描并解析潛在的主引導(dǎo)記錄(MBR)
memdump 轉(zhuǎn)儲(chǔ)進(jìn)程的可尋址內(nèi)存
memmap 打印內(nèi)存映射
messagehooks 桌面和窗口消息鉤子的線程列表
mftparser 掃描并解析潛在的MFT條目
moddump 轉(zhuǎn)儲(chǔ)內(nèi)核驅(qū)動(dòng)程序到可執(zhí)行文件的示例
modscan 內(nèi)核模塊池掃描
modules 打印加載模塊的列表
multiscan 批量掃描各種對(duì)象
mutantscan 對(duì)互斥對(duì)象池掃描
notepad 查看記事本當(dāng)前顯示的文本
objtypescan 掃描窗口對(duì)象類型對(duì)象
patcher 基于頁面掃描的補(bǔ)丁程序內(nèi)存
poolpeek 可配置的池掃描器插件
printkey 打印注冊(cè)表項(xiàng)及其子項(xiàng)和值
privs 顯示進(jìn)程權(quán)限
procdump 進(jìn)程轉(zhuǎn)儲(chǔ)到一個(gè)可執(zhí)行文件示例
pslist 按照EPROCESS列表打印所有正在運(yùn)行的進(jìn)程
psscan 進(jìn)程對(duì)象池掃描
pstree 以樹型方式打印進(jìn)程列表
psxview 查找?guī)в须[藏進(jìn)程的所有進(jìn)程列表
qemuinfo 轉(zhuǎn)儲(chǔ) Qemu 信息
raw2dmp 將物理內(nèi)存原生數(shù)據(jù)轉(zhuǎn)換為windbg崩潰轉(zhuǎn)儲(chǔ)格式
screenshot 基于GDI Windows的虛擬屏幕截圖保存
servicediff Windows服務(wù)列表(ala Plugx)
sessions _MM_SESSION_SPACE的詳細(xì)信息列表(用戶登錄會(huì)話)
shellbags 打印Shellbags信息
shimcache 解析應(yīng)用程序兼容性Shim緩存注冊(cè)表項(xiàng)
shutdowntime 從內(nèi)存中的注冊(cè)表信息獲取機(jī)器關(guān)機(jī)時(shí)間
sockets 打印已打開套接字列表
sockscan TCP套接字對(duì)象池掃描
ssdt 顯示SSDT條目
strings 物理到虛擬地址的偏移匹配(需要一些時(shí)間,帶詳細(xì)信息)
svcscan Windows服務(wù)列表掃描
symlinkscan 符號(hào)鏈接對(duì)象池掃描
thrdscan 線程對(duì)象池掃描
threads 調(diào)查_ETHREAD 和_KTHREADs
timeliner 創(chuàng)建內(nèi)存中的各種痕跡信息的時(shí)間線
timers 打印內(nèi)核計(jì)時(shí)器及關(guān)聯(lián)模塊的DPC
truecryptmaster Recover 恢復(fù)TrueCrypt 7.1a主密鑰
truecryptpassphrase 查找并提取TrueCrypt密碼
truecryptsummary TrueCrypt摘要信息
unloadedmodules 打印卸載的模塊信息列表
userassist 打印注冊(cè)表中UserAssist相關(guān)信息
userhandles 轉(zhuǎn)儲(chǔ)用戶句柄表
vaddump 轉(zhuǎn)儲(chǔ)VAD數(shù)據(jù)為文件
vadinfo 轉(zhuǎn)儲(chǔ)VAD信息
vadtree 以樹形方式顯示VAD樹信息
vadwalk 顯示遍歷VAD樹
vboxinfo 轉(zhuǎn)儲(chǔ)Virtualbox信息(虛擬機(jī))
verinfo 打印PE鏡像中的版本信息
vmwareinfo 轉(zhuǎn)儲(chǔ)VMware VMSS/VMSN 信息
volshell 內(nèi)存鏡像中的shell
windows 打印桌面窗口(詳細(xì)信息)
wintree Z順序打印桌面窗口樹
wndscan 池掃描窗口站
yarascan 以Yara簽名掃描進(jìn)程或內(nèi)核內(nèi)存
輸入vol.py --info
可查看插件。
Volatility Foundation Volatility Framework 2.6
Profiles
--------
VistaSP0x64 - Windows Vista SP0 x64 的配置文件
VistaSP0x86 - Windows Vista SP0 x86 的配置文件
VistaSP1x64 - Windows Vista SP1 x64 的配置文件
VistaSP1x86 - Windows Vista SP1 x86 的配置文件
VistaSP2x64 - Windows Vista SP1 x86 的配置文件
VistaSP2x86 - Windows Vista SP2 x64 的配置文件
Win10x64 - Windows 10 x64 的配置文件
Win10x64_10586 - Windows 10 x64 的配置文件 (10.0.10586.306 / 2016-04-23)
Win10x64_14393 - Windows 10 x64 的配置文件 (10.0.14393.0 / 2016-07-16)
Win10x86 - Windows 10 x86 的配置文件
Win10x86_10586 - Windows 10 x86 的配置文件 (10.0.10586.420 / 2016-05-28)
Win10x86_14393 - Windows 10 x86 的配置文件 (10.0.14393.0 / 2016-07-16)
Win2003SP0x86 - Windows 2003 SP0 x86 的配置文件
Win2003SP1x64 - Windows 2003 SP0 x86 的配置文件
Win2003SP1x86 - Windows 2003 SP1 x86 的配置文件
Win2003SP2x64 - Windows 2003 SP1 x86 的配置文件
Win2003SP2x86 - Windows 2003 SP2 x86 的配置文件
Win2008R2SP0x64 - Windows 2008 R2 SP0 x64 的配置文件
Win2008R2SP1x64 - Windows 2008 R2 SP1 x64 的配置文件
Win2008R2SP1x64_23418 - Windows 2008 R2 SP1 x64 的配置文件 (6.1.7601.23418 / 2016-04-09)
Win2008SP1x64 - Windows 2008 SP1 x64 的配置文件
Win2008SP1x86 - Windows 2008 SP1 x86 的配置文件
Win2008SP2x64 - Windows 2008 SP2 x64 的配置文件
Win2008SP2x86 - Windows 2008 SP2 x86 的配置文件
Win2012R2x64 - Windows Server 2012 R2 x64 的配置文件
Win2012R2x64_18340 - Windows Server 2012 R2 x64 的配置文件 (6.3.9600.18340 / 2016-05-13)
Win2012x64 - Windows Server 2012 x64 的配置文件
Win2016x64_14393 - Windows Server 2016 x64 的配置文件 (10.0.14393.0 / 2016-07-16)
Win7SP0x64 - Windows 7 SP0 x64 的配置文件
Win7SP0x86 - Windows 7 SP0 x86 的配置文件
Win7SP1x64 - Windows 7 SP1 x64 的配置文件
Win7SP1x64_23418 - Windows 7 SP1 x64 的配置文件 (6.1.7601.23418 / 2016-04-09)
Win7SP1x86 - Windows 7 SP1 x86 的配置文件
Win7SP1x86_23418 - Windows 7 SP1 x86 的配置文件 (6.1.7601.23418 / 2016-04-09)
Win81U1x64 - Windows 8.1 更新 1 x64 的配置文件
Win81U1x86 - Windows 8.1 更新 1 x86 的配置文件
Win8SP0x64 - Windows 8 x64 的配置文件
Win8SP0x86 - Windows 8 x86 的配置文件
Win8SP1x64 - Windows 8.1 x64 的配置文件
Win8SP1x64_18340 - Windows 8.1 x64 的配置文件 (6.3.9600.18340 / 2016-05-13)
Win8SP1x86 - Windows 8.1 x86 的配置文件
WinXPSP1x64 - Windows XP SP1 x64 的配置文件
WinXPSP2x64 - Windows XP SP2 x64 的配置文件
WinXPSP2x86 - Windows XP SP2 x86 的配置文件
WinXPSP3x86 - Windows XP SP3 x86 的配置文件
Address Spaces
--------------
AMD64PagedMemory - 標(biāo)準(zhǔn) AMD 64 位地址空間
ArmAddressSpace - ARM 處理器的地址空間
FileAddressSpace - 這是一個(gè)直接文件 AS.
HPAKAddressSpace - 此 AS 支持 HPAK 格式
IA32PagedMemory - 標(biāo)準(zhǔn) IA-32 分頁地址空間
IA32PagedMemoryPae - 此類實(shí)現(xiàn) IA-32 PAE 分頁地址空間
LimeAddressSpace - Lime 的地址空間
LinuxAMD64PagedMemory - Linux 特定的 AMD 64 位地址空間
MachOAddressSpace - mach-o 文件的地址空間以支持 atc-ny 內(nèi)存讀取器
OSXPmemELF - 這個(gè) AS 支持 VirtualBox ELF64 coredump 格式
QemuCoreDumpElf - 這個(gè) AS 支持 Qemu ELF32 和 ELF64 核心轉(zhuǎn)儲(chǔ)格式
VMWareAddressSpace - 此 AS 支持 VMware 快照 (VMSS) 和保存狀態(tài) (VMSS) 文件
VMWareMetaAddressSpace - 此 AS 支持帶有 VMSN/VMSS 元數(shù)據(jù)的 VMEM 格式
VirtualBoxCoreDumpElf64 - 這個(gè) AS 支持 VirtualBox ELF64 coredump 格式
Win10AMD64PagedMemory - Windows 10 特定的 AMD 64 位地址空間
WindowsAMD64PagedMemory - Windows 特定的 AMD 64 位地址空間
WindowsCrashDumpSpace32 - 這個(gè) AS 支持 windows 崩潰轉(zhuǎn)儲(chǔ)格式
WindowsCrashDumpSpace64 - 此 AS 支持 windows Crash Dump 格式
WindowsCrashDumpSpace64BitMap - 此 AS 支持 Windows BitMap Crash Dump 格式
WindowsHiberFileSpace32 - 這是 Windows 休眠文件的休眠地址空間
Plugins
-------
amcache - 打印 AmCache 信息
apihooks - 檢測(cè)進(jìn)程和內(nèi)核內(nèi)存中的 API 掛鉤
atoms - 打印會(huì)話和窗口站原子表
atomscan - 原子表的池掃描器
auditpol - 從 HKLM\SECURITY\Policy\PolAdtEv 打印出審計(jì)策略
bigpools - 使用 BigPagePoolScanner 轉(zhuǎn)儲(chǔ)大頁面池
bioskbd - 從實(shí)模式內(nèi)存中讀取鍵盤緩沖區(qū)
cachedump - 從內(nèi)存中轉(zhuǎn)儲(chǔ)緩存的域哈希
callbacks - 打印系統(tǒng)范圍的通知例程
clipboard - 提取 Windows 剪貼板的內(nèi)容
cmdline - 顯示進(jìn)程命令行參數(shù)
cmdscan - 通過掃描 _COMMAND_HISTORY 來提取命令歷史記錄
connections - 打印打開的連接列表 [僅限 Windows XP 和 2003]
connscan - 用于 tcp 連接的池掃描器
consoles - 通過掃描 _CONSOLE_INFORMATION 提取命令歷史記錄
crashinfo - 轉(zhuǎn)儲(chǔ)崩潰轉(zhuǎn)儲(chǔ)信息
deskscan - tagDESKTOP(臺(tái)式機(jī))的 Poolscaner
devicetree - 顯示設(shè)備樹
dlldump - 從進(jìn)程地址空間轉(zhuǎn)儲(chǔ) DLL
dlllist - 打印每個(gè)進(jìn)程加載的 dll 列表
driverirp - 驅(qū)動(dòng)程序 IRP 掛鉤檢測(cè)
drivermodule - 將驅(qū)動(dòng)程序?qū)ο箨P(guān)聯(lián)到內(nèi)核模塊
driverscan - 驅(qū)動(dòng)程序?qū)ο蟮某貟呙杵?dumpcerts - 轉(zhuǎn)儲(chǔ) RSA 私有和公共 SSL 密鑰
dumpfiles - 提取內(nèi)存映射和緩存文件
dumpregistry - 將注冊(cè)表文件轉(zhuǎn)儲(chǔ)到磁盤
editbox - 顯示有關(guān)編輯控件的信息(列表框?qū)嶒?yàn))
envars - 顯示進(jìn)程環(huán)境變量
eventhooks - 在 Windows 事件掛鉤上打印詳細(xì)信息
evtlogs - 提取 Windows 事件日志(僅限 XP/2003)
filescan - 文件對(duì)象的池掃描器
gahti - 轉(zhuǎn)儲(chǔ) USER 句柄類型信息
gditimers - 打印已安裝的 GDI 計(jì)時(shí)器和回調(diào)
gdt - 顯示全局描述符表
getservicesids - 獲取 Registry 中的服務(wù)名稱并返回計(jì)算的 SID
getsids - 打印擁有每個(gè)進(jìn)程的 SID
handles - 打印每個(gè)進(jìn)程的打開句柄列表
hashdump - 從內(nèi)存中轉(zhuǎn)儲(chǔ)密碼哈希 (LM/NTLM)
hibinfo - 轉(zhuǎn)儲(chǔ)休眠文件信息
hivedump - 打印注冊(cè)表
hivelist - 打印注冊(cè)表配置單元列表
hivescan - 注冊(cè)表配置單元的池掃描程序
hpakextract - 從 HPAK 文件中提取物理內(nèi)存
hpakinfo - 有關(guān) HPAK 文件的信息
idt - 顯示中斷描述符表
iehistory - 重建 Internet Explorer 緩存/歷史
imagecopy - 將物理地址空間復(fù)制為原始 DD 映像
imageinfo - 識(shí)別圖像的信息
impscan - 掃描對(duì)導(dǎo)入函數(shù)的調(diào)用
joblinks - 打印進(jìn)程作業(yè)鏈接信息
kdbgscan - 搜索和轉(zhuǎn)儲(chǔ)潛在的 KDBG 值
kpcrscan - 搜索和轉(zhuǎn)儲(chǔ)潛在的 KPCR 值
ldrmodules - 檢測(cè)未鏈接的 DLL
limeinfo - 轉(zhuǎn)儲(chǔ) Lime 文件格式信息
linux_apihooks - 檢查用戶態(tài) apihooks
linux_arp - 打印 ARP 表
linux_aslr_shift - 自動(dòng)檢測(cè) Linux ASLR shift
linux_banner - 打印 Linux 橫幅信息
linux_bash - 從 bash 進(jìn)程內(nèi)存中恢復(fù) bash 歷史記錄
linux_bash_env - 恢復(fù)進(jìn)程的動(dòng)態(tài)環(huán)境變量
linux_bash_hash - 從 bash 進(jìn)程內(nèi)存中恢復(fù) bash 哈希表
linux_check_afinfo - 驗(yàn)證網(wǎng)絡(luò)協(xié)議的操作函數(shù)指針
linux_check_creds - 檢查是否有進(jìn)程共享憑證結(jié)構(gòu)
linux_check_evt_arm - 檢查異常向量表以查找系統(tǒng)調(diào)用表掛鉤
linux_check_fop - 檢查 rootkit 修改的文件操作結(jié)構(gòu)
linux_check_idt - 檢查 IDT 是否已被更改
linux_check_inline_kernel - 檢查內(nèi)聯(lián)內(nèi)核掛鉤
linux_check_modules - 將模塊列表與 sysfs 信息進(jìn)行比較(如果可用)
linux_check_syscall - 檢查系統(tǒng)調(diào)用表是否已更改
linux_check_syscall_arm - 檢查系統(tǒng)調(diào)用表是否已更改
linux_check_tty - 檢查 tty 設(shè)備的鉤子
linux_cpuinfo - 打印每個(gè)活動(dòng)處理器的信息
linux_dentry_cache - 從 dentry 緩存中收集文件
linux_dmesg - 收集 dmesg 緩沖區(qū)
linux_dump_map - 將選定的內(nèi)存映射寫入磁盤
linux_dynamic_env - 恢復(fù)進(jìn)程的動(dòng)態(tài)環(huán)境變量
linux_elfs - 在進(jìn)程映射中查找 ELF 二進(jìn)制文件
linux_enumerate_files - 列出文件系統(tǒng)緩存引用的文件
linux_find_file - 列出并從內(nèi)存中恢復(fù)文件
linux_getcwd - 列出每個(gè)進(jìn)程的當(dāng)前工作目錄
linux_hidden_modules - 雕刻內(nèi)存以查找隱藏的內(nèi)核模塊
linux_ifconfig - 收集活動(dòng)接口
linux_info_regs - 就像 GDB 中的“信息寄存器”。 它打印出所有
linux_iomem - 提供類似于 /proc/iomem 的輸出
linux_kernel_opened_files - 列出從內(nèi)核中打開的文件
linux_keyboard_notifiers - 解析鍵盤通知器調(diào)用鏈
linux_ldrmodules - 將 proc 映射的輸出與 libdl 中的庫列表進(jìn)行比較
linux_library_list - 列出加載到進(jìn)程中的庫
linux_librarydump - 將進(jìn)程內(nèi)存中的共享庫轉(zhuǎn)儲(chǔ)到磁盤
linux_list_raw - 列出具有混雜套接字的應(yīng)用程序
linux_lsmod - 收集加載的內(nèi)核模塊
linux_lsof - 列出文件描述符及其路徑
linux_malfind - 尋找可疑的進(jìn)程映射
linux_memmap - 轉(zhuǎn)儲(chǔ) linux 任務(wù)的內(nèi)存映射
linux_moddump - 提取加載的內(nèi)核模塊
linux_mount - 收集掛載的 fs/devices
linux_mount_cache - 從 kmem_cache收集掛載的 fs/devices
linux_netfilter - 列出 Netfilter 鉤子
linux_netscan - 雕刻網(wǎng)絡(luò)連接結(jié)構(gòu)
linux_netstat - 列出打開的套接字
linux_pidhashtable - 通過 PID 哈希表枚舉進(jìn)程
linux_pkt_queues - 將每個(gè)進(jìn)程的數(shù)據(jù)包隊(duì)列寫入磁盤
linux_plthook - 掃描 ELF 二進(jìn)制文件的 PLT 以獲取非需要圖像的掛鉤
linux_proc_maps - 收集進(jìn)程內(nèi)存映射
linux_proc_maps_rb - 通過映射紅黑樹為 linux 收集進(jìn)程映射
linux_procdump - 將進(jìn)程的可執(zhí)行映像轉(zhuǎn)儲(chǔ)到磁盤
linux_process_hollow - 檢查進(jìn)程空心的跡象
linux_psaux - 收集進(jìn)程以及完整的命令行和開始時(shí)間
linux_psenv - 收集進(jìn)程及其靜態(tài)環(huán)境變量
linux_pslist - 通過遍歷 task_struct->task 列表來收集活動(dòng)任務(wù)
linux_pslist_cache - 從 kmem_cache 收集任務(wù)
linux_psscan - 掃描進(jìn)程的物理內(nèi)存
linux_pstree - 顯示進(jìn)程之間的父/子關(guān)系
linux_psxview - 使用各種進(jìn)程列表查找隱藏進(jìn)程
linux_recover_filesystem - 從內(nèi)存中恢復(fù)整個(gè)緩存文件系統(tǒng)
linux_route_cache - 從內(nèi)存中恢復(fù)路由緩存
linux_sk_buff_cache - 從 sk_buff kmem_cache 中恢復(fù)數(shù)據(jù)包
linux_slabinfo - 在運(yùn)行的機(jī)器上模擬 /proc/slabinfo
linux_strings - 將物理偏移量與虛擬地址匹配(可能需要一段時(shí)間,非常冗長)
linux_threads - 打印進(jìn)程的線程
linux_tmpfs - 從內(nèi)存中恢復(fù) tmpfs 文件系統(tǒng)
linux_truecrypt_passphrase - 恢復(fù)緩存的 Truecrypt 密碼
linux_vma_cache - 從 vm_area_struct 緩存中收集 VMA
linux_volshell - 內(nèi)存映像中的 Shell
linux_yarascan - Linux 內(nèi)存映像中的 shell
lsadump - 從注冊(cè)表中轉(zhuǎn)儲(chǔ)(解密的)LSA 機(jī)密
mac_adium - 列出 Adium 消息
mac_apihooks - 檢查進(jìn)程中的 API 掛鉤
mac_apihooks_kernel - 檢查系統(tǒng)調(diào)用和內(nèi)核函數(shù)是否被掛鉤
mac_arp - 打印 arp 表
mac_bash - 從 bash 進(jìn)程內(nèi)存中恢復(fù) bash 歷史記錄
mac_bash_env - 恢復(fù) bash 的環(huán)境變量
mac_bash_hash - 從 bash 進(jìn)程內(nèi)存中恢復(fù) bash 哈希表
mac_calendar - 從 Calendar.app 獲取日歷事件
mac_check_fop - 驗(yàn)證文件操作指針
mac_check_mig_table - 列出內(nèi)核 MIG 表中的整體
mac_check_syscall_shadow - 查找影子系統(tǒng)調(diào)用表
mac_check_syscalls - 檢查系統(tǒng)調(diào)用表?xiàng)l目是否被掛鉤
mac_check_sysctl - 檢查未知的 sysctl 處理程序
mac_check_trap_table - 檢查 mach 陷阱表?xiàng)l目是否被鉤住
mac_compressed_swap - 打印 Mac OS X VM 壓縮器統(tǒng)計(jì)數(shù)據(jù)并轉(zhuǎn)儲(chǔ)所有壓縮頁面
mac_contacts - 從 Contacts.app 獲取聯(lián)系人姓名
mac_dead_procs - 打印終止/取消分配的進(jìn)程
mac_dead_sockets - 打印終止/取消分配的網(wǎng)絡(luò)套接字
mac_dead_vnodes - 列出釋放的 vnode 結(jié)構(gòu)
mac_devfs - 列出文件緩存中的文件
mac_dmesg - 打印內(nèi)核調(diào)試緩沖區(qū)
mac_dump_file - 轉(zhuǎn)儲(chǔ)指定文件
mac_dump_maps - 轉(zhuǎn)儲(chǔ)進(jìn)程的內(nèi)存范圍,可選地包括壓縮交換中的頁面
mac_dyld_maps - 從 dyld 數(shù)據(jù)結(jié)構(gòu)中獲取進(jìn)程的內(nèi)存映射
mac_find_aslr_shift - 查找 10.8+ 圖像的 ASLR 移位值
mac_get_profile - 自動(dòng)檢測(cè) Mac 配置文件
mac_ifconfig - 列出所有設(shè)備的網(wǎng)絡(luò)接口信息
mac_interest_handlers - 列出 IOKit 興趣處理程序
mac_ip_filters - 報(bào)告任何掛鉤的 IP 過濾器
mac_kernel_classes - 列出內(nèi)核中加載的 c++ 類
mac_kevents - 顯示進(jìn)程的父/子關(guān)系
mac_keychaindump - 恢復(fù)可能的鑰匙串密鑰。 使用chainbreaker打開相關(guān)的keychain文件
mac_ldrmodules - 將 proc 映射的輸出與 libdl 中的庫列表進(jìn)行比較
mac_librarydump - 轉(zhuǎn)儲(chǔ)進(jìn)程的可執(zhí)行文件
mac_list_files - 列出文件緩存中的文件
mac_list_kauth_listeners - 列出 Kauth Scope 監(jiān)聽器
mac_list_kauth_scopes - 列出 Kauth 范圍及其狀態(tài)
mac_list_raw - 列出具有混雜套接字的應(yīng)用程序
mac_list_sessions - 枚舉會(huì)話
mac_list_zones - 打印活動(dòng)區(qū)域
mac_lsmod - 列出加載的內(nèi)核模塊
mac_lsmod_iokit - 列出通過 IOkit 加載的內(nèi)核模塊
mac_lsmod_kext_map - 列出加載的內(nèi)核模塊
mac_lsof - 列出每個(gè)進(jìn)程打開的文件
mac_machine_info - 打印有關(guān)樣本的機(jī)器信息
mac_malfind - 尋找可疑的進(jìn)程映射
mac_memdump - 將可尋址內(nèi)存頁轉(zhuǎn)儲(chǔ)到文件中
mac_moddump - 將指定的內(nèi)核擴(kuò)展寫入磁盤
mac_mount - 打印掛載的設(shè)備信息
mac_netstat - 列出每個(gè)進(jìn)程的活動(dòng)網(wǎng)絡(luò)連接
mac_network_conns - 列出來自內(nèi)核網(wǎng)絡(luò)結(jié)構(gòu)的網(wǎng)絡(luò)連接
mac_notesapp - 查找 Notes 消息的內(nèi)容
mac_notifiers - 檢測(cè)將鉤子添加到 I/O 工具包中的 rootkit(例如 LogKext)
mac_orphan_threads - 列出不映射回已知模塊/進(jìn)程的線程
mac_pgrp_hash_table - 遍歷進(jìn)程組哈希表
mac_pid_hash_table - 遍歷 pid 哈希表
mac_print_boot_cmdline - 打印內(nèi)核啟動(dòng)參數(shù)
mac_proc_maps - 獲取進(jìn)程的內(nèi)存映射
mac_procdump - 轉(zhuǎn)儲(chǔ)進(jìn)程的可執(zhí)行文件
mac_psaux - 在用戶區(qū)打印帶有參數(shù)的進(jìn)程 (**argv)
mac_psenv - 在用戶空間打印帶有環(huán)境的進(jìn)程 (**envp)
mac_pslist - 列出正在運(yùn)行的進(jìn)程
mac_pstree - 顯示進(jìn)程的父/子關(guān)系
mac_psxview - 使用各種進(jìn)程列表查找隱藏進(jìn)程
mac_recover_filesystem - 恢復(fù)緩存的文件系統(tǒng)
mac_route - 打印路由表
mac_socket_filters - 報(bào)告套接字過濾器
mac_strings - 將物理偏移量與虛擬地址匹配(可能需要一段時(shí)間,非常冗長)
mac_tasks - 列出活動(dòng)任務(wù)
mac_threads - 列出進(jìn)程線程
mac_threads_simple - 列出線程及其開始時(shí)間和優(yōu)先級(jí)
mac_timers - 報(bào)告內(nèi)核驅(qū)動(dòng)程序設(shè)置的定時(shí)器
mac_trustedbsd - 列出惡意的trustedbsd 策略
mac_version - 打印 Mac 版本
mac_vfsevents - 列出過濾文件系統(tǒng)事件的進(jìn)程
mac_volshell - 內(nèi)存映像中的外殼
mac_yarascan - 掃描內(nèi)存中的 yara 簽名
machoinfo - 轉(zhuǎn)儲(chǔ) Mach-O 文件格式信息
malfind - 查找隱藏和注入的代碼
mbrparser - 掃描并解析潛在的主引導(dǎo)記錄 (MBR)
memdump - 轉(zhuǎn)儲(chǔ)進(jìn)程的可尋址內(nèi)存
memmap - 打印內(nèi)存映射
messagehooks - 列出桌面和線程窗口消息掛鉤
mftparser - 掃描并解析潛在的 MFT 條目
moddump - 將內(nèi)核驅(qū)動(dòng)程序轉(zhuǎn)儲(chǔ)到可執(zhí)行文件示例
modscan - 內(nèi)核模塊的池掃描器
modules - 打印加載模塊的列表
multiscan - 一次掃描各種對(duì)象
mutantscan - 互斥對(duì)象的池掃描器
netscan - 掃描 Vista(或更高版本)圖像的連接和套接字
notepad - 列出當(dāng)前顯示的記事本文本
objtypescan - 掃描 Windows 對(duì)象類型對(duì)象
patcher - 基于頁面掃描修補(bǔ)內(nèi)存
poolpeek - 可配置的池掃描器插件
pooltracker - 顯示池標(biāo)簽使用的摘要
printkey - 打印注冊(cè)表項(xiàng)及其子項(xiàng)和值
privs - 顯示進(jìn)程權(quán)限
procdump - 將進(jìn)程轉(zhuǎn)儲(chǔ)到可執(zhí)行文件示例
pslist - 按照 EPROCESS 列表打印所有正在運(yùn)行的進(jìn)程
psscan - 進(jìn)程對(duì)象的池掃描器
pstree - 將進(jìn)程列表打印為樹
psxview - 使用各種進(jìn)程列表查找隱藏進(jìn)程
qemuinfo - 轉(zhuǎn)儲(chǔ) Qemu 信息
raw2dmp - 將物理內(nèi)存樣本轉(zhuǎn)換為 windbg 故障轉(zhuǎn)儲(chǔ)
screenshot - 保存基于 GDI 窗口的偽截圖
servicediff - 列出 Windows 服務(wù)(ala Plugx)
sessions - 列出 _MM_SESSION_SPACE 的詳細(xì)信息(用戶登錄會(huì)話)
shellbags - 打印 ShellBags 信息
shimcache - 解析應(yīng)用程序兼容性 Shim Cache 注冊(cè)表項(xiàng)
shutdowntime - 從注冊(cè)表打印機(jī)器的 ShutdownTime
sockets - 打印打開的套接字列表
sockscan - tcp 套接字對(duì)象的池掃描器
ssdt - 顯示 SSDT 條目
strings - 將物理偏移量與虛擬地址匹配(可能需要一段時(shí)間,非常冗長)
svcscan - 掃描 Windows 服務(wù)
symlinkscan - 符號(hào)鏈接對(duì)象的池掃描器
thrdscan - 線程對(duì)象的池掃描器
threads - 調(diào)查 _ETHREAD 和 _KTHREADs
timeliner - 從內(nèi)存中的各種工件創(chuàng)建時(shí)間線
timers - 打印內(nèi)核定時(shí)器和相關(guān)的模塊 DPC
truecryptmaster - 恢復(fù) TrueCrypt 7.1a 主密鑰
truecryptpassphrase - TrueCrypt 緩存密碼短語查找器
truecryptsummary - TrueCrypt 總結(jié)
unloadedmodules - 打印已卸載模塊的列表
userassist - 打印 userassist 注冊(cè)表項(xiàng)和信息
userhandles - 轉(zhuǎn)儲(chǔ) USER 句柄表
vaddump - 將 vad 部分轉(zhuǎn)儲(chǔ)到文件中
vadinfo - 轉(zhuǎn)儲(chǔ) VAD 信息
vadtree - 遍歷 VAD 樹并以樹格式顯示
vadwalk - 走 VAD 樹
vboxinfo - 轉(zhuǎn)儲(chǔ) virtualbox 信息
verinfo - 從 PE 圖像中打印出版本信息
vmwareinfo - 轉(zhuǎn)儲(chǔ) VMware VMSS/VMSN 信息
volshell - 內(nèi)存映像中的 Shell
win10cookie - 查找 Windows 10 的 ObHeaderCookie 值
windows - 打印桌面窗口(詳細(xì)信息)
wintree - 打印Z順序桌面Windows樹
wndscan - 用于窗口站的池掃描儀
yarascan - 使用 Yara 簽名掃描進(jìn)程或內(nèi)核內(nèi)存
Scanner Checks
--------------
CheckPoolSize - 檢查池塊大小
CheckPoolType - 檢查池類型
KPCRScannerCheck - 檢查自引用指針以查找KPCR
MultiPrefixFinderCheck - 每頁檢查多個(gè)字符串,在偏移處完成
MultiStringFinderCheck - 每頁檢查多個(gè)字符串
PoolTagCheck - 此掃描程序檢查池標(biāo)記的出現(xiàn)
五 、使用方法
命令格式:volatility -f [image] --profile=[profile] [plugin]
1.系統(tǒng)基本信息(imageinfo)
--profile=
帶上鏡像imageinfo
列出鏡像基本信息
2. 用戶名密碼信息(hashdump)
hashdump
列出hash值mimikatz
直接破解哈希值(需要裝插件)lsadump
john
破解不出來 就查看強(qiáng)密碼
3. 查看進(jìn)程或隱藏或解鏈的進(jìn)程(pslist)
pslist
查看已知進(jìn)程psscan
查看進(jìn)程以及被rootkit
隱藏或解鏈的進(jìn)程
4. 掃描所有的文件列表(filescan)
filescan
掃描文件并列出,配合grep
命令進(jìn)行相關(guān)字(flag,,)
5. 查看當(dāng)前展示的notepad內(nèi)容 (notepad)
6. 查看服務(wù)(svcscan)
7. 查看命令行操作顯示cmd歷史命令 (cmdscan)
8. 查看注冊(cè)表配置單元(hivelist)
9.查看瀏覽器歷史記錄 (iehistory)
iehistory
獲取當(dāng)前系統(tǒng)瀏覽器搜索過的關(guān)鍵詞
10.查看網(wǎng)絡(luò)連接(netscan)
11.提取進(jìn)程(memdump)
- 需要指定偏移量
-Q
和輸出目錄-D
12.查看文件內(nèi)容(dmpfiles)
- 提取進(jìn)程
-p
進(jìn)程號(hào)-D
當(dāng)前輸出路徑 dump
出來的進(jìn)程文件,可以配合foremost
使用,分離里面的文件strings -E l ***.dmp | grep flag
查找flag
13.查看剪貼板信息(clipboard)
14.獲取主機(jī)名或查看注冊(cè)表鍵值(printkey)
15.查看環(huán)境變量(envars)
16.查看進(jìn)程樹(pstree)
pstree
列出父進(jìn)程與子進(jìn)程
六 、取證賽題(復(fù)現(xiàn))
1. Suspicion
①.使用命令: python2 vol.py -f mem.vmem imageinfo
獲取基本信息。
②.使用命令: python2 vol.py -f mem.vmem --profile=WinXPSP2x86 pslist
查看進(jìn)程。一個(gè)名為
TrueCrypt
的進(jìn)程!TrueCrypt
是一款加密軟件,那么我們就很容易能想到,suspicion
應(yīng)該是一個(gè)被TrueCrypt
加密的文件
③.使用命令: python2 vol.py -f mem.vmem --profile=WinXPSP2x86 memdump -p 2012 -D ./
-p
是PID
-D
是轉(zhuǎn)儲(chǔ)路徑將進(jìn)程轉(zhuǎn)儲(chǔ)出來得到2012.dmp
④.使用Elcomsoft Forensic Disk Decryptor
行破解。
2. 2021中職網(wǎng)絡(luò)安全國賽—內(nèi)存取證
①:從內(nèi)存中獲取到用戶admin的密碼并且破解密碼,以flag{admin,password}形式提交(密碼為6位);
使用john
進(jìn)行破解哈希 這里我們可以使用網(wǎng)站進(jìn)行解密:https://crackstation.net/
FLAG:{Administrator,999999}
②:獲取當(dāng)前系統(tǒng)ip地址和主機(jī)名,以flag{主機(jī)名,ip}形式提交;
python vol.py -f flag0043.raw --profile=Win2003SP1x86 sockets
python vol.py -f flag0043.raw --profile=Win2003SP1x86 printkey -K 'Controlset001\Control\Computername\Computername'
FLAG:{PYSYSTEM,192.168.200.157}
③:桌面上有一個(gè)flag文件,請(qǐng)獲取flag文件中的內(nèi)容;
python vol.py -f flag0043.raw --profile=Win2003SP1x86 filescan | grep flag
python vol.py -f flag0043.raw --profile=Win2003SP1x86 notepad D #讀取文本
④:惡意進(jìn)程在系統(tǒng)中注冊(cè)了服務(wù),請(qǐng)將服務(wù)名以flag{服務(wù)名}形式提交。
python vol.py -f flag0043.raw --profile=Win2003SP1x86 svcscan
FLAG:{backdoor}
3.福萊格殿下
①:使用命令:python2 vol.py -f zy.raw imageinfo
查看profile
為WinXPSP2x86
。
②:使用命令:python2 vol.py -f zy.raw --profile=WinXPSP2x86 iehistory
獲取瀏覽器歷史記錄
③:使用命令:python2 vol.py -f zy.raw --profile=WinXPSP2x86 filescan | grep hint
獲取瀏覽器歷史記錄
④:使用命令:python2 vol.py -f zy.raw --profile=WinXPSP2x86 dumpfiles -Q 0x0000000002052028 -D ./
hint.txt轉(zhuǎn)存
⑤:使用命令:python2 vol.py -f zy.raw --profile=WinXPSP2x86 dumpfiles -Q 0x0000000002052028 -D ./
繼續(xù)轉(zhuǎn)存fl4g.zip
修改后綴
使用StegSlove
打開flag.png
然后點(diǎn)擊Analyse->Image Combiner
打開flag.jpg
進(jìn)行異或會(huì)得到二維碼掃碼即可得到flag
。
4.OtterCTF
1. What the password?
you got a sample of rick’s PC’s memory. can you get his user password?
(你得到了瑞克電腦內(nèi)存的樣本,你能得到他的用戶密碼嗎?)
使用命令:python2 vol.py -f OtterCTF.vmem imageinfo
使用命令:python2 vol.py -f OtterCTF.vmem --profile=Win7SP1x64 hashdump
列出hash
值 這里需要使用mimikatz
使用命令:python2 vol.py -f OtterCTF.vmem --profile=Win7SP1x64 mimikatz
進(jìn)行破解。
FLAG{MortyIsReallyAnOtter}
2. General Info
Let’s start easy - whats the PC’s name and IP address?(讓我們從簡(jiǎn)單的開始–電腦的名稱和IP地址是什么?)
①.使用參數(shù)netscan
先找ip
②.使用hivelist
查看注冊(cè)表,發(fā)現(xiàn)有SYSTEM
使用 -K "ControlSet001\Control\ComputerName\ComputerName
獲取主機(jī)名。
FLAG:{192.168.202.131,WIN-LO6FAF3DTFE}
3. Play Time
Rick just loves to play some good old videogames. can you tell which game is he playing? whats the IP address of the server?(瑞克只是喜歡玩一些好的老式電子游戲,你能告訴他在玩哪個(gè)游戲嗎? 服務(wù)器的IP地址是什么?)
使用netscan
直接查看到游戲名與IP
FLAG:{77.102.199.102,LunarMS.exe}
4. Name Game
We know that the account was logged in to a channel called Lunar-3. what is the account name?(我們知道該賬戶登錄了一個(gè)名為Lunar-3的頻道。什么是賬戶名稱?)
FLAG:{0tt3r8r33z3}
5. Name Game 2
From a little research we found that the username of the logged on character is always after this signature: 0x64 0x??{6-8} 0x40 0x06 0x??{18} 0x5a 0x0c 0x00{2} What’s rick’s character’s name?(通過一點(diǎn)研究,我們發(fā)現(xiàn),登錄的字符的用戶名總是在這個(gè)簽名之后。0x64 0x??{6-8} 0x40 0x06 0x??{18} 0x5a 0x0c 0x00{2} 瑞克的角色叫什么名字?)
pslist
列出進(jìn)程將LunarMS.exe
進(jìn)行轉(zhuǎn)存,使用16
進(jìn)制編輯器查看
FLAG:{M0rtyL0L}
6. Silly Rick
Silly rick always forgets his email’s password, so he uses a Stored Password Services online to store his password. He always copy and paste the password so he will not get it wrong. whats rick’s email password?(愚蠢的瑞克總是忘記他的電子郵件的密碼,所以他使用在線存儲(chǔ)密碼服務(wù)來存儲(chǔ)他的密碼。他總是復(fù)制和粘貼密碼,這樣他就不會(huì)弄錯(cuò)。里克的電子郵件密碼是什么?)
FLAG{M@il_Pr0vid0rs}
7. Hide And Seek
The reason that we took rick’s PC memory dump is because there was a malware infection. Please find the malware process name (including the extension)(我們提取瑞克的電腦內(nèi)存轉(zhuǎn)儲(chǔ)的原因是有一個(gè)惡意軟件感染。請(qǐng)找到惡意軟件的進(jìn)程名稱(包括擴(kuò)展名)
pstree
查看進(jìn)程樹發(fā)現(xiàn)了一個(gè)vmware-tray.ex
比較可疑 搜索cmdline
FLAG:{vmware-tray.exe}
8. Path To Glory
How did the malware got to rick’s PC? It must be one of rick old illigal habits…(惡意軟件是如何進(jìn)入里克的電腦的?這一定是瑞克的一個(gè)老習(xí)慣…)
使用filescan | grep "Rick And Morty"
過濾出Rick
相關(guān)的文件,進(jìn)行轉(zhuǎn)存strings
進(jìn)行查看 得到FLAG
。
FLAG:{M3an_T0rren7_4_R!ck}
9. Path To Glory2
Continue the search after the the way that malware got in.(在惡意軟件進(jìn)入后繼續(xù)搜索。)
根據(jù)前面torrent
知道是種子文件,那肯定是通過谷歌瀏覽器下載的所以我們把思路放在chrome
進(jìn)程里面
filescan |grep -i "chrome.*history*"
進(jìn)行轉(zhuǎn)存,得到是個(gè)數(shù)據(jù)庫文件 發(fā)現(xiàn)該種子文件來源為一個(gè)mail
地址
搜索關(guān)鍵字|grep "mail.com"
找到了rickopicko@mail.com
郵件 繼續(xù)過濾搜關(guān)鍵字 |grep -E "rickypinky@mail.com" -C 10
10. Bit 4 Bit
We’ve found out that the malware is a ransomware. Find the attacker’s bitcoin address.(我們發(fā)現(xiàn)這個(gè)惡意軟件是勒索軟件。找到攻擊者的比特幣地址。)
把勒索病毒,以可執(zhí)行文件轉(zhuǎn)儲(chǔ)3720
進(jìn)程 使用procdump -p 3720 -D ./
使用逆向分析工具IDA
查看
FLAG:{1MmpEmebJkqXG8nQv4cjJSmxZQFVmFo63M}
11. Graphic’s For The Weak
There’s something fishy in the malware’s graphics.(惡意軟件的圖形中有些可疑。)
foremost
直接分離惡意程序得到圖片。
FLAG{S0_Just_M0v3_Socy}
12. Recovery
Rick got to have his files recovered! What is the random password used to encrypt the files?(里克得把他的檔案找回來!用于加密文件的隨機(jī)密碼是什么?)
通過 ILSpy
得知密碼長度為15
個(gè)字符,格式為computerName+“-”+userName+“”
+密碼
猜測(cè)就是第二題總拿到的主機(jī)名WIN-LO6FAF3DTFE
加上用戶名Rick
,使用strings
進(jìn)行搜索一下
FALG:{aDOBofVYUNVnmp7}
13.Closure
Now that you extracted the password from the memory, could you decrypt rick’s files?(既然你從內(nèi)存中提取了密碼,你能解密瑞克的文件嗎?)
filecsan | grep Flag
搜索關(guān)鍵字,進(jìn)行轉(zhuǎn)存
百度后知道這個(gè)惡意軟件就是HiddenTear
勒索軟件,先使用HiddenTear Bruteforcer
爆破出密鑰,再使用HiddenTearDecrypter
進(jìn)行解密
需要把文末的0
都刪了 在進(jìn)行爆破(因?yàn)槭歉彀眩?并將后綴修改為.png.locked
* 密鑰為:aDOBofVYUNVnmp7
打開HiddenTearDecrypter
,填寫密鑰Select Directory
選擇加密文件的目錄,點(diǎn)擊Decrypt
解密文件得到一張圖片使用WinHex
打開即可。
FLAG:{Im_Th@_B3S7_RicK_0f_Th3m_4ll}
5.[NEWSCTF2021] very-ez-dump
①:使用命令:python2 vol.py -f mem.raw imageinfo
獲取基本信息,得到profile
是Win7SP1x64
②:使用命令:python2 vol.py -f mem.raw --profile=Win7SP1x64 cmdscan
得到mumuzi
用戶密碼為(ljmmz)ovo
③:使用命令:python2 vol.py -f mem.raw --profile=Win7SP1x64 filescan | grep flag
得到mumuzi
用戶密碼為(ljmmz)ovo
④:使用命令:python2 vol.py -f mem.raw --profile=Win7SP1x64 dumpfiles - Q 0x000000003e4b2070 -D ./
輸入密碼得到flag
。
6.[湖湘杯2020] passwd
①:使用命令:python2 vol.py -f WIN-BU6IJ7FI9RU-20190927-152050.raw imageinfo
獲取基本信息,得到profile
是Win7SP1x86_23418
②使用命令:python2 vol.py -f WIN-BU6IJ7FI9RU-20190927-152050.raw --profile=Win7SP1x86_23418 hashdump
查看hash
值
7. [HDCTF] 你能發(fā)現(xiàn)什么蛛絲馬跡嗎?
①.查看鏡像基本信息,這里需要指定profile
為Win2003SP1x86
。
②.搜索flag
關(guān)鍵詞,發(fā)現(xiàn)存在flag.png
,進(jìn)行轉(zhuǎn)儲(chǔ)得到一張二維碼 掃碼得到:jfXvUoypb8p3zvmPks8kJ5Kt0vmEw0xUZyRGOicraY4=
③.查看一下列表在查看一下cmd
使用的命令 可以發(fā)現(xiàn)最后一個(gè)時(shí)間和別的不同 很可疑 pid
是1992
進(jìn)行轉(zhuǎn)存
④.使用binwalk
或者foremost
進(jìn)行分離得到了一個(gè)key
和iv
應(yīng)該是AES
加密最終得到flag
。
密文:jfXvUoypb8p3zvmPks8kJ5Kt0vmEw0xUZyRGOicraY4=
key: Th1s_1s_K3y00000
iv: 1234567890123456
8.[BMZCTF]內(nèi)存取證三項(xiàng)
題目描述:一天下午小白出去吃飯,臨走之前還不忘鎖了電腦,這時(shí)同寢室的小黑想搞點(diǎn)事情,懂點(diǎn)黑客和社工知識(shí)的小黑經(jīng)過多次嘗試獲得了密碼成功進(jìn)入電腦,于是便悄悄在電腦上動(dòng)起手腳了,便在桌面上寫著什么,想給小白一個(gè)驚喜,同時(shí)還傳送著小白的機(jī)密文件,正巧這時(shí)小白剛好回來,兩人都嚇了一跳,小黑也不管自己在電腦上留下的操作急忙離開電腦,故作淡定的說:“我就是隨便看看”。
1.小黑寫的啥,據(jù)說是flag?
2.那么問題來了,小白的密碼是啥?
3.小黑發(fā)送的機(jī)密文件里面到底是什么
①.查看鏡像基本信息profile
為Win2003SP1x86
。
②.查看cmd
記錄這里nc
下載了一個(gè)壓縮包,找到壓縮包位置進(jìn)行轉(zhuǎn)存,再看一下文本notepad
。
③.查看一下記事本,發(fā)現(xiàn)一串十六進(jìn)制數(shù),好像是ASCII
碼進(jìn)行轉(zhuǎn)換。
④.根據(jù)壓縮包的格式猜測(cè)密碼為八位數(shù) 使用john
進(jìn)行爆破 得到密碼為:19950101
9. [長安杯]樸實(shí)無華的取證
①.查看鏡像基本信息profile
為WinXPSP2x86
。
②.pslist
查看進(jìn)程 發(fā)現(xiàn)有文本 查看文本得到密碼(暫時(shí)沒用)過濾flag
相關(guān)字符 把相關(guān)文件轉(zhuǎn)存
③.zip
解壓需要密碼剛剛上面得到了:20211209
得到一個(gè)腳本 還有一張圖片
//幼兒園水平的加密(部分)
void Encrypt(string& str)
{
for(int i = 0; i < str.length(); i++)
{
if(str[i] >='a'&& str[i]<='w')
str[i]+=3;
else if(str[i]=='x')
str[i]='a';
else if(str[i]=='y')
str[i]='b';
else if(str[i]=='z')
str[i]='c';
else if(str[i]=='_')
str[i]='|';
str[i] -= 32;
}
}
④.使用大佬的腳本(不太會(huì)代碼)很明顯是之前的加密腳本加密之后的文本,寫腳本進(jìn)行解密得到flag。
strs = list(map(lambda x: chr(ord(x) + 32), "FDCB[8LDQ?ZLOO?FHUWDLQOB?VXFFHHG?LQ?ILJKWLQJ?WKH?HSLGHPLF]"))
for i, j in enumerate(strs):
if 'd' <= strs[i] <= 'z':
strs[i] = chr(ord(j) - 3)
match j:
case 'a':
strs[i] = 'x'
case 'b':
strs[i] = 'y'
case 'c':
strs[i] = 'z'
case '|':
strs[i] = '_'
print("".join(strs))
cazy{Xian_will_certainly_succeed_in_fighting_the_epidemic}
10.[安洵杯]Administrator 's_secret
①.查看鏡像基本信息profile
為Win7SP1x64
。
②.使用pslist
查看進(jìn)程cmdscan
查看cmd使用命令filescan |grep flag
過濾flag
關(guān)鍵字,轉(zhuǎn)存提取。
③.有個(gè)CnCrypt.exe
進(jìn)程,CnCrypt
是一款磁盤加密軟件 而且還有個(gè) flag.ccx
文件并且提示 flag.ccx
的密碼就是 Administrator
的密碼
④.抓取hashdump
密碼(這里mimikatz
報(bào)錯(cuò)用不了 python2.7
不支持下載模塊)密碼為:ABCabc123
⑤.使用CnCrypt
進(jìn)行解密輸入密碼 最后掛載磁盤即可得到flag
。
11.[護(hù)網(wǎng)杯]Easy_dump
①.查看鏡像基本信息profile
為Win7SP1x64
。
②.先列出進(jìn)程pslist
發(fā)現(xiàn)有個(gè)notepad.exe
別的也沒找到可利用信息 先給他轉(zhuǎn)存出來,提示有個(gè)jpg
文件。
③.filescan |grep .jpg
然后轉(zhuǎn)存得到圖片使用foremost
進(jìn)行分離得到一個(gè)文件在使用binwalk
分離得到一個(gè)hint.txt
④.使用腳本得到一張二維碼使用QR
進(jìn)行掃描 得到吉尼亞加密 密鑰:aeolus
加密文件被刪了需要我們恢復(fù)!
import matplotlib.pyplot as plt
import numpy as np
x = []
y = []
with open('hint.txt','r') as f:
datas = f.readlines()
for data in datas:
arr = data.split(' ')
x.append(int(arr[0]))
y.append(int(arr[1]))
plt.plot(x,y,'ks',ms=1)
plt.show()
Here is the vigenere key: aeolus, but i deleted the encrypted message。##這是vigenere密鑰:aeolus,但我刪除了加密消息
⑤.這里使用testdisk
這個(gè)工具(第一次使用)這里直接使用命令:testdisk message2.img
進(jìn)入界面小c
選擇大C
保存
這里使用ls -al
得到了一個(gè).message.swp
在使用cat .message.swp
得到加密后的密碼yise!dmsx_tthv_arr_didvi
進(jìn)行解碼。
維吉尼亞密碼在線:https://www.qqxiuzi.cn/bianma/weijiniyamima.php
12.數(shù)字取證–worldskills3(46界湖北省技能大賽選拔賽)
1、從內(nèi)存中獲取到用戶admin的密碼并且破解密碼,以Flag{admin,password} 形式提交(密碼為 6 位);
①.先通過imageinfo
獲取系統(tǒng)信息profile=Win7SP1x64
②.hashdump或者lsadump
這里直接加載mimikatz
兩種方法都可以。
FLAG:flag{406990ff88f13dac3c9debbc0769588c}
2、獲取當(dāng)前系統(tǒng) ip 地址及主機(jī)名,以 Flag{ip:主機(jī)名}形式提交;
①.使用netscan
查看網(wǎng)絡(luò)連接獲取到了ip
地址
②.使用hivelist
查詢注冊(cè)表,在接著查詢鍵 hivedump -o 0xfffff8a000024010
③.直接使用-o 0xfffff8a000024010 printkey -K "ControlSet001\Control\ComputerName\ComputerName"
查看主機(jī)名
FLAG{192.168.85.129:WIN-9FBAEH4UV8C}
3、獲取當(dāng)前系統(tǒng)瀏覽器搜索過的關(guān)鍵詞,作為 Flag 提交;
使用filescan | grep flag
搜索關(guān)鍵字,進(jìn)行轉(zhuǎn)存 查看即可得到flag
。
FLAG{180d163ca48c793cb0db74fb96d6a882}
4、當(dāng)前系統(tǒng)中存在挖礦進(jìn)程,請(qǐng)獲取指向的礦池地址,以 Flag{ip:端口}形式 提交;
netscan
查看網(wǎng)絡(luò)連接 剛剛看了其實(shí)就是礦池地址池可能是本地也可能是國外地址
FLAG{192.168.85.129:49163} 或{54.36.109.161:2222}
5、惡意進(jìn)程在系統(tǒng)中注冊(cè)了服務(wù),請(qǐng)將服務(wù)名以 Flag{服務(wù)名}形式提交。
根據(jù)上一題知道了pid
為2588
進(jìn)行關(guān)鍵字搜索 pslist | grep 2588
繼續(xù)查看父進(jìn)程3036
然后導(dǎo)出 進(jìn)行查看
FLAG{VMnetDHCP}
6、獲取惡意代碼的進(jìn)程名pid
上題可知2588
和3036
都是惡意進(jìn)程
FLAG{2588,3036}
7、病毒在自我刪除時(shí)執(zhí)行的命令是什么?(病毒進(jìn)入系統(tǒng)后會(huì)刪除原始文件,請(qǐng)獲取文件刪除時(shí)執(zhí)行的命令)
進(jìn)行轉(zhuǎn)存 然后在內(nèi)存文件中查尋del
關(guān)鍵字
cmd.exe /C @ping -n 15 127.0.0.1&del path/file> nul
七 、解決問題
PS:重點(diǎn)來了 mimikatz
后面得問題解決了,之前使用pip install construct
下載,版本比較低需要把它先卸載了在升級(jí)一下pip
。
pip2 install --upgrade pip setuptools -i https://pypi.tuna.tsinghua.edu.cn/simple #使用清華源
pip2 install construct==2.5.5-reupload -i https://pypi.tuna.tsinghua.edu.cn/simple
文章來源:http://www.zghlxwxcb.cn/news/detail-463770.html
八 、總結(jié):
這篇文章肝了一周,雖然很累但是學(xué)習(xí)到了新的知識(shí) 可能這就是學(xué)習(xí)的樂趣 然后寫的非常詳細(xì),比賽題目全部復(fù)現(xiàn)了,自己又加了一兩題,希望大家可以給個(gè)一件三聯(lián) 也是對(duì)我的一種鼓勵(lì)以及更加用心給大家更新優(yōu)質(zhì)文章??文章來源地址http://www.zghlxwxcb.cn/news/detail-463770.html
到了這里,關(guān)于Volatility2安裝使用以及CTF比賽題目(復(fù)現(xiàn))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!