inctf Forensic复现 | Memlabs(下)
字数 1547 2025-08-06 18:07:49

MemLabs 内存取证实战教学文档

概述

MemLabs是一系列内存取证挑战,本教学文档将详细解析Lab 4、Lab 5和Lab 6的解题过程和技术要点,涵盖NTFS文件系统恢复、浏览器历史分析、进程分析等关键取证技术。

Lab 4 | Obsession

挑战描述

系统被入侵,重要文件被删除,需要通过内存转储恢复该文件。

关键技术点

  1. MFT表分析

    • NTFS文件系统的主文件表(MFT)记录所有文件信息
    • 文件删除后MFT条目标记为空闲但数据可能保留
    • 驻留文件(≤1024B)直接存储在MFT中
  2. Volatility命令

    volatility -f Lab4.raw --profile=Win7SP1x64 mftparser
    
  3. 解题步骤

    • 使用mftparser插件分析MFT表
    • 查找被删除但仍保留的驻留文件
    • 在MFT条目中发现分散的flag字符串
  4. 获取的Flag
    inctf{1_is_n0t_EQu4l_7o_2_bUt_th1s_d0s3nt_m4ke_s3ns3}

Lab 5 | Black Tuesday

挑战描述

系统被入侵,发现异常文件访问和应用程序崩溃,包含3个flag。

Flag 1获取

  1. 进程分析

    volatility -f Lab5.raw --profile=Win7SP1x64 pslist
    
  2. 命令行历史检查

    • 发现不可读的异常进程
    • 提取可疑进程内存
  3. IE历史分析

    volatility -f Lab5.raw --profile=Win7SP1x64 iehistory
    
    • 发现Base64编码的flag
    • 注意将"L4B_3_D0n3 !!"更正为"L4B_5_D0n3 !!"
  4. Flag 1
    flag{!!_w3LL_d0n3_St4g3-1_0f_L4B_5D0n3!!}

Flag 2获取

  1. 使用Flag 1作为密码解密压缩包
  2. Flag 2
    flag{W1thth1s$taGe_2_1sc0mPL3T3!!}

Flag 3获取

  1. Notepad.exe分析

    volatility -f Lab5.raw --profile=Win7SP1x64 memdump -p <notepad_pid> -D output/
    
    • 转储notepad进程内存
    • 使用IDA分析提取的可执行文件
  2. Flag 3
    bi0s{M3m_l4b5OVeR!}

Lab 6 | The Reckoning

挑战描述

黑帮成员系统内存转储,包含分为两部分的flag。

第一部分Flag获取

  1. 可疑进程分析

    • 重点关注WinRAR.exe进程
    • 提取WinRAR内存中的压缩文件
  2. 加密压缩包处理

    • 通过内存分析获取可能的密码
    • 成功解密后获得flag第一部分
  3. Flag第一部分
    aNAm4zINg!_igU3Ss???}

第二部分Flag获取

  1. 浏览器历史分析

    volatility --plugins=path/to/plugins -f Lab6.raw --profile=Win7SP1x64 chromehistory
    
    • 发现Google文档链接
    • 文档中包含Mega网盘链接
  2. Mega网盘密钥获取

    strings Lab6.raw | grep "Mega Drive Key"
    
  3. PNG文件修复

    • 使用Winhex修改损坏的PNG文件头
    • 将IHDR从69改为49(小写i到大写I)
  4. Flag第二部分
    inctf{thi5cH4LL3Ng3!s_g0nn4b3?_

完整Flag

inctf{thi5cH4LL3Ng3!s_g0nn4b3?_aNAm4zINg!_igU3Ss???}

关键技术总结

  1. MFT表分析

    • 关键插件:mftparser
    • 适用于恢复小文件(≤1024B)
  2. 浏览器历史分析

    • IE:iehistory
    • Chrome:需要安装插件chromehistory
    • 可发现网盘链接、文档等重要线索
  3. 进程内存转储

    • memdump命令转储特定进程内存
    • 对可疑进程(如notepad)进行逆向分析
  4. 字符串搜索

    strings 内存文件 | grep "关键词"
    
    • 快速定位密码、密钥等敏感信息
  5. 文件修复

    • 损坏的PNG等文件需要手动修复文件头
    • 使用Winhex等16进制编辑器

工具清单

  1. Volatility框架
  2. 额外插件:
    • chromehistory
    • iehistory
    • mftparser
  3. 辅助工具:
    • strings
    • Winhex
    • IDA Pro
    • Base64解码工具

通过本教学文档,您已掌握MemLabs内存取证的核心技术,包括文件恢复、进程分析、浏览器历史取证等关键技能。

MemLabs 内存取证实战教学文档 概述 MemLabs是一系列内存取证挑战,本教学文档将详细解析Lab 4、Lab 5和Lab 6的解题过程和技术要点,涵盖NTFS文件系统恢复、浏览器历史分析、进程分析等关键取证技术。 Lab 4 | Obsession 挑战描述 系统被入侵,重要文件被删除,需要通过内存转储恢复该文件。 关键技术点 MFT表分析 : NTFS文件系统的主文件表(MFT)记录所有文件信息 文件删除后MFT条目标记为空闲但数据可能保留 驻留文件(≤1024B)直接存储在MFT中 Volatility命令 : 解题步骤 : 使用mftparser插件分析MFT表 查找被删除但仍保留的驻留文件 在MFT条目中发现分散的flag字符串 获取的Flag : inctf{1_is_n0t_EQu4l_7o_2_bUt_th1s_d0s3nt_m4ke_s3ns3} Lab 5 | Black Tuesday 挑战描述 系统被入侵,发现异常文件访问和应用程序崩溃,包含3个flag。 Flag 1获取 进程分析 : 命令行历史检查 : 发现不可读的异常进程 提取可疑进程内存 IE历史分析 : 发现Base64编码的flag 注意将"L4B_ 3_ D0n3 !!"更正为"L4B_ 5_ D0n3 ! !" Flag 1 : flag{!!_w3LL_d0n3_St4g3-1_0f_L4B_5D0n3!!} Flag 2获取 使用Flag 1作为密码解密压缩包 Flag 2 : flag{W1thth1s$taGe_2_1sc0mPL3T3!!} Flag 3获取 Notepad.exe分析 : 转储notepad进程内存 使用IDA分析提取的可执行文件 Flag 3 : bi0s{M3m_l4b5OVeR!} Lab 6 | The Reckoning 挑战描述 黑帮成员系统内存转储,包含分为两部分的flag。 第一部分Flag获取 可疑进程分析 : 重点关注WinRAR.exe进程 提取WinRAR内存中的压缩文件 加密压缩包处理 : 通过内存分析获取可能的密码 成功解密后获得flag第一部分 Flag第一部分 : aNAm4zINg!_igU3Ss???} 第二部分Flag获取 浏览器历史分析 : 发现Google文档链接 文档中包含Mega网盘链接 Mega网盘密钥获取 : PNG文件修复 : 使用Winhex修改损坏的PNG文件头 将IHDR从69改为49(小写i到大写I) Flag第二部分 : inctf{thi5cH4LL3Ng3!s_g0nn4b3?_ 完整Flag inctf{thi5cH4LL3Ng3!s_g0nn4b3?_aNAm4zINg!_igU3Ss???} 关键技术总结 MFT表分析 : 关键插件:mftparser 适用于恢复小文件(≤1024B) 浏览器历史分析 : IE:iehistory Chrome:需要安装插件chromehistory 可发现网盘链接、文档等重要线索 进程内存转储 : memdump命令转储特定进程内存 对可疑进程(如notepad)进行逆向分析 字符串搜索 : 快速定位密码、密钥等敏感信息 文件修复 : 损坏的PNG等文件需要手动修复文件头 使用Winhex等16进制编辑器 工具清单 Volatility框架 额外插件: chromehistory iehistory mftparser 辅助工具: strings Winhex IDA Pro Base64解码工具 通过本教学文档,您已掌握MemLabs内存取证的核心技术,包括文件恢复、进程分析、浏览器历史取证等关键技能。