最新消息:

Sharkfest 2014安全技术挑战赛WriteUp(part 1)

网络知识 admin 5169浏览 0评论

转自:http://www.freebuf.com/articles/web/68366.html

Sharkfest安全技术挑战是由Wireshark大学举办,总共有5个关卡。在每个关卡中,都能通过分析跟踪文件获取到通关答案。sharkfest挑战的相关文件可以在文后获得。在Part1中我们会讲解前面3个关卡,另外2个关卡会在Part2中进行介绍。

CHALLENGE #1: 故障单

文件: TroubleTicket.pcapng

问题:

1.应用程序使用了什么协议?

分析 – 打开pcap文件,在跟踪文件中我们发现了HTTP GET请求,这题的答案就是使用了HTTP协议嘛。

jinglingshu_2015-05-30_13-55-52

2.所有的GET请求到相同的URI?

分析 – 为了寻找所有的GET请求是否都是到相同的URL,我们只需对所有HTTP请求设置一个简单的过滤。过滤条件写上HTTP containing “GET” ,下面的截图中即为过滤后内容,从中我们发现3个GET请求,且这3个GET请求都指向同一个URL。

jinglingshu_2015-05-30_13-55-50

3.基于跟踪发生位置,是客户端丢失数据包还是服务端丢失数据包?

分析 – 首先,我们客户端为46.115.18.210,第一次向服务端81.209.179.132发送SYN请求。

jinglingshu_2015-05-30_13-55-51

在第二个数据包中服务端以SYN,ACK回应SYN请求,接着再发送一次SYN,ACK.

jinglingshu_2015-05-30_13-55-523

由于客户端没有响应ACK数据包,服务端多次发送SYN,ACK数据包。

jinglingshu_2015-05-30_13-55-521

回到前面的问题,到底是哪方面数据丢失了?客户端还是服务端?

客户端不响应服务端发送的ACK请求,所以是客户端这边数据包丢失。

jinglingshu_2015-05-30_13-55-524

4.跟踪发生在基础设施内部,最初的连接往返时间是多少?

分析 – Wireshark捕捉到客户端和服务端内部设施。为了测量最初的往返时间,我们必须抓住服务端与客户端的三次握手。

jinglingshu_2015-05-30_13-55-522

我们找到整个请求过程,客户端向服务端发送SYN请求,服务端回应SYN,ACK请求,然后客户端发送ACK请求

jinglingshu_2015-05-30_13-55-53

现在,我们将对第一次SYN请求设置时间参考。右键单击数据包,选择设置时间参考。

jinglingshu_2015-05-30_13-55-531

在SYN数据包中设置了时间参考之后,它会显示过去的ACK请求中3次握手的总时间。在下面我们可以看到时间为 3.562215000秒

jinglingshu_2015-05-30_13-55-54

5.服务端拥有者是谁?

分析 – 在跟踪文件中我们设置HTTP过滤掉HTTP请求,我们选择任意一个HTTP GET请求,展开来看,我们在主机头中发现了主机名为:www.verkehrsmittelvergleich.de.

jinglingshu_2015-05-30_13-55-55

简单的做了一个域名WHOIS检测,发现服务端拥有者为 Jasper Bongertz.

jinglingshu_2015-05-30_13-55-562

CHALLENGE #2: BIG FTP

跟踪文件: BigFTP.pcapng

问题:

  1. Wireshark是在哪里运行的?

分析 – 跟踪文件中第一个包是FTP请求,用时0.00000秒。第二个包响应时间为0.036454000秒,再有第三个包使用FTP命令,用时0.000505000秒。请求时间太快,这也就意味着Wireshark实在客户端系统上运行的。

jinglingshu_2015-05-30_13-55-56

2.在314-321帧之间哪些数据包被确认?

分析 – 选择“ 定位”→“定位到数据包”跳转到第314个包

jinglingshu_2015-05-30_13-55-561

我们在包的编号那里填入314

jinglingshu_2015-05-30_13-55-57

现在我们就可以看到314 – 321之间的所有数据包了

jinglingshu_2015-05-30_13-55-571

选择最后一个包321,展开TCP头检测ACK序列号,其序列号显示为557057。接着,我们必须找到是哪个数据包发送这个ACK到321的。

jinglingshu_2015-05-30_13-55-572

我们开始检测所有的初始数据包编号,看哪些是主要使用FTP-DATA的。我们发现编号304的数据包的TCP头的下一个序列号为557057,这就意味着304包的acknowledged在在314-321之间。

jinglingshu_2015-05-30_13-55-591

3.为什么不能在跟踪文件中看到已经上传的reassembled .jpg文件?

分析 – 我们选择一个数据包,单击右键选择“根据TCP流码”

jinglingshu_2015-05-30_13-55-59

在TCP流码中,会显示原始数据。这里有条消息称,该项目必须在Win32平台下运行,并且显示了某种类型的源代码。这也意味着这是一个Windows可执行文件。

jinglingshu_2015-05-30_13-56-002

4. kidsatbeach.jpg的真实目的是做什么的?

分析 – 在上一个问题中,我们仅仅只是解决了神秘的jpeg图片,那是一个exe文件,所以我们将其用.exe的后缀另存为。

jinglingshu_2015-05-30_13-56-00

接着,我们打开这个exe文件看看到底是个什么鬼

jinglingshu_2015-05-30_13-56-001

最后我们发现这就是一个简单的音频转换软件。

CHALLENGE #3: 付费游戏

跟踪文件: AllPlayNoWork.pcapng

问题:

1.服务端解析的IPv6地址是什么?

分析 – 只需要在DNS查询中找到IPv6解析地址的AAAA记录就ok了。我们发现一个含有AAAA记录的DNS查询,展开选项卡得到其值为ws12.gti.mcafee.com.

jinglingshu_2015-05-30_13-56-01

2.你认为客户端运行的是什么操作系统?

分析 – 最简单的方法就是检查user-agent,所以我们需要关注所有的HTTP请求

jinglingshu_2015-05-30_13-56-011

选择任意一个HTTP请求,展开HTTP选项卡,将user-agent以列视图方式显示,右键单击user-agent选择应用为列

jinglingshu_2015-05-30_13-56-02

我们发现第一个HTTP GET请求包含了操作系统名称Windows83.美人鱼头发是什么颜色?

分析 – 这个问题是有关于对象的,但是在 Wireshark原始数据包中我们不能直观的看到不同对象的颜色区别。

打开文件→导出对象→HTTP

jinglingshu_2015-05-30_13-56-021

现在我们可以看到这里的所有图片文件了,发现有一张图片的名称为小美人鱼,我们得到的问题也与美人鱼有关耶

jinglingshu_2015-05-30_13-56-03

以jpeg后缀保存这张图片并打开,从下面可以看到头发的颜色是红色

jinglingshu_2015-05-30_13-56-031

4.用户都玩哪些经典游戏?

分析 – 答案也是在相同的HTTP对象之中,我们在图像文件中看到一些游戏图片,保存之。

jinglingshu_2015-05-30_13-56-04

下面是经典邮箱的列表。纸牌游戏集合,吃豆子等等

jinglingshu_2015-05-30_13-56-041

5.用户玩的愤怒小鸟是什么版本?

分析 – 我们发现一张愤怒的小鸟图像文件,保存该文件。

jinglingshu_2015-05-30_13-56-05

愤怒的小鸟太空版

jinglingshu_2015-05-30_13-56-051

另外两个挑战关卡会在下一部分中进行介绍。

*参考来源infosec,译者/鸢尾,转自FreeBuf黑客与极客(FreeBuf.COM)

————————————————————————————————–

————————————————————————————————-

从上面比赛的writeup中可以学到很多关于wireshark的实用功能,这些功能在网络流量分析时会非常有用的。我学习到的知识点有如下几个:

1、获取pcap中http请求可以使用“http”作为过滤器,如果想以http请求中的某个字符串过滤可以使用contains关键字,如过滤含有Mozilla的HTTP请求的过滤器是:

http contains "Mozilla"

 

QQ截图20150530220625

注意contains后面要查找的字符串是大小写敏感的,即查找时要注意大小写。

2、可以将一个数据包设置为时间参考,那么该数据包后面的数据包的显示时间就是相对于这个数据包的相对时间。这个用途主要用于获取往返时间。(1.4关)

jinglingshu_2015-05-30_13-55-531

jinglingshu_2015-05-30_13-55-54

3、可以使用”GO”—>”Go to Packet”然后输入数据包编号,可以快速跳转到相应编号的数据包位置。

jinglingshu_2015-05-30_13-55-561

jinglingshu_2015-05-30_13-55-57

4、可以在“File”—->”Export Objects”—->”HTTP”查看HTTP请求中的文件,可以选取想要的点击“Save As”导出,当然可以用”Save All”一键将所有文件导出。

jinglingshu_2015-05-30_13-56-021

jinglingshu_2015-05-30_13-56-05

 

转载请注明:jinglingshu的博客 » Sharkfest 2014安全技术挑战赛WriteUp(part 1)

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址