• 内存取证之volatility及案例演示


    简介

    Volatility是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。

    • 取证文件后缀 .raw、.vmem、.img
    • 常用命令(imageinfo,pslist,dumpfiles,memdump)
    • 可疑的进程(notepad,cmd)
    • 和磁盘取证结合起来考察
    • 了解部分操作系统原理
    • 常见文件后缀dmg,img

    若没有不会安装可以查看这篇文章
    内存取证-Volatility安装使用以及一些CTF比赛题目

    volatility基础命令

    输入vol.py --help可查看帮助。可以使用 -h 参数获取使用方法和插件介绍,列举几个常用到的命令

    imageinfo:显示目标镜像的摘要信息,这常常是第一步,获取内存的操作系统类型及版本,之后可以在 –profile 中带上对应的操作系统,后续操作都要带上这一参数
    
    pslist:该插件列举出系统进程,但它不能检测到隐藏或者解链的进程,psscan可以
    
    pstree:以树的形式查看进程列表,和pslist一样,也无法检测隐藏或解链的进程
    
    psscan:可以找到先前已终止(不活动)的进程以及被rootkit隐藏或解链的进程
    
    cmdscan:可用于查看终端记录
    
    notepad:查看当前展示的 notepad 文本(–profile=winxp啥的低版本可以,win7的不行,可以尝试使用editbox)
    
    filescan:扫描所有的文件列表
    
    linux配合 grep 命令进行相关字符定向扫描,如:grep flag、grep -E ‘png|jpg|gif|zip|rar|7z|pdf|txt|doc’
    
    dumpfiles:导出某一文件(指定虚拟地址)
    
    需要指定偏移量 -Q 和输出目录 -D
    
    memdump:提取出指定进程,常用foremost 来分离里面的文件
    
    需要指定进程-p [pid] 和输出目录 -D
    
    editbox:显示有关编辑控件(曾经编辑过的内容)的信息
    
    screenshot:保存基于GDI窗口的伪截屏
    
    clipboard:查看剪贴板信息
    
    iehistory:检索IE浏览器历史记录
    
    systeminfo:显示关于计算机及其操作系统的详细配置信息(插件)
    
    hashdump:查看当前操作系统中的 password hash,例如 Windows 的 SAM 文件内容(mimikatz插件可以获取系统明文密码)
    
    mftparser:恢复被删除的文件
    
    svcscan:扫描 Windows 的服务
    
    connscan:查看网络连接
    
    envars:查看环境变量
    
    dlllist: 列出某一进程加载的所有dll文件
    
    hivelist: 列出所有的注册表项及其虚拟地址和物理地址
    
    timeliner: 将所有操作系统事件以时间线的方式展开
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49

    案例讲解

    [护网杯]Easy_dump

    1.先查看基本信息。

    vol.py -f easy_dump.img imageinfo
    
    • 1

    在这里插入图片描述

    2.再查看进程信息,发现有一个 **notepad.exe(记事本)**进程 。说明肯定是写文件了,提取出来。

    vol.py -f easy_dump.img --profile=Win7SP1x64 pslist
    
    • 1

    在这里插入图片描述
    使用memdump进行提取到当前目录

    vol.py -f easy_dump.img --profile=Win7SP1x64 memdump -p 2616 -D ./
    
    • 1

    但是提取出来的直接用strings是无法查看的需要通过一下命令

    strings -e l 2626.dmp | grep flag
    
    • 1

    在这里插入图片描述
    4.提示说有一张jpg图片,搜索一下。

    vol.py -f easy_dump.img --profile=Win7SP1x64 filescan |grep -E 'jpg|gif|png'
    
    • 1

    在这里插入图片描述
    5.将图片保存下来
    提取文件图片

    vol.py -f easy_dump.img --profile=Win7SP1x64 dumpfiles -Q 0x000000002408c460 -D ./
    
    • 1

    在这里插入图片描述
    6.图片提取出来后,利用binwalk测试图片中是否携带zip文件等内容
    在这里插入图片描述
    7.发现zip文件。使用foremost进行分离。
    在这里插入图片描述
    在这里插入图片描述
    得到一个压缩包,解压后得到一个img文件
    在这里插入图片描述
    8.binwalk继续分析,分离出hint.txt文件。

    binwalk -e message.img 
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    9.经过查看,有非常多的数字成对出现,与坐标还是比较类似
    尝试将数字转为坐标,使用 gnuplot 画图,发现二维码
    在这里插入图片描述
    在这里插入图片描述
    10.扫描得到提示Here is the vigenere key: aeolus, but i deleted the encrypted message。
    在这里插入图片描述
    11.上面英文翻译结果如下,这是一个维吉尼亚密码,秘钥是aeolus,有了加密方式,有了秘钥,需要密文。继续查看刚才两个文件夹,寻找密文在这里插入图片描述
    寻找到一个.swp文件,如果熟悉它,知道是中断文件,直接恢复

    vim -r .message.swp 
    
    • 1

    在这里插入图片描述
    密文出现
    在这里插入图片描述
    13.yise!dmsx_tthv_arr_didvi 应该就是密文了,使用之前拿到的密钥aeolus进行解密。
    在这里插入图片描述

    [安洵杯]Administrator 's_secret

    1.先查看下基本信息。

    vol.py -f mem.dump imageinfo
    
    • 1

    在这里插入图片描述
    2.pslist看一下有什么进程,这里发现有个 CnCrypt.exeCnCrypt是一款磁盘加密软件 。

    vol.py -f mem.dump --profile=Win7SP1x64 pslist
    
    • 1

    在这里插入图片描述
    3.上面进程中还看到有 cmd.exe ,那就看下cmd命令,发现有个 flag.ccx 文件,并且提示 flag.ccx 的密码就是 Administrator 的密码。

    vol.py -f mem.dump --profile=Win7SP1x64 cmdscan
    
    • 1

    在这里插入图片描述

    4.该文件的密码和administrator的密码相同,接下来我们寻找flag.ccx文件

    vol.py -f mem.dump --profile Win7SP1x64 filescan | grep flag.ccx
    
    • 1

    在这里插入图片描述
    接下来我们将该文件dump出来,可以看到上面说它的密码和administrator相同

    vol.py -f mem.dump --profile Win7SP1x64 dumpfiles -Q 0x3e435890 --dump-dir=./
    
    • 1

    在这里插入图片描述

    在这里插入图片描述
    5.接下来寻找administrator的密码

    列出SAM表的用户

    vol.py -f mem.dump --profile Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"
    
    • 1

    在这里插入图片描述
    获取SYSTEM SAM的虚拟地址 分别为0xfffff8a000024010 0xfffff8a001590010,可以理解成在内存中的地址

    vol.py -f mem.dump --profile Win7SP1x64 hivelist
    
    • 1

    在这里插入图片描述

    6.hashdump获取用户密码的hash值

    vol.py -f mem.dump --profile Win7SP1x64 hashdump 
    
    • 1

    在这里插入图片描述
    CMD5查询hash值得到Administrator账户的密码
    在这里插入图片描述
    至此完成加密文件提取和用户密码提取

    之前查看进程时发现cncrypt

    猜测文件使用cncrypt加密的

    CnCrypt加载得到flag
    在这里插入图片描述
    在这里插入图片描述
    7.解密并挂载得到flag。
    在这里插入图片描述

  • 相关阅读:
    css3 3D 转换 技巧详细解析与代码实例
    QSlider 类使用教程
    Vue 2.0的源码目录设计
    【办公类-06】python批量制作代班排班表
    Python数据攻略-高级文件操作与Json序列化
    buuctf-[RoarCTF 2019]Easy Java
    jqPlot——基于jquery的图表绘制工具简单使用,jqPlot 在firefox 火狐浏览器里面,图表右侧的标题,变形的解决方法
    干货 | 人力资源数字化的优势和应用场景展示
    设计模式-结构型模式-外观模式
    vue实现爱心形状的复选框
  • 原文地址:https://blog.csdn.net/m0_46467017/article/details/126557076