0%

[陇剑杯 2021]机密内存(问1) bigwario的WriteUp

2025-10-11 07:06By
bigwario
内存取证

Problem: [陇剑杯 2021]机密内存(问1)

思路

  • 解题大致思路
    下载解压得到
    一、分析
Encryption.bin01 Encryption.bin02 mem_secret-963a4663.vmem

在Encryption.bin02发现vmware等字眼,初步判断为vmware加密文件

bin01:vmss bin02:vmx(需修复)+vmdk(需修复) vmem:运行状态虚拟机的内存页面文件

二、恢复并破解密码
第一行指定编码格式,第二行是安全密匙(Url 编码的密匙信息+Base64编码的密匙),第三行是Base64编码的加密数据。
分离Encryption.bin02,以1250行0D0A为边界,分离文件为vmx和vmdk
NSSIMAGE
修改vmx文件头,如下

.encoding = "GBK" displayName = "mem_secret" 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 = "xxx...xxx"(xxx...xxxx为原始内容)

使用pyvmx-cracker.py爆破虚拟机密码

https://github.com/axcheron/pyvmx-cracker
λ python pyvmx-cracker.py -v mem_secret-963a4663.vmx -d wordlist.txt Starting pyvmx-cracker... [*] KeySafe information... ID = 0e0ed27bcaea90d2 Hash = PBKDF2-HMAC-SHA-1 Algorithm = AES-256 Config Hash = HMAC-SHA-1 Salt = fb6d4f75852a110775c1d4f60283c443 [*] Starting bruteforce... 2 password tested... 11 password tested... 15 password tested... 42 password tested... 78 password tested... 114 password tested... 116 password tested... 145 password tested... 155 password tested... 162 password tested... 184 password tested... 191 password tested... 208 password tested... 242 password tested... 300 password tested... 313 password tested... 325 password tested... 368 password tested... 409 password tested... 439 password tested... 449 password tested... 467 password tested... 476 password tested... 497 password tested... 545 password tested... [*] Password Found = 1q2w3e4r

导入vmware虚拟机,输入密码1q2w3e4r看到虚拟机界面
NSSIMAGE
此时查看详情磁盘,由于没有修复vmdk文件会报错,新建一个Workstation 15.x 虚拟机的windows 10 64位光板虚拟机,除了磁盘选择为单个文件,其余全默认,拿到光板的vmdk文件,改名为mem_secret-963a4663.vmdk,直接使用提示密钥错误,用Encryption.bin02中1800的内容替换掉mem_secret-963a4663.vmdk内存,查看提示密钥定位符错误,再去修补vmware:key/list里的vmware
NSSIMAGE
终于可以去掉vmem加密了,使用常用的取证工具开干。
三、收集容器操作系统系统的版本号+容器主机名+系统用户名

Volatility 3 Framework 2.26.0 Variable Value Kernel Base 0xf8005101d000 DTB 0x1ad000 Symbols 1.json.xz Is64Bit True IsPAE False layer_name 0 WindowsIntel32e memory_layer 1 FileLayer KdVersionBlock 0xf800514473c8 Major/Minor 15.18362 MachineType 34404 KeNumberProcessors 2 SystemTime 2021-09-10 16:30:03+00:00 NtSystemRoot C:\Windows NtProductType NtProductWinNt NtMajorVersion 10 NtMinorVersion 0 PE MajorOperatingSystemVersion 10 PE MinorOperatingSystemVersion 0 PE Machine 34404 PE TimeDateStamp Tue Aug 22 00:24:00 1972 Version: 10.0 (build 18363) Computer Name: DESKTOP-4N21ET2 Users: Ado (S-1-5-21-3401425409-1737843151-150623972-1000)

EXP

  • 具体攻击代码

总结

  • 对该题的考点总结
还没有人赞赏,快来当第一个赞赏的人吧!
  
© 著作权归作者所有
加载失败
广告
×
评论区
添加新评论