• 内存取证入门第一题


    试题链接:https://pan.baidu.com/s/1nDo5N4uHnV8a5hYXScV4nQ 
    提取码:1111 
    --来自百度网盘超级会员V2的分享

    一、volatility分析

    volatility这个词很传神,挥发。即便是断电消失的内存数据,我们也能恢复。

     Tips:内存取证的题目特征

    • 取证文件后缀 .raw、.vmem、.img、.vmdk
    • 可疑的进程(notepad,cmd)
    • 和磁盘取证结合起来考察
    • 常见文件后缀dmg,img

    VMDK 文件本质上是物理硬盘的虚拟版,也会存在跟物理硬盘的分区和扇区中类似的填充区域,我们可以利用这些填充区域来把我们需要隐藏的数据隐藏到里面去,这样可以避免隐藏的文件增加了 VMDK 文件的大小(如直接附加到文件后端),也可以避免由于 VMDK 文件大小的改变所带来的可能导致的虚拟机错误。而且 VMDK 文件一般比较大,适合用于隐藏大文件

    1. 最最最基础的命令格式:
    2. volatility -f [image] ‐-profile=[profile] [plugin] 命令
    3. 其中 -f 后面加的是要取证的文件, --profile 后加的是工具识别出的系统版本, [plugin] 是指使用的插件,其中默认存在一些插件,另外还可以自己下载一些插件扩充
    4. 命令详解:https://blog.csdn.net/hacker_zrq/article/details/125578926?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22125578926%22%2C%22source%22%3A%22hacker_zrq%22%7D&ctrtid=BoLQE

    拿到这道题,发现就有一个.vmen文件,基本断定内存取证无疑。但是suspcion还不知道是什么。如其名一样:怀疑。

    1.1确定profile值

     volatility -f mem.vmem imageinfo

    可见有两个,WinXPSP2x86这个就表示Windows XP with SP2,他只是连起来了,两个,要么是SP2,要么是SP3,但是基本上是XP,差别不会太大。

     1.2 查看进程

    现在就相当于你已经拿到操作者当时操作他的电脑的全部记录。那我们肯定首先要看看他那个时间段在干什么。那就去查看进程,看看他打开了哪些软件。

    volatility -f mem.vmem --profile=WinXPSP2x86 pslist  
    

     可以看到进程名,进程号PID,还有时间,(可以看到是凌晨四点还在出题,真不容易)

    我们应该对winlogon.exe,ctfmon.exe、TrueCrypto.exe这些进程很敏感。

     1.3确定可疑进程

    查winlogon,这就是个登录系统的进程。 怪不得他的时间是最前的。(这个时间也很重要,进程的先后也可能蕴藏信息)。在这里只能告诉我们操作者开机登陆了这台电脑。

    查ctfmon.exe ,发现他就是个office,和我们打的ctf毛关系都没有。

            最后查TrueCrypt,发现他是个磁盘加密软件。TrueCrypt是一款功能强大的磁盘加密软件,有时候我们会在电脑上放置一些重要文件,为了不让别人打开,我们就得利用TrueCrypt加密。

            那这就很明显了,结合这个磁盘加密的进程打开的时间是最后。基本可以断定这家伙就是操作完之后对磁盘文件进行了加密操作。

     二、捋清对策

            既然我们已经知道操作者的大致操作,那下一步就很明白了。就是我们需要拿到操作者加密重要文件的密码和加密后的密文。

            这时候想起来,那个题目附件里的另一个或许就是加密后的磁盘文件。

     2.1dump可疑进程数据

    我们将可疑进程的数据dump下来分析。

    1. //进程dump格式
    2. volatility -f mem.vmem --profile=WinXPSP2x86 -p [PID] -D [dump 出的文件保存的目录]
    3. 例如: volatility -f mem.vmem --profile=WinXPSP2x86 memdump -p 1464 -D DumpFile/

    成功拿到进程数据。 

     2.2查看可疑数据

    先用strings命令看看里面到底什么情况。可以看到有flag.txt文件。基本确信无疑了,这个进程和最后我们的flag一定有关。下一步就是想想怎么找到key,然后解密磁盘加密文件即可。

    三、 开始解密

    用到一个工具:Elcomsoft Forensic Disk Decryptor。。看价格就知道他很厉害。

    功能:看他下面的那个六点,其中就有提取、恢复密码,解密磁盘的功能。

     主要就是使用前两个:破解密码和提取Key

    这一页显示了三个数据来源:

            Physical disk\partition  :物理磁盘/分区
            Image file of disk\partition:磁盘镜像/分区
            Container:容器

    我们这里后缀不是.img,也不是.disk。因此只能选容器。

     然后导入加密的磁盘文件,和dump出来的进程数据,他会自动寻找密钥然后

    可以发现他已经找到了。 

     然后此时你就已经得到操作者的磁盘文件了,但是磁盘文件有固定格式的,你得挂载才能打开,因此选择Mount Disk。

     

     打开我的电脑,找到刚才挂载的磁盘,打开发现flag

  • 相关阅读:
    10. 回归损失最小化
    eslint常见报错及解决
    [附源码]Python计算机毕业设计Django的小说阅读系统
    激光雷达(LiDAR)技术
    视频声音怎么翻译?这几个办法教你实现视频声音翻译成中文
    【电磁】基于 Biot-Savart 定律模拟沿螺旋(螺线管或环形)电流回路的磁场附matlab代码
    vscode 下载安装
    Leetcode 481. 神奇字符串
    Stacked Hourglass Networks for Human Pose Estimation 源码分析
    第一个Java代码
  • 原文地址:https://blog.csdn.net/hacker_zrq/article/details/125578053