0xThrL狗蛋师傅整理的内存取证笔记 有问题可以联系狗蛋师傅VX:GD0xThrL
这是国赛里面有的内存取证相关的学习笔记绝对的详细
Volatility是一款开源的内存取证分析工具,支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证方式。该工具是由python开发的,目前支持python2、python3环境。目前作者已公布了两个版本的Volatility,Volatility2是基于py2环境,Volatility3是基于py3环境,接下来小编将带领大家分别对这两个环境进行安装。
这是国赛样题公布出的内存取证方向师傅们在练手
第二部分 数字取证调查(150分)
任务2 :基于Linux的内存取证(40分)
A集团某服务器系统感染恶意程序,导致系统关键文件被破坏,请分析A集团提供的系统镜像和内存镜像,找到系统镜像中的恶意软件,分析恶意软件行为。
本任务素材清单:存储镜像、内存镜像。
请按要求完成该部分的工作任务。
一、安装Volatility(Linux版)
- 在volatility官网下载一个linux版本的安装包
下载下来的文件放到/usr/local/sbin目录下 用户自己编译的软件默认会安装到这个目录下(差不多就等于放可执行文件的)
- 解压:unzip FileName.zip
- 文件夹改名 mv FileName volatility
在使用是可能会权限失败,那就单独吧文件拿出来使用
添加环境变量 echo $PATH
可以直接使用了
- 可以直接分析 vmem文件
二、Volatility命令大全
volatility -f xxx.vmem imageinfo 分析系统 第一步 知道系统后加上 profile=xxxx
- 查看用户名和密码
volatility -f xxx.vmem profile=Win7SP1x64 hashdump/lsadump
查看进程
volatility -f xxx.vmem --profile=Win7sp1x64 pslist/pstree(与pslist差不多,但可以识别子进程和父进程)/psscan显示隐藏进程
- 提取进程
volatility -f xxx.vmem --profile=Win7sp1x64 memdump -p [PID] -D 保存路径 以dump形式保存
volatility -f xxx.vmem --profile=Win7sp1x64 procdump -p [PID] -D 保存路径 以exe形式保存
- 同时还支持输入 --offset地址的方式来提取一些无法从pid提的进程
volatility -f xxx.vmem --profile=Win7sp1x64 procdump --offset 0x7d789b50 -D 路径
查看命令行操作
volatility -f xxx.vmem --profile=Win7sp1x64 cmdscan
找计算机用户名 步骤
volatility -f xxx.vmem --profile=Win7sp1x64 hivelist 查看注册表
找到system的位置 我这里是0xfffff8a000024010
- 打开注册表键值
volatility -f xxx.vmem --profile=Win7sp1x64 printkey
volatility -f xxx.vmem --profile=Win7sp1X64 -o 0xfffffffffffff(system地址)printkey 指定查看 查看system的注册表用户有哪些
volatility -f xxx.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\(键值)" 查看system注册表键值
- 一定要注意的是反斜杠 \\\\\\\\\\ 一般计算机名都在“ControlSet001\Control\ComputerName\ComputerName”
- 此题的计算机名就在此
注册表数据
volatility -f xxx.vmem --profile=Win7sp1x64 hivelist (找注册表system位置)
volatility -f xxx.vmem --profile=Win7sp1x64 hivedump -o 0xfffff8a000024010(注册表的Virtual)
查看网络连接
volatility -f xxx.vmem --profile=win7sp1x64 netscan
- 查看Windows服务
volatility -f xxx.vmem --profile=Win7SP1x64 svcscan
查看浏览器历史记录
volatility -f xxx.vmem --profile=Win7SP1x64 iehistory
查看剪切板数据
volatility -f xxx.vmem --profile=Win7SP1x64 clipboard
- 加参数 -v 可以到处数据
volatility -f xxx.vmem --profile=Win7SP1x64 clipboard -v >clip.txt
查看所有进程
volatility -f xxx.vmem --profile=Win7sp1x64 dilllist
加参数 -p [PID] 可以看进程相关的dll文件列表
获取内存中正在运行的程序
volatility -f xxx.vmem --profile=Win7sp1x64 userassist
除了这些命令以外,在取证中还会用到一些命令 我也给大家整理了一下
grep xxx -A 5 -B 5 / grep xxx -C 5 -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。 -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。 -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。 binwalk xxx.exe 分析文件