volatility
Volatility是一款非常强大的内存取证工具,它是由来自全世界的数百位知名安全专家合作开发的一套工具, 可以用于windows,linux,mac osx,android等系统内存取证。Volatility是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。 在不同系统下都有不同的软件版本,官网地址:https://www.volatilityfoundation.org/26volatility工具的基本使用
命令格式
volatility -f [image] --profile=[profile] [plugin]
在分析之前,需要先判断当前的镜像信息,分析出是哪个操作系统volatility -f xxx.vmem imageinfo
如果操作系统错误,是无法正确读取内存信息的,知道镜像后,就可以在--profile=中带上对应的操作系统
常用插件
下列命令以windows内存文件举例查看用户名密码信息
volatility -f 1.vmem --profile=Win7SP1x64 hashdump
查看进程
volatility -f 1.vmem --profile=Win7SP1x64 pslist
查看服务
volatility -f 1.vmem --profile=Win7SP1x64 svcscan
查看浏览器历史记录
volatility -f 1.vmem --profile=Win7SP1x64 iehistory
查看网络连接
volatility -f 1.vmem --profile=Win7SP1x64 netscan
查看命令行操作
volatility -f 1.vmem --profile=Win7SP1x64 cmdscan
查看文件
volatility -f 1.vmem --profile=Win7SP1x64 filescan
查看文件内容
volatility -f 1.vmem --profile=Win7SP1x64 dumpfiles -Q 0xxxxxxxx -D ./
查看当前展示的notepad内容
volatility -f 1.vmem --profile=Win7SP1x64 notepad
提取进程
volatility -f 1.vmem --profile=Win7SP1x64 memdump -p xxx --dump-dir=./
屏幕截图
volatility -f 1.vmem --profile=Win7SP1x64 screenshot --dump-dir=./
查看注册表配置单元
volatility -f 1.vmem --profile=Win7SP1x64 hivelist
查看注册表键名
volatility -f 1.vmem --profile=Win7SP1x64 hivedump -o 0xfffff8a001032410
查看注册表键值
volatility -f 1.vmem --profile=Win7SP1x64 printkey -K "xxxxxxx"
查看运行程序相关的记录,比如最后一次更新时间,运行过的次数等
volatility -f 1.vmem --profile=Win7SP1x64 userassist
最大程序提取信息
volatility -f 1.vmem --profile=Win7SP1x64 timeliner
电子取证之Easy_dump(2018护网杯)
查看镜像信息
volatility -f easy_dump.img imageinfo
查看结果,推测可能是Win7SP1x64的镜像
指定镜像进行进程扫描
volatility -f easy_dump.img --profile=Win7SP1x64 psscan也可以使用pslist参数
发现存在notepad.exe,查看一下内容。
导出进程中内容
volatility -f easy_dump.img --profile=Win7SP1x64 memdump -p 2616 -D /xxx/xxx/xxx/其中procdump:是提取进程的可执行文件
memdump:是提取进程在内存中的信息
使用strings查找flag信息
strings -e l 2616.dmp | grep "flag"发现提示是jpg
读取jpg文件
volatility -f easy_dump.img --profile=Win7SP1x64 filescan | grep "jpg"发现图片phos.jpg
导出图片
查看图片,无法正常打开
使用binwalk查看,发现存在zip文件
分离文件
foremost file.None.0xfffffa8008355410.vacb分离后自动生成output文件夹,查看内容
解压00004372.zip,得到message.img
继续使用binwalk提取文件
得到hint.txt
使用脚本进行转换
查看其他大佬说可能是左边,使用脚本进行转换#脚本文件 importmatplotlib.pyplotasplt importnumpyasnp x=[] y=[] withopen('hint.txt','r')asf: datas=f.readlines() fordataindatas: arr=data.split('') x.append(int(arr[0])) y.append(int(arr[1])) plt.plot(x,y,'ks',ms=1) plt.show()
扫描二维码得到提示,一个是维吉尼亚加密,秘钥是aeolus。一个是加密文件被删除了,需要恢复。
恢复文件
使用testdisk进行恢复 testdisk message.img 红色为需要恢复的文件 使用ls -a查看 使用strings查看 最后一句字符串尝试解密 得到最终结果参考资料
https://www.cnblogs.com/zaqzzz/p/10350989.html https://blog.csdn.net/weixin_42742658/article/details/106819187
审核编辑 :李倩
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
内存
+关注
关注
8文章
2998浏览量
73872 -
数据结构
+关注
关注
3文章
573浏览量
40088
原文标题:初识内存取证-volatility与Easy_dump
文章出处:【微信号:Tide安全团队,微信公众号:Tide安全团队】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
Windows内存取证知识浅析-上篇
一名员工报告说,他的机器在收到一封可疑的安全更新电子邮件后开始出现奇怪的行为。事件响应团队从可疑计算机中捕获了几个内存转储,以供进一步检查。分析转储并帮助 SOC 分析师团队弄清楚发生了什么!
为什么我使用dump_image将内存内容dump出来后和原始文件相差很大?
0x33f80000(0x31f80000也试过,一样)后,uboot无法运行,使用verify_image 进行校验,发现校验失败,我使用dump_image将内存内容dump出来后,发现和原始文件
发表于 07-11 04:00
取证与证据
-------------------------------------------------------------------------------- 调查取证是无线
发表于 04-16 19:03
•569次阅读
DMA—直接内存存取
【*】程序简介 -工程名称:DMA直接内存存取 -实验平台: 秉火STM32 F429 开发板 -MDK版本:5.16 -ST固件库版本:1.5.1 【 !】功能简介: 使用DMA把内存数据传输
发表于 12-13 15:09
•9次下载
基于内存云的大块数据对象并行存取策略
了基于内存云的大块数据对象并行存取策略。该存储策略首先将大块数据对象分割成若干个1 MB的小块数据对象,然后在客户端生成数据摘要,最后使用并行存储算法将客户端分割成的小块数据对象存储在内存云集群中。读取时首先读取数据摘要,然后根
发表于 12-17 11:02
•0次下载
内存取证的内核完整性度量方法
额外的硬件使得系统成本较高;基于Hypervisor的内核完整性度量方法,应用复杂的VMM带来的系统性能损失较大.针对现有方法存在的不足,提出了基于内存取证的内核完整性度量方法KIMBMF.该方法采用内存取证分析技术提取静态和动态度量对象
发表于 01-10 14:52
•2次下载
你知道Linux Core Dump是什么?
当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”)。
发表于 05-10 11:11
•2805次阅读
基于浮点系列芯片ADSP2106x中的直接内存存取技术研究
直接内存存取(DMA)对计算机系统是非常重要的。它可以使CPU在运行指令的同时,系统能实现从外部存储器或设备中存取数据,也可以在CPU不参与的情况下,由专用的DMA设备存取数据。
发表于 07-10 19:21
•1158次阅读
简述SCL -CPU内存区域的索引存取
也能够用一外索引来存取CPU的内存区域。与绝对地址比较,此方式的优点是能够用变量索引动态寻址。例如,能够将FOR循环的控制变量用作地址。 执行索引存取内存区域与绝对方式的做法一样,仅提
SCL-CPU内存区域的索引存取
执行索引存取内存区域与绝对方式的做法一样,仅提供了地址的长处。取代绝对地址,指定的索引能够是一个常量、一个变量或一个算术表达式。
内存取证之Volatility从0到1编程设计
命令:pslist/pstree/psscan :非常有用的插件,列出转储时运行的进程的详细信息;显示过程ID,该父进程ID(PPID),线程的数目,把手的数目,日期时间时,过程开始和退出
Volatility取证大杀器
Volatility是一款开源的内存取证软件,支持Windows、Mac、linux(kali下等等)环境下使用。并且分别有Volatility2与Volatility3两个大版本,依
虹科分享 | 关于内存取证你应该知道的那些事
什么是内存取证?内存取证是指在计算机或其他数字设备运行时,通过对其随时存储的内存数据进行采集、分析和提取,以获取有关设备状态、操作过程和可能存在的安全事件的信息。内存取证是数字
jmap dump内存的命令是
jmap dump是Java内存映像工具(Java Memory Map Tool)的一个功能,用于生成Java虚拟机(JVM)中的堆内存快照。堆内存快照是一个包含了Java对象及其所
jvm的dump太大了怎么分析
分析大型JVM dump文件可能会遇到的一些挑战。首先,JVM dump文件通常非常大,可能几百MB或几个GB。这是因为它们包含了JVM的完整内存快照,包括堆和栈的所有对象和线程信息。分析这种大型
评论