CTF入门|第7期 取证分析

admin 2026年7月20日13:32:12评论115 views字数 4084阅读13分36秒阅读模式

CTF取证分析是Misc方向最具实战价值的分支,涵盖内存、磁盘和网络流量分析。内存取证使用Volatility提取进程、网络连接和文件;磁盘取证通过FTKImager/Autopsy恢复删除文件;流量分析用Wireshark过滤和导出对象。本文从基础命令到实战链路,系统讲解如何从内存dump到最终Flag的完整流程。

    CTF的Misc(杂项)方向中,取证分析是最具实战价值的分支之一。它不要求你写复杂的exp,但考验你对系统痕迹的理解、对数据流的追踪能力和对工具链的熟练度。从内存到磁盘再到网络流量,每一项都是真实安全事件中攻击者留下的蛛丝马迹。     
本期速览   ① 内存取证 — Volatility核心操作、提取进程/网络/文件   ② 磁盘取证 — FTK Imager/Autopsy、恢复删除文件   ③ 流量分析 — Wireshark关键过滤、对象导出、协议分析   ④ 实战场景串讲 — 从内存dump到Flag的完整链路
一、内存取证:Volatility实战
    内存取证是CTF中最高频的取证题型。赛题通常给一个内存镜像(.raw/.mem/.vmem),用 Volatility 分析提取Flag。Volatility 3 是目前的主力版本(Python 3原生),无需profile文件,支持自动识别系统版本。以下是CTF中最常用的分析命令。     
▎ 1. 基础信息识别
    第一步永远是确认镜像信息,包括操作系统版本、内核基址等。Volatility 3自动做了大部分工作。     
# Volatility3python3 vol.py -f memory.dump --helppython3 vol.py -f memory.dump windows.info# Volatility2volatility -f memory.dump imageinfo
▎ 2. 进程排查
    恶意进程是最直接的线索。重点关注可疑进程名(如 svch0st.exe、mimikatz.exe)、父进程关系异常(如 notepad.exe 启动 cmd.exe)、隐藏进程。     
# Vol3 进程相关python3 vol.py -f memory.dump windows.pslistpython3 vol.py -f memory.dump windows.pstreepython3 vol.py -f memory.dump windows.psscanpython3 vol.py -f memory.dump windows.memdump --pid 1234
▎ 3. 网络连接与CMD历史
    异常网络连接往往是C2通信的痕迹。CTF中经常在内存中藏着Flag字符串或执行过的命令。     
# Vol3 取证常用python3 vol.py -f memory.dump windows.netscanpython3 vol.py -f memory.dump windows.cmdlinepython3 vol.py -f memory.dump windows.notepadpython3 vol.py -f memory.dump windows.clipboard
▎ 4. 文件提取
    MISC题中Flag可能藏在某个被删除的文件或桌面截图里。Volatility可以直接从内存镜像中扫描和导出文件。     
# Vol3 文件取证python3 vol.py -f memory.dump windows.filescanpython3 vol.py -f memory.dump windows.filescan | grep -i flagpython3 vol.py -f memory.dump windows.dumpfiles --virtaddr 0x...python3 vol.py -f memory.dump windows.mftscan
二、磁盘取证:恢复与解析
磁盘取证题通常给一个镜像文件,需要选手在文件系统中找到被隐藏或删除的Flag。CTF中常见的藏匿方式包括:     
藏匿方式
检测方法
工具
已删除文件
恢复删除文件的残留数据
FTK Imager、TestDisk
隐藏文件
NTFS ADS、隐藏属性
Autopsy、sleuthkit
加密容器
VeraCrypt/TrueCrypt卷检测
VeraCrypt、BitLocker
文件签名伪装
魔数校验、file命令
binwalk、foremost
    最常用的工具是 foremost 和 binwalk 进行文件雕刻(File Carving),直接从磁盘二进制数据中按文件头匹配提取图片、压缩包、文档等。TestDisk/PhotoRec 则适合恢复分区表和被删除的目录结构。     
# foremost 文件恢复foremost -i disk.dd -o recovered/# binwalk 递归提取binwalk -Me disk.img# 字符串检索flagstrings disk.dd | grep -i flag{strings disk.dd | grep -i 'CTF|flag'
    实战技巧:拿到磁盘镜像后先用 strings 快速扫一遍,有时出题人只是将Flag写在文本中但没做任何隐藏。如果不行,用 file 命令确认文件类型,再根据类型选择对应的恢复方案。     
三、流量分析:Wireshark实战
    流量包(.pcap/.pcapng)在CTF中模拟网络攻击场景,选手需要通过分析数据包还原攻击过程或提取Flag。Wireshark是最核心的工具,以下是在CTF中最高频的过滤规则:     
过滤表达式
用途
http
过滤HTTP流量,查看请求/响应内容
tcp contains flag
搜索TCP流中的特定字符串
ftp-data
过滤FTP数据传输
dns.qry.name contains flag
DNS隧道/外带数据检测
icmp
ICMP隧道/隐蔽通信检测
    Wireshark的 Follow TCP Stream 功能可以完整还原一次TCP会话的内容,非常适合HTTP请求/响应、FTP传输、邮件通信等场景。在CTF中,Flag可能藏在HTTP POST请求体、FTP下载的文件内容或SMTP附件中。
# tshark流量提取tshark -r capture.pcap --export-objects http,/tmp/http_objtshark -r capture.pcap --export-objects smb,/tmp/smb_objtshark -r capture.pcap -z follow,tcp,ascii,0tshark -r capture.pcap -z io,phs
    tshark 是Wireshark的命令行版,在CTF远程服务器环境(没有GUI)下非常实用。掌握 -Y(显示过滤)、-T fields(字段提取)、-z(统计)三个参数,大部分CTF流量分析题都能搞定。     
四、实战场景:完整解题链路
    我们把学到的技术串起来,模拟一个CTF真实赛题场景。     
▎ 题目描述
   拿到一个Windows内存镜像 challenge.raw,提示有恶意进程正在窃取敏感信息,请找到Flag。     
▎ 解题步骤
    Step 1:确认镜像基本信息。Volatility 3自动识别出Windows 10 x64系统。    
python3 vol.py -f challenge.raw windows.info
    Step 2:查看进程树,发现 notepad.exe (PID 2560) 正在运行 — 这是一个常见Flag藏匿点。
python3 vol.py -f challenge.raw windows.pstreepython3 vol.py -f challenge.raw windows.notepad
  Step 3:notepad插件返回内容是Flag{W1nd0ws_M3m0ry_F0r3ns1cs},直接提交即可。 
    这是最简单的场景。更复杂的题目会在进程的cmdline参数、剪贴板、网络连接的目的IP(拼接成Flag)、或某个被删除文件中藏Flag。你需要灵活组合以下分析流程:     
🔍 取证分析通用流程1️⃣ 信息收集 — 确认镜像类型、系统版本、时间范围   2️⃣ 异常检测 — 进程列表、网络连接、开机启动项   3️⃣ 数据提取 — 文件导出、CMD历史、剪贴板、注册表   4️⃣ 关联分析 — 还原攻击链、拼接完整Flag   5️⃣ 工具辅助 — 流量包、磁盘镜像交叉比对   
五、工具速查与踩坑记录
    以下是CTF取证分析中必备的工具清单和常见踩坑点。     
工具
用途
安装方式
Volatility 3
内存取证
pip install volatility3
Wireshark/tshark
流量分析
apt install wireshark
foremost
文件雕刻恢复
apt install foremost
binwalk
固件/文件分析
pip install binwalk
strings
字符串搜索
内置(binutils)
Autopsy/sleuthkit
磁盘取证分析
apt install autopsy
⚠️ 常见踩坑🔴Volatility 2 vs 3混用 — vol2需要profile参数(如 --profile=Win7SP1x64),vol3不需要。记错会一直报错。strings输出太大 — 直接对镜像跑strings会生成海量输出,记得用 grep 或 tee 分段查看。       🔴文件提取权限 — 某些CTF环境限制Volatility文件的导出路径,先检查当前目录写权限。  🔴 Pcap文件过大 — 用 editcap 按时间切片或 tshark -Y 按过滤条件拆包。   
觉得有用?点个在看支持一下
📌 值班员说取证分析是Misc方向最"有用"的分支 — 学到的技术在渗透测试、应急响应和溯源分析中都能直接用。记住一个原则:先strings后vol,先浏览后深挖。下期我们进入编码与古典密码的世界,从凯撒密码到维吉尼亚,从Base64到培根密码,打通密码学CTF的第一道关卡。

原文始发于微信公众号(安全值班室):CTF入门|第7期 取证分析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2026年7月20日13:32:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CTF入门|第7期 取证分析https://cn-sec.com/archives/5346564.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息