背景:作为信息安全技术人员必须能够掌握内容镜像分析、重要数据恢复、 恶意文件分析等相关技能,利用这些技能我们能够第一时间分析相关恶意文件、 分析蛛丝马迹帮助我们更好的完成应急响应工作。 应急响应阶段题目主要包含: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

CTF取证内存镜像 内存镜像分析_CTF取证内存镜像

得到md5   406990ff88f13dac3c9debbc0769588c 这个也是答案

CTF取证内存镜像 内存镜像分析_安全_02

flag{admin.dfsddew}

2、获取当前系统 ip 地址及主机名,以 Flag{ip:主机名}形式提交;

volatility -f 1.vmem --profile=Win7SP1x64 hivelist 查看注册表 

CTF取证内存镜像 内存镜像分析_网络安全_03

volatility -f 1.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey

CTF取证内存镜像 内存镜像分析_安全_04


volatility -f 1.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001"  

CTF取证内存镜像 内存镜像分析_linux_05

 答案  WIN-9FBAEH4UV8C
volatility -f 1.vmem --profile=Win7SP1x64 netscan     (获取IP地址)

CTF取证内存镜像 内存镜像分析_网络安全_06

答案 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

CTF取证内存镜像 内存镜像分析_安全_07

 flag{admin@file:///C:/Users/admin/Desktop/flag.txt}

4、当前系统中存在挖矿进程,请获取指向的矿池地址,以 Flag{ip:端口}形式 提交;

volatility_2.6_win64_standalone.exe -f worldskills3.vmem --profile=Win7SP1x64 netscan 

CTF取证内存镜像 内存镜像分析_安全_08

 flag{54.36.109.161:2222}

5、恶意进程在系统中注册了服务,请将服务名以 Flag{服务名}形式提交。

上题已经看到进程

volatility_2.6_win64_standalone.exe -f worldskills3.vmem --profile=Win7SP1x64 pslist -p 2588

CTF取证内存镜像 内存镜像分析_hive_09

再查看服务
volatility_2.6_win64_standalone.exe -f worldskills3.vmem --profile=Win7SP1x64 svcscan

CTF取证内存镜像 内存镜像分析_linux_10

 flag{VMnetDHCP}

参考

一篇适用于本人电脑的kali机volatility取证教程

内存-进程取证

前期知识:

pslist显示进程        cmdscan显示cmd历史命令

CTF取证内存镜像 内存镜像分析_安全_11

memdump -p 332 -D XX/ 提取进程   -p 进程号 -D 当前输出路径(导出为332.dmp)

        dump出来的进程文件,可以使用 foremost 来分离里面的文件,用 binwak -e 不推荐

strings -e l 2040.dmp | grep flag 查找flag

CTF取证内存镜像 内存镜像分析_CTF取证内存镜像_12

使用hivelist查看注册表

1.从内存文件中找到异常程序的进程,将进程的名称作为Flag值提交;

pstree查看进程树  3720 这个进程PPID比PID还大。

CTF取证内存镜像 内存镜像分析_hive_13

DLL  dlllist -p 查看一下这个进程的查看一下这个进程的DLL,发现程序是在temp目录下执行的,那这个应该就是恶意软件进程了。

CTF取证内存镜像 内存镜像分析_CTF取证内存镜像_14

flag{3720}


2.从内存文件中找到黑客将异常程序迁移后的进程编号,将迁移后的进程编号作为Flag值提交;

 通过*.exe的pid *

查看一下网络连接,注意因为这个版本为2003所以无法使用netscan只能使用connections

CTF取证内存镜像 内存镜像分析_安全_15

 发现可疑test进程的pid 并且响应的ip地址与剩下两个进程相同,判断为迁移后的进程编号

3.从内存文件中找到受害者访问的网站恶意链接,将网站的恶意链接作为Flag值提交;

ehistory 历史记录

4.从内存文件中找到异常程序植入到系统的开机自启痕迹,使用Volatility工具分析出异常程序在注册表中植入的开机自启项的Virtual地址,将Virtual地址作为Flag值提交;

查看注册表hivelist

CTF取证内存镜像 内存镜像分析_CTF取证内存镜像_16


0xe171b008就是虚拟内存

0x1d73e008 \Device\HarddiskVolume1\WINDOWS\system32\config\software 

解析是否存在开机自启项:

-o 0xe200f830 printkey

CTF取证内存镜像 内存镜像分析_CTF取证内存镜像_17

发现了windows注册表,接着访问windows下的注册表

 -o 0xe171b008 printkey -K "Microsoft\windows"
 

 -o 0xe171b008 printkey -K "Microsoft\windows\CurrentVersion\Run"

CTF取证内存镜像 内存镜像分析_CTF取证内存镜像_18


5.从内存文件中找到异常程序植入到系统的开机自启痕迹,将启动项最后一次更新的时间作为Flag值(只提交年月日,例如:20210314)提交。

shimcache

CTF取证内存镜像 内存镜像分析_安全_19