一篇适用于本人电脑的kali机volatility取证教程(含例题)
下载地址 https://www.volatilityfoundation.org/26
直接点进去下Linux版本的,然后解压缩包把文件放到usr/sbin文件夹(习惯)
把文件夹和可执行文件都改名为volatility(在root下进行)
配置环境变量
vim /etc/environment
然后摁一下a
然后在PATH那一行加上:/usr/sbin/volatility
然后按Esc
然后输入:wq
然后回车
然后检查
echo $PATH
有刚才这个路径就成
查看镜像版本
volatility -f OtterCTF.vmem imageinfo
找密码
volatility -f OtterCTF.vmem --profile=Win7SP1x64 hashdump
如果题目没说什么用户名之类的一般就是第三个的后边那串拿去md5,解密网址 https://md5.cn/#/
解不出来还可以试试
volatility -f OtterCTF.vmem --profile=Win7SP1x64 lsadump
也是找密码的
还有的教程说要先查看注册表
volatility -f OtterCTF.vmem --profile=Win7SP1x64 hivelist
然后找到SYSTEM和SAM和他们的virtual 地址
然后使用这个
volatility -f OtterCTF.vmem --profile=Win7SP1x64 hashdump -y 0xfffff8a000024010 -s 0xfffff8a0016d4010
就是-y加的是SYSTEM的virtual地址,-s加的是SAM的
不过效果一样,没搞懂区别在哪
扫描可疑文件
volatility -f OtterCTF.vmem --profile=Win7SP1x64 filescan | grep Flag
一般可以搜txt这类的,因为flag不知道是大写还是小写,也可以用filescan全看一遍
然后要想弄出来哪个文件就
volatility -f OtterCTF.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007e410890 --dump-dir=./
然后就会volatility那个文件夹里找就行
找IP地址
volatility -f OtterCTF.vmem --profile=Win7SP1x64 netscan
像这种出现多次的差不多就是了
找主机名称
先查看注册表,然后找到SYSTEM的virtual地址
volatility -f OtterCTF.vmem --profile=Win7SP1x64 hivelist
再用printkey
volatility -f OtterCTF.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey
然后就得有耐心的一个一个找了
volatility -f OtterCTF.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001"
volatility -f OtterCTF.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\Control"
这个computername就很有感觉
volatility -f OtterCTF.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\Control\ComputerName"
又有一个,胜利就在眼前
volatility -f OtterCTF.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\Control\ComputerName\ComputerName"
出现了
查看网络连接情况
volatility -f OtterCTF.vmem --profile=Win7SP1x64 netscan
这个可以用于查一些进程使用时的IP地址,比如说这个LunarMS.exe就是个游戏软件,它的IP就是这道题的flag
查找关键字
strings OtterCTF.vmem|grep Lunar-3 -A 3 -B 3
这个例子里的Lunar-3
是关键词,-A后加的是连带着显示后几行,-B是前几行
补充一些strings的命令
点击查看代码
-a --all:扫描整个文件而不是只扫描目标文件初始化和装载段
-f –print-file-name:在显示字符串前先显示文件名
-n –bytes=[number]:找到并且输出所有NUL终止符序列
- :设置显示的最少的字符数,默认是4个字符
-t --radix={o,d,x} :输出字符的位置,基于八进制,十进制或者十六进制
-o :类似--radix=o
-T --target= :指定二进制文件格式
-e --encoding={s,S,b,l,B,L} :选择字符大小和排列顺序:s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit
@ :读取中选项
还可以在很多个文件中一起查找
strings ./*dmp | grep "Rick And Morty season 1 download.exe.torrent" -A 10 -B 10
查看进程
volatility -f OtterCTF.vmem --profile=Win7SP1x64 psscan
把pslist可以替换成完成不同的功能
psxview : 可查看一些隐藏进程
pstree : 以树的形式来列出正在进行的进程,不会显示出隐藏或未链接的进程
看到可疑的或者要找的程序就给它弄出来(根据PID号)
volatility -f OtterCTF.vmem --profile=Win7SP1x64 memdump -p 708 -D ./
这里注明一下提取有两种方式
memdump:以dmp格式保存
procdump:直接提取
在volatility文件夹里可以找到
然后可以对这个dmp进行一些foremost,搜关键字之类的操作
这个题目是通过一点研究我们发现登录角色的用户名总是在这个签名之后:0x64 0x??{6-8} 0x40 0x06 0x??{18} 0x5a 0x0c 0x00{2} rick 的角色名字是什么?
那就可以hexdump一下
hexdump -C 708.dmp |grep "5a 0c 00" -A 3 -B 3
这有一个比较像的
查看剪切板(粘贴板)
volatility -f OtterCTF.vmem --profile=Win7SP1x64 clipboard
查看cmd的历史命令
volatility -f OtterCTF.vmem --profile=Win7SP1x64 cmdscan
查看指令的输入和输出
volatility -f OtterCTF.vmem --profile=Win7SP1x64 consoles
列出所有命令行下运行的程序
这个可以用来看都进行了什么操作,内容比较多
volatility -f OtterCTF.vmem --profile=Win7SP1x64 cmdline
查看编辑本
volatility -f OtterCTF.vmem --profile=Win7SP1x64 editbox
查看notepad
volatility -f OtterCTF.vmem --profile=Win7SP1x64 notepad
查看浏览器历史
volatility -f OtterCTF.vmem --profile=Win7SP1x64 iehistory
获取屏幕截图
volatility -f OtterCTF.vmem --profile=Win7SP1x64 screenshot --dump-dir=./
先写到这里,等再遇见新的再往里加,本篇的例题是OtterCTF这个比赛的题,它有一道题中需要用到procdump直接把可执行文件导出来,然后扔到dnspy或者ida里分析,所以取证很可能只是做题的第一步。
狠狠添加,发现有的时候有一步叫做获取用户信息,普遍的方法是使用mimikatz插件但是我没安(安不上
然后可以用Passware Kit Forensic 2022 v1 (64-bit) 找出答案
例题 [NSSRound#1 Basic]cut_into_thirds
这里有个part3 用mimikatz的话得到的应该是这样的
图源大佬博客
用 Passware Kit Forensic第一步点击内存分析
然后选择文件并且按情况勾选下边的
成功啦
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】