0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

初识内存取证-volatility与Easy_dump

jf_vLt34KHi 来源:Tide安全团队 2023-03-01 13:39 次阅读

volatility

Volatility是一款非常强大的内存取证工具,它是由来自全世界的数百位知名安全专家合作开发的一套工具, 可以用于windows,linux,mac osx,android等系统内存取证。Volatility是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。 在不同系统下都有不同的软件版本,官网地址:https://www.volatilityfoundation.org/26

volatility工具的基本使用

命令格式

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 imageinfo843f8fa8-b10e-11ed-bfe3-dac502259ad0.png
查看结果,推测可能是Win7SP1x64的镜像

指定镜像进行进程扫描

volatility -f easy_dump.img --profile=Win7SP1x64 psscan8455a8d8-b10e-11ed-bfe3-dac502259ad0.png
也可以使用pslist参数
发现存在notepad.exe,查看一下内容。8489d16c-b10e-11ed-bfe3-dac502259ad0.png  

导出进程中内容

volatility -f easy_dump.img --profile=Win7SP1x64 memdump -p 2616 -D /xxx/xxx/xxx/
其中procdump:是提取进程的可执行文件
memdump:是提取进程在内存中的信息84ba362c-b10e-11ed-bfe3-dac502259ad0.png  

使用strings查找flag信息

strings -e l 2616.dmp | grep "flag"
发现提示是jpg84d00ed4-b10e-11ed-bfe3-dac502259ad0.png  

读取jpg文件

volatility -f easy_dump.img --profile=Win7SP1x64 filescan | grep "jpg"
发现图片phos.jpg84f32d6a-b10e-11ed-bfe3-dac502259ad0.png
导出图片85110ac4-b10e-11ed-bfe3-dac502259ad0.png
查看图片,无法正常打开85239cca-b10e-11ed-bfe3-dac502259ad0.png
使用binwalk查看,发现存在zip文件8547357c-b10e-11ed-bfe3-dac502259ad0.png  

分离文件

foremost file.None.0xfffffa8008355410.vacb85679614-b10e-11ed-bfe3-dac502259ad0.png
分离后自动生成output文件夹,查看内容
解压00004372.zip,得到message.img
继续使用binwalk提取文件857afe8e-b10e-11ed-bfe3-dac502259ad0.png
得到hint.txt8594456a-b10e-11ed-bfe3-dac502259ad0.png  

使用脚本进行转换

查看其他大佬说可能是左边,使用脚本进行转换

	#脚本文件 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()85ba88e2-b10e-11ed-bfe3-dac502259ad0.png
		扫描二维码得到提示,一个是维吉尼亚加密,秘钥是aeolus。一个是加密文件被删除了,需要恢复。
		 

恢复文件

使用testdisk进行恢复 testdisk message.img85e6f238-b10e-11ed-bfe3-dac502259ad0.png 红色为需要恢复的文件860233a4-b10e-11ed-bfe3-dac502259ad0.png862c8d02-b10e-11ed-bfe3-dac502259ad0.png8680f702-b10e-11ed-bfe3-dac502259ad0.png 使用ls -a查看86a76482-b10e-11ed-bfe3-dac502259ad0.png 使用strings查看86cd8cb6-b10e-11ed-bfe3-dac502259ad0.png 最后一句字符串尝试解密 得到最终结果86e905ea-b10e-11ed-bfe3-dac502259ad0.png

参考资料

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 分析师团队弄清楚发生了什么!
    的头像 发表于 11-29 09:28 820次阅读
    Windows<b class='flag-5'>内存取证</b>知识浅析-上篇

    为什么我使用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次下载
    基于<b class='flag-5'>内存</b>云的大块数据对象并行<b class='flag-5'>存取</b>策略

    内存取证的内核完整性度量方法

    额外的硬件使得系统成本较高;基于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次阅读
    基于浮点系列芯片ADSP2106x中的直接<b class='flag-5'>内存</b><b class='flag-5'>存取</b>技术研究

    简述SCL -CPU内存区域的索引存取

    也能够用一外索引来存取CPU的内存区域。与绝对地址比较,此方式的优点是能够用变量索引动态寻址。例如,能够将FOR循环的控制变量用作地址。 执行索引存取内存区域与绝对方式的做法一样,仅提
    的头像 发表于 04-16 10:45 2284次阅读
    简述SCL -CPU<b class='flag-5'>内存</b>区域的索引<b class='flag-5'>存取</b>

    SCL-CPU内存区域的索引存取

    执行索引存取内存区域与绝对方式的做法一样,仅提供了地址的长处。取代绝对地址,指定的索引能够是一个常量、一个变量或一个算术表达式。
    的头像 发表于 06-02 16:11 1535次阅读

    内存取证Volatility从0到1编程设计

    命令:pslist/pstree/psscan :非常有用的插件,列出转储时运行的进程的详细信息;显示过程ID,该父进程ID(PPID),线程的数目,把手的数目,日期时间时,过程开始和退出
    的头像 发表于 09-26 16:56 945次阅读

    Volatility取证大杀器

    Volatility是一款开源的内存取证软件,支持Windows、Mac、linux(kali下等等)环境下使用。并且分别有Volatility2与Volatility3两个大版本,依
    的头像 发表于 10-28 11:19 3154次阅读

    虹科分享 | 关于内存取证你应该知道的那些事

    什么是内存取证内存取证是指在计算机或其他数字设备运行时,通过对其随时存储的内存数据进行采集、分析和提取,以获取有关设备状态、操作过程和可能存在的安全事件的信息。内存取证是数字
    的头像 发表于 08-01 11:21 1501次阅读
    虹科分享 | 关于<b class='flag-5'>内存取证</b>你应该知道的那些事

    jmap dump内存的命令是

    jmap dump是Java内存映像工具(Java Memory Map Tool)的一个功能,用于生成Java虚拟机(JVM)中的堆内存快照。堆内存快照是一个包含了Java对象及其所
    的头像 发表于 12-05 10:38 3071次阅读

    jvm的dump太大了怎么分析

    分析大型JVM dump文件可能会遇到的一些挑战。首先,JVM dump文件通常非常大,可能几百MB或几个GB。这是因为它们包含了JVM的完整内存快照,包括堆和栈的所有对象和线程信息。分析这种大型
    的头像 发表于 12-05 11:01 2453次阅读