附件资源
https://pan.baidu.com/s/1dGi5viSc4BLuZacGwwz3LA?pwd=ddvw
提取码: ddvw
任务简介
Windows 内存镜像分析
你作为 A 公司的应急响应人员,请分析提供的内存文件按照下面的要求找到相关关键信息,完成应急响应事件。
- 从内存中获取到用户admin的密码并且破解密码,以Flag{admin,password}形式提交(密码为 6 位);
- 获取当前系统 ip 地址及主机名,以 Flag{ip:主机名}形式提交;
- 获取当前系统浏览器搜索过的关键词,作为 Flag 提交;
- 当前系统中存在挖矿进程,请获取指向的矿池地址,以Flag{ip:端口}形式提交;
- 恶意进程在系统中注册了服务,请将服务名以Flag{服务名}形式提交。
取证过程
下面指令中用到的是Volatility 3
先来判断一下版本:
输入vol.exe -f worldskills3.vmem windows.info

然后是是密码,
输入:
vol.exe -f worldskills3.vmem windows.hashdump

这是在提取hash
发现:
Administrator 500 aad3b435b51404eeaad3b435b51404ee 31d6cfe0d16ae931b73c59d7e0c089c0
Guest 501 aad3b435b51404eeaad3b435b51404ee 31d6cfe0d16ae931b73c59d7e0c089c0
admin 1000 aad3b435b51404eeaad3b435b51404ee 29fb61bd2963b1975cf435a2565af910
尝试用hascat爆破一下六位密码,结果发现跑不出来。
hashcat.exe -m 1000 29fb61bd2963b1975cf435a2565af910 -a 3 ?a?a?a?a?a?a
说明这个hash值大概率不是密码了,密码没有存储在注册表的 SAM 文件里,而是被 LSA(本地安全权威)保护起来了。
那去看一下lsa:
vol.exe -f worldskills3.vmem windows.lsadump

结果发现竟然有个flag包裹起来的
flag{406990ff88f13dac3c9debbc0769588c}
按理说应该是ntlm哈希的,这里直接改成md5哈希并且用flag包裹起来了,这是一个简化,网站上搜一下就有了。

所以第一问是flag{admin,dfsdde}
注意这里其实md5解出来是7位,但是实际密码是6位,这里怀疑是出题人设计错了(多按了一个w?)
然后是获取当前系统 ip 地址及主机名,以 Flag {ip: 主机名} 形式提交;
查看ip地址的指令是
vol.exe -f worldskills3.vmem windows.netscan

ip就是192.168.85.128
至于主机名,我们可以直接查注册表
vol.exe -f worldskills3.vmem windows.registry.printkey --key "ControlSet001\Control\ComputerName\ComputerName"

找到 WIN-9FBAEH4UV8C
所以第二个问题是flag{192.168.85.129:WIN-9FBAEH4UV8C}
下一个是获取当前系统浏览器搜索过的关键词,作为 Flag 提交;
在内存取证中,浏览器搜索历史通常不会直接存储在注册表中,而是留在浏览器进程的内存或其磁盘缓存文件中。
如果是vol2,可以直接用iehistory,但是我这里是vol3。
先查浏览器进程
vol.exe -f worldskills3.vmem windows.pslist

vol.exe -f worldskills3.vmem windows.memmap --pid 2208 --dump
得到文件:

用010editor打开,搜到flag,发现这其实是一个文件访问路径,就是在浏览器里面访问了本地的文件路径。

flag{admin@file:///C:/Users/admin/Desktop/flag.txt}
下一步是
当前系统中存在挖矿进程,请获取指向的矿池地址,以Flag{ip:端口}形式提交;
挖矿进程要先看网络连接
vol.exe -f worldskills3.vmem windows.netscan

发现一个指向外部的可疑ip,用了2222端口
flag{54.36.109.161:2222}
然后是:
恶意进程在系统中注册了服务,请将服务名以 Flag {服务名} 形式提交。
搜索服务是
vol.exe -f worldskills3.vmem windows.pslist"
这里搜出来的服务很多,但是根据上面网络连接情况,可以得知进程pid是2588,

然后发现ppid是3036,这是父进程的pid,也就是上面一行的loader.exe
这里vol2在得知pid之后可以直接搜索服务,vol3要稍微多一步,我们要先去找一下启动进程的文件路径
vol.exe -f worldskills3.vmem windows.dlllist --pid 3036
发现是C:\ProgramData\VMnetDHCP\loader.exe
然后用vol.exe -f worldskills3.vmem windows.registry.printkey --key "ControlSet001\Services" --recurse > services_list.txt把所有服务导出来,再去文件里搜索

找到了服务名是VMnetDHCP
所以flag是flag{VMnetDHCP}