内存取证 volatility(上)

简介: 0xThrL狗蛋师傅整理的内存取证笔记 有问题可以联系狗蛋师傅VX:GD0xThrL

0xThrL狗蛋师傅整理的内存取证笔记   有问题可以联系狗蛋师傅VX:GD0xThrL7e1d089f7a0e4a129cc1f23706ebb25f.png

这是国赛里面有的内存取证相关的学习笔记绝对的详细


Volatility是一款开源的内存取证分析工具,支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证方式。该工具是由python开发的,目前支持python2、python3环境。目前作者已公布了两个版本的Volatility,Volatility2是基于py2环境,Volatility3是基于py3环境,接下来小编将带领大家分别对这两个环境进行安装。


这是国赛样题公布出的内存取证方向师傅们在练手


第二部分 数字取证调查(150分)


任务2 :基于Linux的内存取证(40分)


A集团某服务器系统感染恶意程序,导致系统关键文件被破坏,请分析A集团提供的系统镜像和内存镜像,找到系统镜像中的恶意软件,分析恶意软件行为。


本任务素材清单:存储镜像、内存镜像。


请按要求完成该部分的工作任务。

image.png


一、安装Volatility(Linux版)


  • 在volatility官网下载一个linux版本的安装包

dcd158a9e65efc3deb804ffd3087a092.png

下载下来的文件放到/usr/local/sbin目录下 用户自己编译的软件默认会安装到这个目录下(差不多就等于放可执行文件的)


  • 解压:unzip FileName.zip
  • 文件夹改名 mv FileName volatility

639374f17e73c0ca26a83ca837b5973a.png

在使用是可能会权限失败,那就单独吧文件拿出来使用

4dd0425d529d37deef4109a88f7c98e0.png

添加环境变量 echo $PATH

b4eba5b16370cb48be65ebdb51db8fa1.png

可以直接使用了

13f7567e5d1a3f744a7e10945f4f12d0.png


  • 可以直接分析 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 路径

9f1b43f92a3b92ff5b6d1e4f5208ddfb.png

查看命令行操作

volatility -f xxx.vmem --profile=Win7sp1x64 cmdscan


找计算机用户名 步骤

volatility -f xxx.vmem --profile=Win7sp1x64 hivelist 查看注册表

找到system的位置 我这里是0xfffff8a000024010

4676ca6cbe501d1bbe6e9461ace67f4a.png


  • 打开注册表键值
volatility -f xxx.vmem --profile=Win7sp1x64 printkey


volatility -f xxx.vmem --profile=Win7sp1X64 -o 0xfffffffffffff(system地址)printkey 指定查看 查看system的注册表用户有哪些

9cff742578fb7e8247606e5611744991.png

volatility -f xxx.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\(键值)" 查看system注册表键值

81dba538f67ee04a8cca9874ec3f1db2.png

  • 一定要注意的是反斜杠 \\\\\\\\\\ 一般计算机名都在“ControlSet001\Control\ComputerName\ComputerName”
  • 此题的计算机名就在此

7549660ec07158da83e62bda68d7a2be.png

注册表数据

volatility -f xxx.vmem --profile=Win7sp1x64 hivelist (找注册表system位置)

7ecc9738990c40b90591cd860f2beae5.png

volatility -f xxx.vmem --profile=Win7sp1x64 hivedump -o 0xfffff8a000024010(注册表的Virtual)

86abe23ec85b6c8966a04829d5f49da5.png

查看网络连接

volatility -f xxx.vmem --profile=win7sp1x64 netscan

image.png


  • 查看Windows服务
volatility -f xxx.vmem --profile=Win7SP1x64 svcscan

查看浏览器历史记录

volatility -f xxx.vmem --profile=Win7SP1x64 iehistory

e6e40cb9299cf89d5251d95189fee6f7.png

查看剪切板数据

volatility -f xxx.vmem --profile=Win7SP1x64 clipboard

6d69107792f035d68a2cb6685a5b9b03.png

  • 加参数 -v 可以到处数据
volatility -f xxx.vmem --profile=Win7SP1x64 clipboard -v >clip.txt

4dd73e847638d8c92b811f990d37886e.png

查看所有进程

volatility -f xxx.vmem --profile=Win7sp1x64 dilllist

加参数 -p [PID] 可以看进程相关的dll文件列表

762316908a389e3558fbc248f716ece0.png

获取内存中正在运行的程序

volatility -f xxx.vmem --profile=Win7sp1x64 userassist

a75f481f134e59cd1fa74b42268cd877.png

 除了这些命令以外,在取证中还会用到一些命令  我也给大家整理了一下  

grep xxx -A 5 -B 5 / grep xxx -C 5
-A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
-C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
binwalk xxx.exe 分析文件


目录
相关文章
|
6月前
|
存储 Linux Android开发
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility 是一个完全开源的工具,用于从内存 (RAM) 样本中提取数字工件。支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证。针对竞赛这块(CTF、技能大赛等)基本上都是用在Misc方向的取证题上面,很多没有听说过或者不会用这款工具的同学在打比赛的时候就很难受。以前很多赛项都是使用vol2.6都可以完成,但是由于操作系统更新,部分系统2.6已经不支持了,如:Win10 等镜像,而Volatility3是支持这些新版本操作系统的。
|
7月前
|
安全 Linux Python
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility3内存取证工具安装及入门在Linux下的安装教程
|
7月前
|
安全 Python Linux
Kali Linux下Volatility2.6常见问题疑难杂症-内存取证信息安全管理与评估
Kali Linux下Volatility2.6常见问题疑难杂症-内存取证信息安全管理与评估
Kali Linux下Volatility2.6常见问题疑难杂症-内存取证信息安全管理与评估
|
7月前
|
数据安全/隐私保护 Python Windows
Volatility2.6内存取证工具安装及入门-2
Volatility2.6内存取证工具安装及入门
Volatility2.6内存取证工具安装及入门-2
|
7月前
|
安全 Python Linux
Volatility2.6内存取证工具安装及入门-1
Volatility2.6内存取证工具安装及入门
Volatility2.6内存取证工具安装及入门-1
|
安全 PHP 网络虚拟化
windows内存取证-简单
作为 Security Blue 团队的成员,您的任务是使用 Redline 和 Volatility 工具分析内存转储。您的目标是跟踪攻击者在受感染计算机上采取的步骤,并确定他们如何设法绕过网络入侵检测系统“NIDS”。您的调查将涉及识别攻击中使用的特定恶意软件系列及其特征。此外,您的任务是识别和缓解攻击者留下的任何痕迹或足迹。
|
安全 文件存储 数据安全/隐私保护
windows内存取证-中等难度-下篇
承接上文,我们继续学习
|
存储 安全 数据安全/隐私保护
Windows内存取证-中等难度 -上篇
此篇文章,主要学习到windows内存取证知识,此次学习将有3个场景,涉及内网横向域控等
|
缓存
内存取证工具Volatility学习(下)
内存取证工具Volatility学习
219 0
|
4月前
|
存储 编译器 C语言
【C语言篇】数据在内存中的存储(超详细)
浮点数就采⽤下⾯的规则表⽰,即指数E的真实值加上127(或1023),再将有效数字M去掉整数部分的1。
394 0