目前做过的内存取证题不多,这道题难度较高具有启发意义,所以记录一下留作以后参照
复现地址:<[陇剑杯 2021]机密内存(问1) | NSSCTF>
知识了解之vmware虚拟机文件类型

思考过程
解压后拿到三个文件,vmem为分页备份文件, 其余两个文件类型暂时不清楚. 先尝试提取发现果然是不行的

接下来看看另外两个文件
打开Encryption.bin01发现为一个二进制文件

根据文件大小数千kb和本地的vmss文件(虚拟机挂起时记录状态的文件)进行对比判断Encryption.bin01为vmss文件

将Encryption.bin01文件重命名为mem_secret-963a4663.vmss,vmss文件的文件名一定要和vmem文件名对应,否则无法读取挂起的状态

然后打开Encryption.bin02文件发现一半是某种加密可见字符串,另一半出现较多乱码
将后半中的未加密字符串进行搜索发现提到加密和vmx文件

打开本地kali的vmx文件发现是一些配置,由此看来是对配置信息进行了加密

拿我本地另一台机器加密实验一下


加密后打开确实发现大量加密字符串,但是头部发现了一些信息是bin02文件没有的,判断部分关键信息被出题人删了,我们需要进行修复. 还有在vmx加密文件中未发现不可见字符串,所以判断bin02文件后半部分是另外一个文件

使用010将后半段单独提出来到一个16进制文本,

将关键字lsilogic丢入gpt,因为我们已经判断出前半部分为vmx文件,所以我们与vmdk文件作对比看看

经过比对发现大量相似特征,010导出后命名为vmem文件名+vmdk


注意: 这里一定要摆脱刻板印象,不是所有vmdk文件都很大!

接下来就是修复vmx文件然后尝试挂载该虚拟机然后解除加密即可得到明文文件进行内存取证
以下地方需要进行修复, 按照本地加密的样本来进行修复bin02文件

上面已经将后半部分提取出去, 直接改为vmx文件, 至此完成修复工作

解除密码保护
吐了这里,开始少打了一个空格一直导不进去md
vmx文件内容
1
2
3
4
|
.encoding = "GBK"
displayName = "buzhidao"
encryption.keySafe = "vmware:key/list/(pair/(phrase/Dg7Se8rqkNI%3d/pass2key%3dPBKDF2%2dHMAC%2dSHA%2d1%3acipher%3dAES%2d256%3arounds%3d10000%3asalt%3d%2b21PdYUqEQd1wdT2AoPEQw%253d%253d,HMAC%2dSHA%2d1,CgKwC5U7lfLjpVohwbpxufC11yU4a0%2byrP08oY0KDDcP1NL%2fRiLojwTz2JnYqm7baAhtgENYUeFUHXwODjSClaJ%2bSRBhKw6UwET6p3AYK8vs4T0cBrvTjYSrs0baLgG7dozcvL5JxA%2fKYJvriz4Mf%2bMmVvE%3d))"
encryption.data ="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"
|
提示虚拟机加密, 可以使用这个项目来尝试破解密码https://github.com/axcheron/pyvmx-cracker

命令:
python39 .\pyvmx-cracker.py -v mem_secret.vmx -d wordlist.txt
得到密码:1q2w3e4r

接下来就是移除加密

结果却发现无法移除加密,磁盘问题,说明vmdk文件仍然存在问题

恢复vmdk
这个界面很明显是win10

通过之前的比对我们现在需要一个合法的文件头与填充。所以重新创建一个win10虚拟机,此时并不需要去安装win10系统(因为我们的目的只是获取到正确的vmdk文件,VMware在我们安装系统前便已经为我们生成),再用任意的密码加密这个win10虚拟机得到同一密码加密后的完整的vmdk文件,试着用得到的完整的vmdk文件修复原来那个分离出来的残缺vmdk
win10 iso镜像下载点https://www.microsoft.com/zh-cn/software-download/windows10
下载步骤如下:




坑1
新建一个Win10虚拟机,这里有个坑,记录一下:我们发现这里不能选择拆分成多个文件,否则会导致有多个vmdk,同时内部格式也会与单个vmdk有所不同,最后也试过无法移除加密。
除了下面这个其他全部默认就好, 磁盘不够的话给个30就行,不用装系统
选择15系的


进行加密,我还是用的相同的密码:1q2w3e4r

打开题目附件里的损坏vmdk将0x18前的部分全部删除

接下来找到本地的win10 vmdk文件拖入010

找到偏移地址0x200处, 将光标移到0x18前面, 然后通过左上角 “编辑-插入/覆盖-覆盖文件"选取破损vmdk覆盖

覆盖后在偏移地址0x220处覆盖字节为vmware达成格式

覆盖后:

接着重命名此vmdk文件,此时虚拟机修复完成,将其放到被加密的虚拟机目录下。
这里还有个坑:修复完成后不要试图开启虚拟机,否则vmem文件会被删除。
在访问控制中移除加密成功

内存取证
终于成功加载了!

这道题好像只能用vol3,vol2不行
问1
取证人员首先对容器的基本信息进行核实,经过确定该容器的基本信息为________。(答案为32位小写md5(容器操作系统系统的版本号+容器主机名+系统用户名),例如:操作系统的版本号为10.0.22449,容器主机名为DESKTOP-0521,系统登录用户名为admin,则该题答案为32位小写md5(10.0.22449DESKTOP-0521admin) 的值ae278d9bc4aa5ee84a4aed858d17d52a)。得到的flag请使用NSSCTF{}格式提交。
利用一把梭工具得到主机名和用户

还是导出注册表然后使用wrr工具分析注册表

将10.0.18363DESKTOP-4N21ET2Ado
md5加密后得到flag
然而提交不对,看官方wp里面是6.3.18362 , 不知道哪出了问题

问2
黑客入侵容器后曾通过木马控制端使用Messagebox发送过一段信息,该信息的内容是____________。(答案为Messagebox信息框内内容)。得到的flag请使用NSSCTF{}格式提交。
挂起页面已经显示出来了, Best_hacker

问3
经过入侵分析发现该容器受到入侵的原因为容器使用人的违规进行游戏的行为,该使用人进行游戏程序的信息是__________。(答案为“32位小写md5(游戏程序注册邮箱+游戏程序登录用户名+游戏程序登录密码),例如:注册邮箱为[email protected],登录用户名为user,密码为user1234,则该题答案为” [email protected]”的小写md5值5f4505b7734467bfed3b16d5d6e75c16)。得到的flag请使用NSSCTF{}格式提交。
从快照和安装软件可以看到使用了steam


拖到kali用正则搜索镜像中的邮箱
命令:
strings mem_secret-963a4663.vmem | grep -E "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}"

发现邮箱[email protected]多次在路径中出现而且存在该邮箱命名的文件夹,多半为用户邮箱
使用命令查找账号密码,拿到notepad++搜一下找到账号密码请求
strings mem_secret-963a4663.vmem -n 10 |grep -C 3 "password">mem_secret-963a4663_output.txt

将[email protected]_you1jock.2021 md5加密即可得到flag
问4
经过入侵分析发现该容器曾被黑客植入木马控制的信息是_________。(答案为“32位小写md5(木马程序进程名+木马回连ip地址+木马回连ip端口)”,例如:木马程序进程名为svhost.exe,木马回连ip为1.1.1.1,木马回连端口为1234,则该题答案为“svhost.exe1.1.1.11234”的32位小写md5值f02da74a0d78a13e7944277c3531bbea)。得到的flag请使用NSSCTF{}格式提交
根据第三题可以判断是攻击者通过映像劫持等技术造成机主在启动steam的时候马儿也生效了,我就直接先看异常对外连接再看进程了,因为进程多半伪装了没那么好找
发现异常对外连接,确定ip为192.168.241.147,回连端口为8808

进程列表搜索steam,玩过steam的都知道steam.exe还有很多其他服务比如steamhelper

第二个steam.exe单一个进程, 判断此进程为异常进程

将steam.exe192.168.241.1478808
MD5加密得到flag
问5
经过入侵分析,发现黑客曾经运行过痕迹清除工具,该工具运行的基本信息是________。(答案为“32为小写md5”(痕迹清除工具执行程序名+最后一次运行时间),例如:黑客运行工具执行程序名为run.exe,运行时间为2021-07-10 10:10:13,则本题的答案为小写的32位md5(run.exe2021-07-10 10:10:13) 值为82d7aa7a3f1467b973505702beb35769,注意:本题中运行时间的格式为yy-mm-dd hh:mm:ss,时间时区为UTC+8)。得到的flag请使用NSSCTF{}格式提交。
最后这个用vol3找不出,vol2.6跑不了,看官方wp用的2.61,直接丢答案了
1
|
python2 vol.py -f mem_secret-963a4663.vmem --profile=Win10x64_18362 userassist
|

答案为md5(Wywz.exe2021-09-1021:10:13)
d46586ca847e6be1004037bc288bf60c