一道ctf-内存取证volatility的学习使用

环境:kali

0x00 volatility官方文档

https://github.com/volatilityfoundation/volatility

在分析之前,需要先判断当前的镜像信息,分析出是哪个操作系统

volatility imageinfo -f Advertising\ for\ Marriage.raw

一道ctf-内存取证volatility的学习使用_第1张图片

知道镜像后,就可以在 –profile 中带上对应的操作系统(我不加也行emmm,严谨点就加吧)

0x01 列出进程列表

volatility pslist -f Advertising\ for\ Marriage.raw  --profile=WinXPSP2x86

一道ctf-内存取证volatility的学习使用_第2张图片

提取cmd命令历史记录

volatility -f Advertising\ for\ Marriage.raw cmdscan --profile=WinXPSP2x86

根据你的经验(可根据每个进程的开始结束时间),发现比较可疑的进程有

DumpIt.exe 180(好吧这是正在进行内存取证)

mspaint.exe 332(画图,应该蛮重要的)

spoolsv.exe 1472(打印机和服务)题目背景是结婚广告(所以打印跟画图应该有用,没看到ps进程)

notepad.exe 1056(notepad,everyone know)

查看当前展示的 notepad 文本

volatility notepad -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86

一道ctf-内存取证volatility的学习使用_第3张图片

根据进程的 pid dump出指定进程到指定的文件夹--dump_dir=XX/(或者-D )

volatility -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 memdump -p 332 -D XX/

-p 进程号 -D 当前输出路径(导出为332.dmp)

dump出来的进程文件,可以使用 foremost 来分离里面的文件,用 binwak -e 不推荐

查找关键字flag

strings -e l 2040.dmp | grep flag

把结果存放在1.txt上

strings -e l 2040.dmp | grep flag > 1.txt

强荐安装gimp

将2040.dmp copy一份重命名为2040.data,使用Gimp打开,打开方式选择"原始图像数据"

疯狂调分辨率

sudo apt-get install gimp gimp-plugin-registry gimp-data-extras
volatility screenshot -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 --dump-dir=out

对当前的窗口界面,生成屏幕截图(上)

扫描所有的文件列表

volatility filescan -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86

扫描所有的图片

volatility -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 filescan | grep "jpg\|jpeg\|png\|tif\|gif\|bmp"

扫描所有的文档

volatility -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 filescan | grep "doc\|docx\|rtf"

扫描桌面路径(根据实际情况选择中英)

volatility -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 filescan | grep "Desktop"
volatility -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 filescan | grep "桌面"

一道ctf-内存取证volatility的学习使用_第4张图片

根据显示dump出文件

volatility -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 dumpfiles -D XX/ -Q 0x0000000002310ef8

我太菜了QAQ

继续学习!!!

查看当前操作系统中的 password hash,例如 Windows 的 SAM 文件内容

volatility hashdump -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86

扫描 Windows 的服务列表

volatility svcscan -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 

查看网络连接

volatility connscan -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86

查看命令行输入

volatility -f Advertising\ for\ Marriage.raw cmdline --profile=WinXPSP2x86

扫描建立的连接和套接字(网络连接),类似于netstat

   netscan

 

好好看官方文档!仔细看!!

https://github.com/volatilityfoundation/volatility/wiki/Command-Reference#dumpfiles

参考资料:

volatility memory forensics cheat sheet.pdf

应用程序进程 wordpad.exe写字板 MineSweeper.exe扫雷 sshd.exe

OtterCTF取证

https://www.freebuf.com/news/145262.html

https://www.freebuf.com/column/152545.html稳。。。。

红队资料

Printer Exploitation Toolkit

https://www.andreafortuna.org/2017/07/17/volatility-my-own-cheatsheet-part-4-kernel-memory-and-objects/

volatility内核对象内存池

HDCTF

你可能感兴趣的:(一道ctf-内存取证volatility的学习使用)