news 2026/6/1 4:52:13

Wireshark实战:从CTF流量包中手动提取隐藏图片与加密压缩包(附010 Editor操作)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Wireshark实战:从CTF流量包中手动提取隐藏图片与加密压缩包(附010 Editor操作)

Wireshark实战:从CTF流量包中手动提取隐藏图片与加密压缩包(附010 Editor操作)

在网络安全竞赛中,流量分析往往是揭开谜题的第一步。当面对一个混杂了各种网络请求的pcapng文件时,如何像侦探一样抽丝剥茧,从海量数据中找出隐藏的线索?本文将带你体验一次完整的手动取证过程,不使用任何自动化工具,仅凭Wireshark和010 Editor,一步步还原出隐藏在流量中的图片和加密压缩包。

1. 准备工作与环境搭建

1.1 工具准备清单

  • Wireshark:网络协议分析工具,最新稳定版即可
  • 010 Editor:十六进制编辑器,支持多种文件格式解析
  • 文本编辑器:Notepad++或VS Code等支持纯文本编辑的工具
  • Python环境(可选):用于编写简单的数据处理脚本

提示:所有工具均可从官网下载,建议使用默认配置安装,避免兼容性问题。

1.2 基础网络知识储备

在开始分析前,需要了解几个关键概念:

  1. HTTP POST请求:常用于上传数据到服务器,在CTF中常被用来隐藏文件
  2. 文件签名(Magic Number):每种文件类型都有独特的头部标识
    • JPEG:FF D8 FF
    • ZIP:50 4B 03 04
  3. Base64编码:常用于数据传输中的二进制内容编码
# 简单的Base64解码示例 import base64 encoded = "VGhpcyBpcyBhIHRlc3Q=" decoded = base64.b64decode(encoded).decode('utf-8') print(decoded) # 输出: This is a test

2. 初步流量分析与可疑数据定位

2.1 过滤HTTP POST请求

打开Wireshark加载pcapng文件后,首先应用显示过滤器:

http.request.method == POST

这一过滤条件能快速定位到可能包含上传数据的请求。在真实CTF场景中,攻击者常使用中国菜刀等工具通过POST请求上传文件,这些请求往往是我们需要重点关注的对象。

2.2 追踪TCP流分析内容

右键点击可疑数据包,选择"Follow" → "TCP Stream",这里可以发现几个关键特征:

  1. 请求内容通常包含明显的参数名(如z1、z2等)
  2. 数据部分可能呈现为:
    • Base64编码的字符串
    • 连续的十六进制字符
    • 明显的文件头标识(如PK表示ZIP)

异常流量识别要点

  • 相比普通POST请求,文件上传的流通常更长
  • 观察Content-Type是否为application/octet-stream
  • 检查是否有分段传输编码(chunked transfer encoding)

3. 图片文件提取与处理

3.1 识别JPEG文件特征

在追踪流中,发现以下关键特征即可能指向隐藏的图片:

  1. 文件头标识FF D8 FF(JPEG起始标记)
  2. 文件尾标识FF D9(JPEG结束标记)
  3. 数据格式:连续的十六进制字符对,可能由空格或换行分隔

3.2 使用010 Editor重建图片

手动提取步骤:

  1. 将十六进制数据复制到纯文本文件(如hexdata.txt)
  2. 在010 Editor中选择"File" → "Import" → "Hex Text"
  3. 导入时注意选择正确的格式:
    • 分隔符:空格或换行
    • 字节序:Little Endian
  4. 保存为.jpg文件后验证图片完整性

常见问题处理

  • 如果图片无法打开,检查是否有多余的非十六进制字符混入
  • 使用010 Editor的"Tools" → "Hex Operations" → "Remove Non-Hex"清理数据
  • 确认文件头尾完整,必要时手动补全缺失部分

4. 加密压缩包提取与破解

4.1 定位ZIP压缩包

在Wireshark中继续分析,寻找以下特征:

  1. PK签名:ZIP文件以50 4B 03 04开头
  2. 文件结构:中央目录记录以50 4B 01 02开头
  3. 数据分布:ZIP包可能分散在多个TCP分段中

4.2 手动提取二进制数据

不同于使用foremost等自动化工具,手动提取需要:

  1. 在Wireshark中选中包含ZIP头的数据包
  2. 展开"Data"部分,右键选择"Export Packet Bytes"
  3. 使用文本编辑器打开,删除多余的协议头部数据
  4. 在010 Editor中修复文件结构:
# 使用zip命令测试文件完整性 zip -T extracted.zip

4.3 密码破解与文件解压

从之前提取的图片中获得的密码提示(如"Th1s_1s_p4sswd_!!!"),尝试解压:

unzip -P 'Th1s_1s_p4sswd_!!!' extracted.zip

如果密码不正确,可以考虑:

  • 检查密码是否有大小写错误
  • 尝试常见的密码变形(如替换数字和特殊字符)
  • 使用图片中的字符串作为字典进行暴力破解

5. 高级技巧与异常处理

5.1 处理分段传输的文件

当文件被分成多个TCP分段传输时,需要:

  1. 在Wireshark中识别所有相关分段(tcp.stream eq X)
  2. 按顺序导出每个分段的数据
  3. 使用010 Editor合并文件:
    • "File" → "New" → "Binary File"
    • 使用"Paste Insert"按顺序插入各分段

5.2 修复损坏的文件结构

常见修复场景及方法:

问题类型修复方法工具推荐
头部损坏手动添加正确的文件头010 Editor
尾部截断补充文件结束标记HxD
中间缺失尝试跳过损坏部分bbe
编码错误转换字符编码iconv

5.3 自动化脚本辅助

对于重复性操作,可以编写Python脚本处理:

import re import binascii def extract_hex(raw_data): # 提取连续的十六进制字符 hex_str = re.sub(r'[^0-9a-fA-F]', '', raw_data) return binascii.unhexlify(hex_str) with open('hexdata.txt', 'r') as f: jpeg_data = extract_hex(f.read()) with open('output.jpg', 'wb') as out: out.write(jpeg_data)

6. 实战案例演练

让我们模拟一个完整的CTF题目解析过程:

  1. 题目背景:BUUCTF中的"菜刀666"题目,提供一个pcapng文件
  2. 初步分析
    • 过滤POST请求发现异常流量
    • 追踪流发现z1/z2参数,其中z2包含大量十六进制数据
  3. 图片提取
    • 确认z2数据以FF D8 FF开头,FF D9结尾
    • 使用010 Editor导入十六进制文本并保存为jpg
    • 打开图片获得密码提示"Secr3t_C0de_2023"
  4. 压缩包提取
    • 在后续数据包中发现PK签名
    • 手动导出二进制数据并修复为有效ZIP
    • 使用获得的密码成功解压得到flag.txt

关键学习点

  • 始终保持对数据格式的敏感性
  • 养成记录中间结果的习惯
  • 理解网络协议与文件格式的底层表示

在多次CTF比赛中,我发现最耗时的往往不是技术本身,而是对数据细节的疏忽。比如有一次因为忽略了ZIP文件中的伪加密标志,导致花费两小时尝试各种密码组合。后来在010 Editor中检查文件属性才发现问题所在,这个教训让我从此养成了先验证文件完整性的习惯。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/1 4:51:55

别再折腾环境了!Vivado 2018.3 与 ModelSim 22.04 联合仿真保姆级配置指南

Vivado与ModelSim联合仿真全流程实战指南:从环境配置到高效调试 第一次打开Vivado和ModelSim时,那种面对两个庞然大物无从下手的感觉我还记忆犹新。联合仿真环境的配置就像是在两个说不同方言的巨人之间搭建桥梁——版本兼容性、环境变量、库文件编译&am…

作者头像 李华
网站建设 2026/6/1 4:46:26

从邻里噪音到人生选择:用数据分析探索环境压力如何影响价值观

1. 项目概述&#xff1a;一次关于邻里噪音与生活价值的深度数据探索最近在Reddit的数据科学板块上&#xff0c;一个名为“Adrien Books Neighbors Sound Like a Pain in the A*s; Dreams < Riches?”的数据集引起了我的注意。这个标题本身就充满了故事性——它直白地描述了…

作者头像 李华