工具下载:

Linux环境

apt-get install 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

Windows环境

官网下载:https://www.volatilityfoundation.org/releases

内存文件准备:

使用工具dumpit获取内存文件 后缀名一般为 .raw .vmem .img

命令行使用:

以省赛的一道内存取证题目为例简单介绍其使用

题目为:你熟悉浏览器吗

提示:cookie

题目下载:

链接:https://pan.baidu.com/s/1D8O-eyI6s1URaFEd6cS7-Q 提取码:vj8x

使用 imageinfo 插件获取内存文件基本信息,分析出是哪个操作系统

volatility.exe imageinfo -f Browser.raw

可以看到可能的操作系统为:

Suggested Profile(s) : Win7SP1x64, Win7SP0x64, Win2008R2SP0x64, Win2008R2SP1x64_23418, Win2008R2SP1x64, Win7SP1x64_23418

这里是为了获取profile的类型,因为不同的操作系统结构不一样,所以后续需要使用 --profile=来指定。

imageinfo会自动猜解可能的系统类型,一般情况下第一个是正确的。

列出所有进程,指定操作系统为 Win7SP1x64

volatility.exe -f Browser.raw --profile=Win7SP1x64 pslist

题目里提到了浏览器和cookie,很自然想到浏览器进程

发现谷歌浏览器进程

在cmd下使用find查找所有谷歌浏览器进程

volatility.exe -f Browser.raw --profile=Win7SP1x64 pslist |find "chrome.exe"

接着把每一个谷歌浏览器进程的数据保存为dmp格式的文件(这里的PID需要自己指定

volatility.exe -f Browser.raw --profile=Win7SP1x64 memdump -p {对应的PID} -D ./

如:

最后导出为:

使用010editer查找flag逐一筛选

在2608.dmp文件中找到flag

参考链接:

https://flamepeak.com/2020/03/11/Linux-Forensics-Volatility-install-usage-20200322/

https://www.cnblogs.com/zaqzzz/p/10350989.html

volatility内存取证学习的更多相关文章

  1. volatility内存取证

    最近参加了45届世界技能大赛的山东选拔赛,样题里有一个题如下: 师傅好不容易拿到了压缩包的密码,刚准备输入,电脑蓝屏 了... = =",题意简单明了,易于理解.一看就是内存取证的题并且已经 ...

  2. 内存取证工具-volatility、foremost

    内存取证 1. 内存取证工具volatility 猜测dump文件的profile值 root@kali:~/CTF# volatility -f mem.vmem imageinfo Volatil ...

  3. C++内存管理学习笔记(5)

    /****************************************************************/ /*            学习是合作和分享式的! /* Auth ...

  4. C++内存管理学习笔记(6)

    /****************************************************************/ /*            学习是合作和分享式的! /* Auth ...

  5. C++内存管理学习笔记(7)

    /****************************************************************/ /*            学习是合作和分享式的! /* Auth ...

  6. js内存深入学习(二)

    继上一篇文章 js内存深入学习(一) 3. 内存泄漏 对于持续运行的服务进程(daemon),必须及时释放不再用到的内存.否则,内存占用越来越高,轻则影响系统性能,重则导致进程崩溃. 对于不再用到的内 ...

  7. js内存深入学习(一)

    一. 内存空间储存 某些情况下,调用堆栈中函数调用的数量超出了调用堆栈的实际大小,浏览器会抛出一个错误终止运行.这个就涉及到内存问题了. 1. 数据结构类型 栈: 后进先出(LIFO)的数据结构  堆 ...

  8. Linux内存管理学习资料

    下面是Linux内存管理学习的一些资料. 博客 mlock() and mlockall() system calls. All about Linux swap space 逆向映射的演进 Linu ...

  9. 苹果内存取证工具volafox

    苹果内存取证工具volafox volafox是一款针对苹果内存取证的专用工具.该工具使用Python语言编写.该工具内置了overlay data数据,用户可以直接分析苹果10.6-10.11的各种 ...

随机推荐

  1. BIM与GIS融合的意义——从智慧工地到智慧城市

    随着智慧城市概念的发展,BIM与GIS融合的概念深入人心,通过整合BIM的参数化描述建筑组件性质的特性与GIS宏观的几何空间概念,将 BIM 描述单体建筑物的特性通过 GIS 拓展至三维城市. BIM ...

  2. laravel 多表字段关联查询

    public function items() { return $this->belongsToMany('App\Model\Cz\CzCourse', 'cz_picture_course ...

  3. mybatis 字符串比较 == 用法

    private String deptLevel; <when test='deptLevel=="3"'> 正确 <when test="deptLe ...

  4. Spring5.0源码学习系列之浅谈循环依赖问题

    前言介绍 附录:Spring源码学习专栏 在上一章的学习中,我们对Bean的创建有了一个粗略的了解,接着本文浅谈Spring循环依赖问题,这是一个面试比较常见的问题 1.什么是循环依赖? 所谓的循环依 ...

  5. ngx accept_mutex

    尝试获取锁,如果获取了锁,那么还要将当前监听端口全部注册到当前worker进程的epoll当中去  获取失败就需要确保此时ls-fd 没有被 epoll 监听 ngx_int_t ngx_tryloc ...

  6. MYSQL 存储引擎(面)

    存储引擎是MySQL的组件,用于处理不同表类型的SQL操作.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能. 使用哪一种引擎可以灵活选择,一个数据 ...

  7. UNIX目录访问操作

    1.目录访问相关函数: DIR* opendir (const char * path ); struct dirent* readdir(DIR *dirptr) ;参数是一个指向dirent 结构 ...

  8. git操作之二:git restore

    在上篇博客中留了一个问题,那就是git restore命令是做什么的,下面重点分析. 一.概述 git restore命令是撤销的意思,也就是把文件从缓存区撤销,回到未被追踪的状态. 该命令有git ...

  9. 重要 | Spark分区并行度决定机制

    最近经常有小伙伴在本公众号留言,核心问题都比较类似,就是虽然接触Spark有一段时间了,但是搞不明白一个问题,为什么我从HDFS上加载不同的文件时,打印的分区数不一样,并且好像spark.defaul ...

  10. 如何测量Ceph OSD内存占用

    前言 这个工具我第一次看到是在填坑群里面看到,是由研发-北京-蓝星同学分享的,看到比较有趣,就写一篇相关的记录下用法 火焰图里面也可以定位内存方面的问题,那个是通过一段时间的统计,以一个汇总的方式来查 ...