Volatility取证使用笔记 ——这玩意就是在沙箱中运行 dump内存等信息
生成内存dump文件
因为Volatility分析的是内存dump文件,所以我们需要对疑似受到攻击的系统抓取内存dump.主要有3种方法来抓取内存dump.
利用沙箱能够生成内存文件的特性
首先要修改一下cuckoo.conf以及reporting.conf这两个配置文件用以启用生成内存dump的选项
----可以看到这个工具是dump运行内存。。。
Volatility取证使用笔记
最近简单的了解了一下Volatility这个开源的取证框架,这个框架能够对导出的内存镜像镜像分析,能过通过获取内核的数据结构,使用插件获取内存的详细情况和运行状态,同时可以直接dump系统文件,屏幕截图,查看进程等等等等~~~
0x01 安装
安装分为三步走:
-
-
安装必要的python依赖文件
-
安装本体
下载
你可以在Release中找到对应你系统(Mac,Win,Linux)的源代码,当然也可以通过github去获取源码:
git clone https://github.com/volatilityfoundation/volatility.git
依赖
如果只是用Volatility本体,就不要安装这些依赖,但是如果想使用某些插件,就需要对这些以依赖进行安装·
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
安装
如果你用的是独立的win、linux、mac执行文件,那就不必安装了。只要用python去执行就好。
若是下载了压缩文件,那你可以选择直接运行python主程序,也可以选择使用python setup.py install的方式将Volatility以一个库的形式安装在系统的特定位置上,从而以后我们可以将Volatility作为一个库在其他脚本中去引用namespace。
0x02 使用
kali自带有volatility,于是我直接在kali山进行操作
我这里也直接用我这两天看的一道CTF的题目作为实例来操作吧
Imageinfo
这个命令可以用来获取内存镜像的摘要信息,比如系统版本,硬件构架等
volatility -f wuliao.data imageinfo
通过Suggested Profile(s) 我们可以知道这个镜像文件的版本最有可能事Win7SP1x64
可以使用--info参数来查看Volatility已经添加的profile和插件信息
Kdbgscan
这个插件可以扫描文件的profile的值,通常扫描结果有多个,只有一个结果是完全正确的,kdbgscan和imageinfo都只适用于windows的镜像
Pslist
volatility -f wuliao.data --profile=Win7SPx64 pslist
pslist可以直接列出运行的进程,如果进程已经结束,会在Exit列显示日期和时间,表明进程已经结束
Hivelist
列举缓存在内存中的注册表
volatility -f wuliao.data --profile=Win7SP1x64 hivelist
filescan
扫描内存中的文件
volatility -f wuliao.data --profile=Win7SP1x64 filescan
filescan 也可以结合grep命令来进行筛选,比如
volatility -f wuliao.data --profile=Win7SP1x64 filescan |grep "doc\|docx\|rtf"
也可以
volatility -f wuliao.data --profile=Win7SP1x64 filescan |grep "flag"
Dumpfiles
导出内存中缓存的文件
我直接导出上面搜索flag得到的flag.jpeg文件
volatility -f wuliao.data --profile=Win7SP1x64 dumpfiles -Q 0x000000007f142f20 -D ./ -u
Cmdscan/cmdline
提取内存中保留的cmd命令使用情况
volatility -f wuliao.data --profile=Win7SP1x64 cmdline
查看截图
volatility -f wuliao.data --profile=Win7SP1x64 screenshot --dump-dir=./
查看系统用户名
volatility -f wuliao.data --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"
查看网络连接
volatility -f wuliao.data --profile=Win7SP1x64 netscan
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2019-06-21 Spark中Task,Partition,RDD、节点数、Executor数、core数目(线程池)、mem数
2018-06-21 卡尔曼滤波——基本假设(1)线性系统(2)高斯分布 根据x(t) 求解x(t+1)
2018-06-21 薅羊毛——促销优惠,所有优惠都被一个“人“独占!!!羊毛党却利用规则漏洞,通过黑产手段,以低成本的方式,模拟出成千上万虚拟用户领取活动福利,积少成多
2018-06-21 https://www.adminsub.net/tcp-udp-port-finder/14000 ——查找tcp端口对应的服务 可以看某些端口是否让恶意软件开启
2017-06-21 隐形马尔可夫模型——前向算法就是条件概率