zoukankan      html  css  js  c++  java
  • 内存取证起手式

    前言

    大三老狗本想享受一下大学生活就去考研了--没想到还有学校实验室那边省赛必须打啊--没办法,继续刷点题吧--去年省赛出了一道内存取证,今年应该同样会有一道,所以来简单总结一下吧--

    取证分析题目,取证分析 = 取证 + 分析,因此,在做题过程中,核心就是做细致的取证工作,获取充分的信息,以及很重要的逻辑分析、串联、整合、归纳。

    常用命令

    查看镜像信息:

    volatility imageinfo -f xxx.raw  
    

    分析在运行的进程(pslist是打印输出此时在运行的进程):

    volatility -f mem.vmem --profile=WinXPSP2x86 pslist
    
    volatility -f memory.img –profile=Win2003SP2x86 psscan
    

    简单看一下进程,如果不知道是哪个程序的可以百度一下。根据这个我们就能知道此时哪些软件在内存中运行。

    pslist可以用来列出运行的进程。如果Exit所在的一列显示了日期时间,则表明该进程已经结束了。 在图中,我们看到,存在notepad.exe, mspaint.exe,也就是取证对象(出题人)使用过记事本、画图程序。

    在查看进程的显示时,注意一下记事本程序notepad.exe, 画画工具mspaint.exe以及DumpIt等使用过的软件,这些就是取证对象的操作,其中很有可能有重要信息。因此在逻辑清晰的一个做题过程中,我们需要对取证对象的操作,分别进行纵向地分析,然后回过头来结合起来进行分析。

    Dumpit.exe 一款内存镜像提取工具
    TrueCrypt.exe 一款磁盘加密工具
    Notepad.exe windows自带的记事本
    Mspaint,exe windows自带画图工具

    dump内存

    把suspicion文件的相关内存dump出来,用Volatility即可完成。将TrueCrypt.exe进程(PID 2012)dump出来,结果文件为2012.dmp

    volatility -f mem.vmem memdump -p 2012 --dump-dir ./
    

    看一下剪切板中有没有数据:

    volatility -f flag --profile=WinXPSP2x86 clipboard
    

    查一下内存中缓存的文件

    volatility -f flag --profile=WinXPSP2x86 filescan
    
    volatility -f memory.img –profile=Win2003SP2x86 filescan|grep flag
    

    过滤一下

    volatility -f flag --profile=WinXPSP2x86 filescan | grep rar
    

    得到了flag.rar

    使用Volatility中的filescan功能,保存为txt,方便后续查找分析:

    volatility filescan -f xxx.raw --profile=WinXPSP2x86 > filescanInfo.txt
    

    查看notepad.exe

    如果需要查看Notepad程序编辑的内容,需要使用Volatility的Notepad插件:

    volatility notepad -f xxx.raw 
    

    查看mspaint.exe

    查看内存操作中对画图程序操作的内容,使用插件mspaint。

    可以看到mspaint进程pid号,为332,dump下来

    volatility -f Advertising_for_Marriage.raw --profile=WinXPSP2x86 memdump -p 332 --dump-dir=./
    

    通过内存取证操作(见后面列举),查找到PNG图片

    volatility filescan -f Advertising for Marriage.raw --profile=WinXPSP2x86 | grep "jpg|jpeg|png|tif|gif|bmp"
    

    导出图片:

    volatility -f xxx.raw dumpfiles -Q 0x000000000249ae78 -D --dump-dir=./
    

    查看文档

    volatility -f xxx.raw --profile=WinXPSP2x86 filescan | grep "doc|docx|rtf"
    

    查看桌面

    volatility -f xxx.raw --profile=WinXPSP2x86 filescan | grep "Desktop"
    

    查看命令行输入

    volatility -f xxx.raw --profile=WinXPSP2x86 cmdline
    

    查看系统用户名

    volatility -f xxx.raw --profile=WinXPSP2x86 printkey -K "SAMDomainsAccountUsersNames"
    

    查看网络连接

    volatility -f mem.data --profile=WinXPSP2x86 netscan
    

    查看屏幕截图

    mkdir win2003
    volatility -f memory.img –profile=Win2003SP2x86 screenshot –dump-dir=./win2003
    

    查看系统里的窗口列表

    volatility -f memory.img –profile=Win2003SP2x86 windows
    

    看到 flag.png 是由 explorer.exe 进程里的 Windows 图片查看器打开的。(Windows 用得少不知道这个了- -)
    12.那么我们来尝试 dump 一下 explorer.exe 这个进程的内存试试,pid 为 1992。

    volatility -f memory.img --profile=Win2003SP2x86 memdump -p 1992 -D ./win2003/
    

    再对 dump 出来的内容恢复文件,可使用binwalk或foremost.

    第一个题目

    先来看下去年的省赛决赛内存取证题目吧

    拿到raw,直接拿到foremost里分离,分离出了好多东西,还有一个带flag的压缩包

    首先利用imageinfo命令标识操作系统、Service Pack和硬件体系结构(32位或64位)。imageinfo输出告诉您在使用其他插件时应将参数传递给-profile = PROFILE的建议配置文件。可能有多个建议的配置文件,我们必须小心选择正确的配置文件。

    利用filescan列出内存中的文件根据省赛中分离出来的文件,找到明文攻击需要的图片

    接着分离文件

    得到

    接着压缩加ARCHPR明文攻击,但是因为crc校验不同,失败了

    [HDCTF2019]你能发现什么蛛丝马迹吗

    volatility imageinfo -f 1.img 
    

    Win2003SP1x86
    查看内存:

    volatility -f 1.img --profile=Win2003SP1x86 pslist
    

    没看到啥明显信息
    查看一下文件并匹配一下flag

    volatility filescan -f 1.img --profile=Win2003SP1x86 | grep flag
    

    发现flag.png,dump出来

    扫码得到:

    
    jfXvUoypb8p3zvmPks8kJ5Kt0vmEw0xUZyRGOicraY4=
    

    解不出来,怀疑是某种加密,继续看

    系统里的窗口列表:

    volatility -f 1.img --profile=Win2003SP1x86 windows 
    

    看到 flag.png 是由 explorer.exe 进程里的 Windows 图片查看器打开的。
    查看内存并把explorer.exe dump:

    volatility -f 1.img --profile=Win2003SP1x86 pslist
    

    explorer.exe 这个进程的内存试试,pid 为 1992。

    volatility -f 1.img --profile=Win2003SP1x86 memdump -p 1992 -D ./
    
    

    对dump出的文件使用binwalk foremost
    分离出来png
    除了之前找到的二维码,还有 key 和 iv

    判定是 aes 加密

    密文:jfXvUoypb8p3zvmPks8kJ5Kt0vmEw0xUZyRGOicraY4=
    key: Th1s_1s_K3y00000
    iv: 1234567890123456
    

    解密得到flag

    最后

    因为只是自己拿来当文档使用,所以写的会比较乱--轻喷orz

  • 相关阅读:
    sql server 跟踪各事件的字段项编码及解释
    sql server 有关锁的视图说明 syslockinfo
    SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace)
    [SqlServer]创建链接服务器
    SQL Server 2008 存储过程,带事务的存储过程(创建存储过程,删除存储过程,修改存储过
    sql server 索引分析相关sql
    IO系统性能之一:衡量性能的几个指标
    Writing to a MySQL database from SSIS
    用漫画的形式来讲解为什么MySQL数据库要用B+树存储索引?
    一份 Tomcat 和 JVM 的性能调优经验总结!拿走不谢
  • 原文地址:https://www.cnblogs.com/wangtanzhi/p/13721124.html
Copyright © 2011-2022 走看看