zoukankan      html  css  js  c++  java
  • 内存取证例题

      几道内存取证的题目拿来做一下。

    [V&N2020 公开赛]内存取证

      开局给了给了一个raw文件。

      先看一下镜像文件的基本信息。

    volatility -f mem.raw imageinfo

      这步一般是为了得到文件的profile。

      直接一点,搜一搜有没有名为flag的文件

    volatility -f mem.raw --profile=Win7SP0x86 filescan | grep flag

      看一看当时运行了哪些进程。

    volatility -f mem.raw --profile=Win7SP0x86 pslist
    0x83c0ad40 TrueCrypt.exe          3364   3188      7      388      1      0 2020-02-18 19:52:44 UTC+0000                                 
    0x837f5d40 notepad.exe            3552   1964      2       61      1      0 2020-02-18 19:53:07 UTC+0000                                 
    0x82a7e568 iexplore.exe           3640   1964     16      468      1      0 2020-02-18 19:53:29 UTC+0000                                 
    0x847c8030 iexplore.exe           3696   3640     25      610      1      0 2020-02-18 19:53:29 UTC+0000                                 
    0x848a7030 mspaint.exe            2648   1964     18      383      1      0 2020-02-18 19:54:01 UTC+0000                                 

      发现几个比较关键的应用,notepad是文本编辑器,iexplore是ie浏览器,mspaint是xp系统自带的画板。TrueCrypt是一款免费,开源的支持Windows Vista/XP/2000 and Linux的绿色虚拟加密磁盘工具,可以在硬盘上创建一个或多个虚拟磁盘,所有虚拟磁盘上的文件都被自动加密,需要通过密码来进行访问。 TrueCrypt提供多种加密算法,如AES-256、Blowfish(448-bitkey)、CAST5、Serpent、Triple DES等,其他特性还包括支持FAT32和NTFS分区、隐藏卷标和热键启动。

      先看一下ie浏览器记录。

    volatility -f mem.raw --profile=Win7SP0x86 iehistory | grep 'https://'

      比较显眼就是访问了百度网盘,当我访问的时候发现分享的文件已经被取消了,但是在buu上面附件还是给了,一个OVL文件。

      看一下文本编辑器写了些什么。

    volatility -f mem.raw --profile=Win7SP0x86 editbox

      还是指向百度网盘,并且有这次有提取码。

      接下来看一下mspaint里面有什么,通过pid把这块的内存dump下来。

    volatility -f mem.raw --profile=Win7SP0x86 memdump -p 2648 --dump-dir=./

      将2648.dmp的后缀改成data,然后用gimp打开,通过调整位移、高度、宽度来尝试还原图片。

      先将高度拉到和画板一样高,长度盲猜1440,然后慢慢调位移。

      当发现有字母显示出来了,就别动位移了,慢慢调整宽度。

      截图放到word里面,垂直翻转,识别一下字母。

      但是这个字符串并不是flag。

      接下来就是TrueCrypt这个软件了,现在大概思路就出来了,OVL是用TrueCrypt来加密后的一个磁盘,现在需要对这个磁盘进行解密。

      在解密前先把TrueCrypt像dump mspaint一样把那块内存dump下来。

      解密需要用到一个软件叫Elcomsoft Forensic Disk Decryptor,可以用来破解这个磁盘文件的key值。

      上面选择加密后的磁盘文件,下面选择dump出来的内存。

      点成Unmount,在自己电脑的E盘发现key(其实我电脑本身是没有E盘的,这里是临时分区出这个盘放key值的)

      知道了key值,接下来用VeraCrypt挂载一下。

      发现flag文件,压缩包是加密的。还记得上面搞出来的字符串吗?

      解压出来就看到flag了。

    BMZCTF 内存取证三项

      题目内容:

    一天下午小白出去吃饭,临走之前还不忘锁了电脑,这时同寝室的小黑想搞点事情,懂点黑客和社工知识的小黑经过多次尝试获得了密码成功进入电脑,于是便悄悄在电脑上动起手脚了,便在桌面上写着什么,想给小白一个惊喜,同时还传送着小白的机密文件,正巧这时小白刚好回来,两人都吓了一跳,小黑也不管自己在电脑上留下的操作急忙离开电脑,故作淡定的说:“我就是随便看看”。
    1.小黑写的啥,据说是flag?
    2.那么问题来了,小白的密码是啥?
    3.小黑发送的机密文件里面到底是什么

      还是给了一个镜像文件,第一步先查看镜像的基本信息。

    volatility -f mem.raw imageinfo

      知道profile之后,扫描一下有没有带有flag字样的文件。

      没扫到任何东西,扫一下进程。

    0xff5ee020 notepad.exe             280   1416      1       50      0      0 2016-11-14 12:20:27 UTC+0000                                 
    0xff5c5020 cmd.exe                1568   1416      1       34      0      0 2016-11-14 12:23:34 UTC+0000                                 

      发现了两个比较可疑的进程,一个是notepad,一个是cmd。

      先看一下笔记本记录了些什么内容。

    volatility -f mem.raw Profile=WinXPSP2x86 editbox

      发现了一串16进制的字符串,太熟悉了。

    666C61677B57336C6563306D655F376F5F466F72336E356963737D

      666c6167,是flag的16进制的ascii码对应的值。16进制转字符串,出现第一个flag。

    flag{W3lec0me_7o_For3n5ics}

      根据题目要求,第二个是要知道小白电脑的开锁密码,获取内存中的系统密码,我们可以使用 hashdump 将它提取出来 。

    volatility -f mem.raw –profile=WinXPSP2x86 hashdump
    Volatility Foundation Volatility Framework 2.5
    Administrator:500:1e27e87bd14ec8af43714428b303e3e4:1e581aafa474dfadfdf83fc31e4fd4ea:::
    Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
    HelpAssistant:1000:687255e91a0f559b6d75553dbd51f785:b6125736bdd2d5f154fdce59f52e39f1:::
    SUPPORT_388945a0:1002:aad3b435b51404eeaad3b435b51404ee:fb41f8d1334fba131974c39bfab09512:::

      这里1e581aafa474dfadfdf83fc31e4fd4ea其实就是开锁密码的hash之后的密文。

      怎么破解出来的,网上的师傅们都是跑什么彩虹表,我就不研究了。感觉是出题人没考虑好,因为这个密文解不出来,很难受,就硬考字典全?第三问其实也给了提示。

      看一下cmd执行过哪些命令。

    volatility -f mem.raw Profile=WinXPSP2x86 cmdscan

      向另一台主机发送了一个压缩包,先找到这个压缩包。

    volatility -f mem.raw Profile=WinXPSP2x86 filescan | grep 'P@ss'

      把这个文件dump下来。

    volatility -f mem.raw Profile=WinXPSP2x86 dumpfiles -Q 0x0000000002c61318 -D ./

      file之后发现是zip格式的压缩包,被加密,根据上面的hint,密码是生日,那就是8位纯数字的密码,用压缩包爆破工具爆破一下。

      压缩包里面就是flag。


  • 相关阅读:
    office excel无法打开超链接解决方法
    mysql默认的数据库介绍(还没看,找时间研究)
    mysql目录结构及配置文件
    springboot-actuator应用后台监控
    服务器端负载均衡和客户端负载均衡的区别
    Spring Cloud Eureka 自我保护机制
    HDU 4028 The time of a day (dp+离散化)
    HDU 3652 B-number(数位DP)
    HDU 2966 In case of failure
    HDU 3622 Bomb Game
  • 原文地址:https://www.cnblogs.com/bhxdn/p/14807898.html
Copyright © 2011-2022 走看看