wireshark之文件还原

本文涉及相关实验:wireshark之文件还原 https://www.hetianlab.com/expc.do?ec=ECID172.19.104.182014122315591000001&pk_campaign=toutiao-wemedia
实验目标:
黑客A通过ARP欺骗,使用wireshark获取了整个局域网内的网络流量信息 。无意之中,他发现有人在某个网站上上传了一份文件 。但是他不知道怎么样通过wireshark去还原这份文件,没办法,他将监听到的数据包保存为了一份wireshark的监听记录,打算去向你请教 。你能帮助他找到那份上传的文件吗?
我们的任务分为3个部分:
1. 对抓到的包进行显示过滤,找到关键信息 。
2. 对信息进行跟踪,确定上传文件的TCP流,并保存为二进制原始文件 。
3. 对文件中上传文件的信息进行处理,去掉多余的包头和包尾,得到原始文件 。
 
1.1 实验任务一任务描述:使用wireshark导入监听数据包,对数据进行显示过滤,提取出来关键信息 。
1. 打开catchme.pcapng,双击即可 。会发现数据记录一共有148条 。如果单纯的从开始到结尾去一条一条的审计,是非常费力的事情 。而且实际操作过程中,148条记录,已经算是很少的了 。

wireshark之文件还原

文章插图
 
2. 好在wireshark为我们提供了强大的过滤显示功能 。我们在filter中可以定义显示出来什么样的数据包 。
wireshark之文件还原

文章插图
 
3. 从题目我们可以明确,上传时访问的是个网站,因此我们需要进行协议过滤 。在filter中输入http,表示我们要显示所有使用http协议的数据包 。输入回车,或者点击旁边的AppLY按钮,就可以进行显示过滤 。
wireshark之文件还原

文章插图
 
从图上下方我们可以看到,数据包由原来的148个变成了32个 。这样就很容易帮我们分析了 。
4. 仔细分析,我们会在末尾左右的第143条数据记录中的info中看到upload这个词,我们怀疑这条就是涉及到上传的数据包 。
wireshark之文件还原

文章插图
 
如果你在此之前有些编写网站的经验,就会知道上传文件提交可以使用post一个表单的形式 。所以,你也可以使用包过滤显示,选出所有使用post方法提交的数据包 。我们可以输入http.request.method==”POST”进行包过滤 。这时候的显示如下:
wireshark之文件还原

文章插图
 
看到了吧,这时候只显示了唯一一条记录,就是我们刚才找到的序号为143的记录,是不是快了很多啊 。因此,掌握数据包过滤,是熟练掌握wireshark的必备技能之一 。
1.2 实验任务二任务描述:确定POST这条数据包是否上传了文件,若存在则将数据dump出来 。
1. 虽然我们看到了有upload关键字,有post方法,但是我们不能确定是不是真的就是上传文件的那个请求 。我们来分析一下 。双击该行 。弹出协议分析框 。点击+号,将子栏展开 。
wireshark之文件还原

文章插图
 
我们可以看到,确实是上传了文件,而且文件名是bingo.png.原来他上传的是一张图片 。在上方红色部分,我们可以看到由于文件比较大,TCP协议对其进行了切片,一共切了5个片 。我们点击下方的各个Frame,就可以看到每个包中的内容 。
问题来了,能不能将这几个切片还原成一个流式会话,这样我们就能看到一个会话过程,而不是需要一个一个的去点击 。
Wireshark还真可以做到 。
2. 关闭这个界面,回到我们过滤后的那个POST包,右键Follow TCP Stream
wireshark之文件还原

文章插图
 
这时候我们会看到:
wireshark之文件还原

文章插图
 
整个会话都被还原了出来 。我们看到了png的原始信息 。继续往下拉,我们会看到有关蓝色的显示,这是服务器给我们的回应 。我们的图片信息保存在请求部分,因此可以过滤掉响应部分 。
wireshark之文件还原

文章插图
 
因为文件肯定比响应大,所以我们选择6010那个 。这时候就没有响应部分出现了 。
 
3. 保存原始文件,以便下一步处理 。我们已经知道,请求部分中包含了文件的原始信息 。因此,我们可以先保存下来,然后处理一下,得到原始文件 。


推荐阅读