题目
这是今年湖北竞赛的一道题。题目地址题目描述如下:
你作为 A 公司的应急响应人员,请分析提供的内存文件按照下面的要求找到 相关关键信息,完成应急响应事件。
1、从内存中获取到用户admin的密码并且破解密码,以Flag{admin,password} 形式提交(密码为 6 位);
2、获取当前系统 ip 地址及主机名,以 Flag{ip:主机名}形式提交;
3、获取当前系统浏览器搜索过的关键词,作为 Flag 提交;
4、当前系统中存在挖矿进程,请获取指向的矿池地址,以 Flag{ip:端口}形式 提交;
5、恶意进程在系统中注册了服务,请将服务名以 Flag{服务名}形式提交.
分析
破解密码
照例看一下镜像信息。
volatility.exe -f worldskills3.vmem imageinfo
得到系统是Win7SP1x64
接下来可以先试试扫密码的hash,然后john jump。但一般情况下都是直接跑lsadump
volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 lsadump
得到如下结果:
一般情况下题目给的md5都是可以解密的,直接无脑梭406990ff88f13dac3c9debbc0769588c,得到dfsddew.
*flag{admin.dfsddew}
ip与主机名
扫描ip端口什么的,可以用netscan,类似于windows上的ipconfig
volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 netscan
注意到有这么一个神奇的ESTABLISHED玩意
ESTABLISHED在一众LISTENING与CLOSED里面显得格格不入,说明这么多玩意只有这个在跟远程主机通信,那么这个ip就是本机ip
192.168.85.129
主机名可以通过注册表获取。我们先用hivelist看一下表。
volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 hivelist
注意到有这么一个玩意
0xfffff8a000024010 0x00000000070cd010 \REGISTRY\MACHINE\SYSTEM
接下来就一步一步跟到底就行,得到主机名
volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\Control\ComputerName\ComputerName"
结合一下得到flag
*flag{192.168.85.129.WIN-9FBAEH4UV8C}
浏览器关键词
这个更简单,直接扫iehistory即可
volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 iehistory
直接爆出来
URL: admin@file:///C:/Users/admin/Desktop/flag.txt
那么flag就是这个
*flag{admin@file:///C:/Users/admin/Desktop/flag.txt}
挖矿进程
前面分析可以知道,只有一个进程建立了通讯,远程主机是54.36.109.161:2222
*flag{54.36.109.161:2222}
恶意服务
结合前文,有这么一个挖矿的玩意,那么先看看是不是他。他的进程id是2588,查一下父进程
volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 pslist -p 2588
得到的输出中可以看到,PPID是3036.直接扫一下svcscan
volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 svcscan
最末端看到了这个玩意
flag也就出来了
*flag{VMnetDHCP}