【实战】取证流程全解析Otter CTF实战操作 PART Ⅱ
字数 1588 2025-08-06 18:07:42
Otter CTF 数字取证实战全解析
0x00 前言
本实战案例基于一个名为Rick的用户的电脑内存镜像文件(OtterCTF.vmem)进行分析。Rick因使用BitTorrent下载盗版内容导致电脑感染勒索病毒,所有文件被加密为.locked后缀。我们将使用Volatility框架逐步分析该内存镜像,提取关键信息。
0x01 环境准备
工具准备
- Volatility框架:主要内存取证工具
- mimikatz:用于提取明文密码
- strings:字符串提取工具
- IDA Pro:逆向分析工具
- dnSpy:.NET反编译工具
- HiddenTear Bruteforcer:勒索软件解密工具
基础命令
vol.py -f OtterCTF.vmem imageinfo # 获取镜像基本信息
vol.py -f OtterCTF.vmem --profile=Win7SP1x64 [command] # 指定profile执行命令
0x02 实战分析流程
1. 获取用户密码
步骤:
-
确定系统profile:
vol.py -f OtterCTF.vmem imageinfo确认profile为Win7SP1x64
-
提取密码hash:
vol.py -f OtterCTF.vmem --profile=Win7SP1x64 hashdump获取管理员账户的LM和NTLM hash
-
使用mimikatz获取明文密码:
vol.py --plugins=./volatility-master/volatility/plugins -f OtterCTF.vmem --profile=Win7SP1x64 mimikatz
结果: MortyIsReallyAnOtter
2. 获取IP地址和主机名
步骤:
-
网络扫描:
vol.py -f OtterCTF.vmem --profile=Win7SP1x64 netscan发现IP地址:192.168.202.131
-
获取主机名:
- 查看注册表hive:
vol.py -f OtterCTF.vmem --profile=Win7SP1x64 hivelist - 深入注册表路径:
vol.py -f OtterCTF.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\Control\ComputerName\ComputerName"
- 查看注册表hive:
结果: WIN-LO6FAF3DTFE
3. 识别运行的游戏及服务器
步骤:
vol.py -f OtterCTF.vmem --profile=Win7SP1x64 netscan
分析网络连接进程,发现:
- BitTorrent.exe:种子下载器
- LunarMS.exe:老式游戏客户端
结果: 游戏为LunarMS,连接服务器为游戏官方服务器
4. 获取游戏登录账户名
步骤:
strings OtterCTF.vmem | grep Lunar-3 -A 5 -B 5
在内存中搜索游戏频道Lunar-3相关的字符串
结果: Ott3r8r33z3
5. 获取游戏角色名
步骤:
- 转储游戏进程内存:
vol.py -f OtterCTF.vmem --profile=Win7SP1x64 memdump -p 708 -D ./ - 使用yarascan插件搜索特定模式:
vol.py -f OtterCTF.vmem --profile=Win7SP1x64 yarascan -Y "/\x64(.{6,8})\x40\x06(.{18})\x5a\x0c\x00\x00/i" -p 708
结果: M0rtyL0L
6. 获取电子邮件密码
步骤:
vol.py -f OtterCTF.vmem --profile=Win7SP1x64 clipboard
检查剪贴板历史记录
结果: 从剪贴板中获取到邮件密码
7. 识别恶意软件进程
步骤:
vol.py -f OtterCTF.vmem --profile=Win7SP1x64 pstree
分析异常进程关系,发现PPID>PID的可疑进程
结果: vmware-tray.exe
8. 追踪恶意软件来源网站
步骤:
- 搜索与用户相关的文件:
vol.py -f OtterCTF.vmem --profile=Win7SP1x64 filescan | grep Rick - 提取可疑种子文件:
vol.py -f OtterCTF.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007dae9350 -D ./ - 分析文件内容:
strings file.None.0x000000007dae9350.dat
结果: M3an_T0rren7_4_R!cke
9. 追踪种子文件来源
步骤:
- 转储浏览器进程:
vol.py -f OtterCTF.vmem --profile=Win7SP1x64 memdump -n chrome -D ./chromeps - 搜索种子相关字符串:
strings ./chromeps/* | grep "download\.exe\.torrent" -A 10 -B 10
10. 获取勒索比特币地址
步骤:
- 转储恶意进程:
vol.py -f OtterCTF.vmem --profile=Win7SP1x64 procdump -p 3720 -D ./ - 使用IDA分析可执行文件,搜索比特币相关字符串
结果: 1MmpEmebJkqXG8nQv4cjJSmxZQFVmFo63M
11. 识别攻击者信息
步骤:
- 使用dnSpy反编译恶意软件
- 检查资源部分,发现包含攻击者信息的图片
12. 获取加密密钥
步骤:
strings -eb OtterCTF.vmem | grep WIN-LO6FAF3DTFE-Rick
分析发现密钥由计算机名和用户名组合生成
13. 解密被锁文件
步骤:
- 使用HiddenTear Bruteforcer工具
- 输入获取的密钥
- 选择被加密文件目录进行解密
0x03 关键知识点总结
-
内存取证基础流程:
- 确定镜像profile
- 提取系统基本信息(用户、网络、进程等)
- 针对性分析可疑项目
-
密码提取技术:
- hashdump获取密码hash
- mimikatz提取明文密码
- 剪贴板记录分析
-
恶意软件分析:
- 异常进程识别(PPID>PID)
- 进程内存转储与分析
- 逆向工程分析恶意行为
-
勒索软件应对:
- 识别加密算法
- 获取加密密钥
- 使用专用工具解密
-
注册表分析:
- 通过hivelist定位关键注册表项
- 逐级深入查找特定键值
- 提取系统配置信息
0x04 资源参考
本实战演练完整展示了从内存镜像中提取关键信息、分析恶意软件行为到最终解密文件的完整数字取证流程,涵盖了Windows系统取证的主要技术点。