【实战】取证流程全解析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. 获取用户密码

步骤:

  1. 确定系统profile:

    vol.py -f OtterCTF.vmem imageinfo
    

    确认profile为Win7SP1x64

  2. 提取密码hash:

    vol.py -f OtterCTF.vmem --profile=Win7SP1x64 hashdump
    

    获取管理员账户的LM和NTLM hash

  3. 使用mimikatz获取明文密码:

    vol.py --plugins=./volatility-master/volatility/plugins -f OtterCTF.vmem --profile=Win7SP1x64 mimikatz
    

结果: MortyIsReallyAnOtter

2. 获取IP地址和主机名

步骤:

  1. 网络扫描:

    vol.py -f OtterCTF.vmem --profile=Win7SP1x64 netscan
    

    发现IP地址:192.168.202.131

  2. 获取主机名:

    • 查看注册表hive:
      vol.py -f OtterCTF.vmem --profile=Win7SP1x64 hivelist
      
    • 深入注册表路径:
      vol.py -f OtterCTF.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\Control\ComputerName\ComputerName"
      

结果: 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. 获取游戏角色名

步骤:

  1. 转储游戏进程内存:
    vol.py -f OtterCTF.vmem --profile=Win7SP1x64 memdump -p 708 -D ./
    
  2. 使用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. 追踪恶意软件来源网站

步骤:

  1. 搜索与用户相关的文件:
    vol.py -f OtterCTF.vmem --profile=Win7SP1x64 filescan | grep Rick
    
  2. 提取可疑种子文件:
    vol.py -f OtterCTF.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007dae9350 -D ./
    
  3. 分析文件内容:
    strings file.None.0x000000007dae9350.dat
    

结果: M3an_T0rren7_4_R!cke

9. 追踪种子文件来源

步骤:

  1. 转储浏览器进程:
    vol.py -f OtterCTF.vmem --profile=Win7SP1x64 memdump -n chrome -D ./chromeps
    
  2. 搜索种子相关字符串:
    strings ./chromeps/* | grep "download\.exe\.torrent" -A 10 -B 10
    

10. 获取勒索比特币地址

步骤:

  1. 转储恶意进程:
    vol.py -f OtterCTF.vmem --profile=Win7SP1x64 procdump -p 3720 -D ./
    
  2. 使用IDA分析可执行文件,搜索比特币相关字符串

结果: 1MmpEmebJkqXG8nQv4cjJSmxZQFVmFo63M

11. 识别攻击者信息

步骤:

  1. 使用dnSpy反编译恶意软件
  2. 检查资源部分,发现包含攻击者信息的图片

12. 获取加密密钥

步骤:

strings -eb OtterCTF.vmem | grep WIN-LO6FAF3DTFE-Rick

分析发现密钥由计算机名和用户名组合生成

13. 解密被锁文件

步骤:

  1. 使用HiddenTear Bruteforcer工具
  2. 输入获取的密钥
  3. 选择被加密文件目录进行解密

0x03 关键知识点总结

  1. 内存取证基础流程

    • 确定镜像profile
    • 提取系统基本信息(用户、网络、进程等)
    • 针对性分析可疑项目
  2. 密码提取技术

    • hashdump获取密码hash
    • mimikatz提取明文密码
    • 剪贴板记录分析
  3. 恶意软件分析

    • 异常进程识别(PPID>PID)
    • 进程内存转储与分析
    • 逆向工程分析恶意行为
  4. 勒索软件应对

    • 识别加密算法
    • 获取加密密钥
    • 使用专用工具解密
  5. 注册表分析

    • 通过hivelist定位关键注册表项
    • 逐级深入查找特定键值
    • 提取系统配置信息

0x04 资源参考

  1. Hidden-Tear勒索软件源码
  2. dnSpy反编译工具
  3. 内存取证技术指南
  4. Volatility官方文档

本实战演练完整展示了从内存镜像中提取关键信息、分析恶意软件行为到最终解密文件的完整数字取证流程,涵盖了Windows系统取证的主要技术点。

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