WireShark数据对象导出分析方法

admin 2023年10月17日20:38:41评论13 views字数 1748阅读5分49秒阅读模式

文章前言

网络安全是当今互联网时代中不可忽视的问题,随着网络技术的不断发展,网络攻击手段也变得越来越复杂和隐蔽,因此网络安全工作者需要具备一定的技术能力和工具使用能力,其中WireShark是一款广泛使用的网络协议分析工具,可以帮助用户深入了解网络数据包的传输过程,从而提高网络安全防护的能力。本文将介绍WireShark的对象导出功能,帮助读者更好地利用这一功能进行网络数据包分析和安全防护工作

文件传输

用户使用各种不同的应用程序传输文件时在传输层走的协议大多都是TCP协议,有时候一个文件可能会使用一个数据报文完成传输,有时候也可能会因为数据体量较大导致需要分割为多个报文进行传输操作,而这些报文依旧保持一定的序列进行传输,我们将这些有顺序的数据包就被称作流,Wireshark的"流跟踪(TCPStream)"功能可以将捕获到所有的通信数据包重组成完整的会话或者文件并对其进行还原操作

对象导出

对象定义:如果两台设备在网络中有进行文件传输,那么这个传输的文件就是对象

报文示例:https://wiki.wireshark.org/SampleCaptures

WireShark数据对象导出分析方法

使用WireShark打开数据报文,之后使用Wireshark提供导出对象的功能,文件—导出对象

WireShark数据对象导出分析方法

之后可以看到使用HTTP协议进行传输的文件对象如下:

WireShark数据对象导出分析方法

之后使用"Save"保存对象到本地

WireShark数据对象导出分析方法

图片文件如下所示:

WireShark数据对象导出分析方法

数据流类

首先使用显示过滤器对数据包进行过滤处理

WireShark数据对象导出分析方法

之后选取文件获取数据包进行跟踪其数据流

WireShark数据对象导出分析方法

在下图中的左下角选择一个方向的数据流

WireShark数据对象导出分析方法

这里我们选择回显数据包的数据流,同时在右下角显示或保存数据选择"原始数据"

WireShark数据对象导出分析方法

将文件保存为bin文件,使用notepad++打开文件后会看到如下内容

WireShark数据对象导出分析方法

清除上面的响应头部分,之后将文件保存为xxx.jpg,查看原图后可以得到如下结果:

WireShark数据对象导出分析方法

多文件类

这里我们以一个CTF题目为例来介绍如果传输过程中数据报文过大进行数据拆分后我们如何将其进行还原出源文件的过程:

题目描述:抓到一只苍蝇!

题目文件:misc_fly.p.capng—https://pan.baidu.com/s/1kVyyCbt

解题步骤:首先使用wireshark打开对应的流量数据包misc_fly.pcapng

WireShark数据对象导出分析方法

使用HTTP过滤一下协议

WireShark数据对象导出分析方法

根据数据流,从中发现请求参数中一个"fly.rar"的关键字眼,size为525701,md5值为"e023afa4f6579db5becda8fe7861c2d3",而考虑到我们的题目"抓到一只苍蝇!",多半和这个上传的压缩包有关系

WireShark数据对象导出分析方法

下面就是要还原出这个压缩包了,首先我们过滤一下请求类型:

http.request.method=="POST"

WireShark数据对象导出分析方法

从数据包的结构上看应该就是第二至第六个数据包是数据传输的过程,之后点开第二个可以看到MediaType的长度为131436

WireShark数据对象导出分析方法

第二到第五个都是一样的长度,第六个为1777,应该是剩余的最后一部分数据

WireShark数据对象导出分析方法

但是131436*4+1777=527521,这与之前给出的fly.rar的长度525701差1820,由于每个包都包含头信息,所以1820/5 = 364,即每个包的头信息为364

WireShark数据对象导出分析方法

每个包都做同样的操作即可得出5个文件,再将这个文件按顺序拼接即可

WireShark数据对象导出分析方法

WireShark数据对象导出分析方法

WireShark数据对象导出分析方法

之后将5个文件进行合并为一个fly.rar文件,这里我们直接使用Linux的cat命令来完成

cat 1 2 3 4 5 > fly.rar

WireShark数据对象导出分析方法

之后计算一下md5,可以看到md5值正确

md5sum fly.rar

WireShark数据对象导出分析方法

之后我们直接打开压缩包时会发现有问题:

WireShark数据对象导出分析方法

这是因为设置了伪加密,需要修改加密位,将0×84位置改为0×80即可

WireShark数据对象导出分析方法

WireShark数据对象导出分析方法

之后重新打开压缩包

WireShark数据对象导出分析方法

查看文件发现是一个二进制文件:

WireShark数据对象导出分析方法

之后使用binwalk查看文件信息,发现其中包含多个png文件

binwalk flag.txt

WireShark数据对象导出分析方法

之后使用foremost分离文件

formost flag.txt

WireShark数据对象导出分析方法

之后从众多的png文件中发现一张二维码

WireShark数据对象导出分析方法

之后扫描二维码获取到flag

WireShark数据对象导出分析方法

文末小结

本篇文章我们介绍了WireShark在进行数据报文分析时如果发现有数据传输时如何将传输的文件进行还原出来的两种方法,其中单个大文件的分包传输可能还需要一些复杂的操作步骤和计算过程,在处理时需要尤为注意一下

原文始发于微信公众号(七芒星实验室):WireShark数据对象导出分析方法

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月17日20:38:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   WireShark数据对象导出分析方法https://cn-sec.com/archives/2122208.html

发表评论

匿名网友 填写信息