全国职业技能大赛网络安全-金砖技能大赛——应急响应内存镜像分析(超详细解析)
背景:作为信息安全技术人员必须能够掌握内容镜像分析、重要数据恢复、 恶意文件分析等相关技能,利用这些技能我们能够第一时间分析相关恶意文件、 分析蛛丝马迹帮助我们更好的完成应急响应工作。 应急响应阶段题目主要包含:Windows 内存镜像分析,Linux 内存镜像分析, 磁盘文件恢复,恶意程序分析等内容。
项目 1. 内存镜像分析
任务一 Windows 内存镜像分析
你作为 A 公司的应急响应人员,请分析提供的内存文件按照下面的要求找到 相关关键信息,完成应急响应事件。
1、从内存中获取到用户admin的密码并且破解密码,以Flag{admin,password} 形式提交(密码为 6 位);
//列举用户及密码
//volatility -f 1.vmem --profile=Win7SP1x86 printkey -K"SAM\Domains\Account\Users\Names"
//从内存中获取密码哈希
//volatility -f 1.vmem --profile=Win7SP1x86 hivelist
//从内存中获取密码哈希
volatility -f 1.vmem --profile=Win7SP1x86 hashdump (可以跟-f 也可以跟sam system的进程)
//尝试利用网站解密 解不开
md5:29fb61bd2963b1975cf435a2565af910
mimikatz插件也可以
使用自带的工具
volatility -f 1.vmem --profile=Win7SP1x64 lsadump
得到md5 406990ff88f13dac3c9debbc0769588c 这个也是答案
flag{admin.dfsddew}
2、获取当前系统 ip 地址及主机名,以 Flag{ip:主机名}形式提交;
volatility -f 1.vmem --profile=Win7SP1x64 hivelist 查看注册表
volatility -f 1.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey
volatility -f 1.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001"
答案 WIN-9FBAEH4UV8C
volatility -f 1.vmem --profile=Win7SP1x64 netscan (获取IP地址)
答案 192.168.85.129
flag{192.168.85.129:WIN-9FBAEH4UV8C}
3、获取当前系统浏览器搜索过的关键词,作为 Flag 提交;
volatility_2.6_win64_standalone.exe -f worldskills3.vmem --profile=Win7SP1x64 iehistory
flag{admin@file:///C:/Users/admin/Desktop/flag.txt}
4、当前系统中存在挖矿进程,请获取指向的矿池地址,以 Flag{ip:端口}形式 提交; volatility_2.6_win64_standalone.exe -f worldskills3.vmem --profile=Win7SP1x64 netscan
flag{54.36.109.161:2222}
5、恶意进程在系统中注册了服务,请将服务名以 Flag{服务名}形式提交。
上题已经看到进程
volatility_2.6_win64_standalone.exe -f worldskills3.vmem --profile=Win7SP1x64 pslist -p 2588
再查看服务
volatility_2.6_win64_standalone.exe -f worldskills3.vmem --profile=Win7SP1x64 svcscan
flag{VMnetDHCP}
内存-进程取证
前期知识:
pslist显示进程 cmdscan显示cmd历史命令
在这里插入图片描述
memdump -p 332 -D XX/ 提取进程 -p 进程号 -D 当前输出路径(导出为332.dmp)
dump出来的进程文件,可以使用 foremost 来分离里面的文件,用 binwak -e 不推荐
strings -e l 2040.dmp | grep flag 查找flag
在这里插入图片描述
使用hivelist查看注册表
1.从内存文件中找到异常程序的进程,将进程的名称作为Flag值提交;
pstree查看进程树 3720 这个进程PPID比PID还大。
DLL dlllist -p 查看一下这个进程的查看一下这个进程的DLL,发现程序是在temp目录下执行的,那这个应该就是恶意软件进程了。
flag{3720}
2.从内存文件中找到黑客将异常程序迁移后的进程编号,将迁移后的进程编号作为Flag值提交;
通过*.exe的pid *
查看一下网络连接,注意因为这个版本为2003所以无法使用netscan只能使用connections
发现可疑test进程的pid 并且响应的ip地址与剩下两个进程相同,判断为迁移后的进程编号
3.从内存文件中找到受害者访问的网站恶意链接,将网站的恶意链接作为Flag值提交;
ehistory 历史记录
4.从内存文件中找到异常程序植入到系统的开机自启痕迹,使用Volatility工具分析出异常程序在注册表中植入的开机自启项的Virtual地址,将Virtual地址作为Flag值提交;
查看注册表hivelist
0xe171b008就是虚拟内存
0x1d73e008 \Device\HarddiskVolume1\WINDOWS\system32\config\software
解析是否存在开机自启项:
-o 0xe200f830 printkey
发现了windows注册表,接着访问windows下的注册表
-o 0xe171b008 printkey -K "Microsoft\windows"
-o 0xe171b008 printkey -K "Microsoft\windows\CurrentVersion\Run"
5.从内存文件中找到异常程序植入到系统的开机自启痕迹,将启动项最后一次更新的时间作为Flag值(只提交年月日,例如:20210314)提交。
shimcache