今日CTF题-管理员的秘密

 

题目描述黑客通过Wireshark抓到了管理员登录网站的一段流量包(管理员的秘密即是答案)(题目附流量包,这...



题目描述

黑客通过Wireshark抓到了管理员登录网站的一段流量包(管理员的秘密即是答案)

(题目附流量包,这里无法展示,将发到本次报名参加大学生信息安全技能赛的同学邮箱中)

解题思路

根据题目提示,流量包是http包。所以使用Wireshark工具打开题目附件,筛选http报文。更精确地,可以使用http  contains password进行筛选



果然在其中发现了一个http的POST请求包,里面写着

password=e7ff6ed35cce8c3f1e43eda15727aee4。那么这个就是key了!

相关知识

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

以下是一些使用Wireshark目的的例子:

网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。当然,有的人也会“居心叵测”

的用它来寻找一些敏感信息。

Wireshark不是入侵侦测系统(Intrusion Detection System,IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark撷取的封包能够帮助使用者对于网络行为有更清楚的了解。Wireshark不会对网络封包产生内容的修改,它只会反映出目前流通的封包资讯。 Wireshark本身也不会送出封包至网络上。



过滤规则

过滤规则是在Wireshark通过Winpcap抓取报文的时候,就对抓到的报文内容进行了过滤,规则比较难懂,但是对于熟悉协议的童鞋来说,也还是比较好理解的,下面以一些例子进行说明。

1、只抓取HTTP报文

tcp port 80

在设置这个规则的时候,必须先了解HTTP协议。通常HTTP协议都是走TCP 80端口,因此只要将规则设置成tcp port 80,这里不关心源端口,或者目的端口,只要源或者目的端口任意一个是80,那么则符合该规则。但是有的童鞋又会说,有的HTTP协议也走8080端口,是的,那么我们将8080端口也加入规则:

tcp port 80 or tcp port 8080

了解计算机语言的童鞋应该对这个不陌生,使用or将两个条件连接起来,只要其中一个条件符合,即结果就是符合该规则。规则语法中除了支持or外,还支持and和not,and表示两个条件必须为真,结果才为真,例如:

tcp port 80 and host 192.168.0.1

以上规则表示主机为192.168.0.1并且端口为80的报文

not表示非,例如我想抓取除主机为192.168.0.1并且端口为80的所有报文,那么过滤规则是:

not (tcp port 80 and host 192.168.0.1)

2、只抓取arp报文

ether proto 0x0806

ether表示以太网头部,而proto表示以太网头部的proto字段,0x0806则为以太网头部的ARP协议类型。如果只抓取IP报文,规则为:

ether proto 0x08000

3、只抓取IP负载长度大于300个字节的报文

ip[2:2] > 300

[]表示偏移,IP协议头部偏移值为2,熟悉IP协议或者通过Wireshark查看IP报文头部,可以得知偏移2的位置正是ip.tot_length,两个字节,因此冒号后面还有一个2。对于其他协议(ether/ip/tcp/udp)的位置,都可以以类似的方法设置规则。

例如,需要抓取源IP地址为192.168.0.101的所有报文,那么可以这样设置规则:

ip[12:4]=0xc0a80065

偏移值12为IP头部的源地址,4个字节,0xc0a80065正是192.168.0.101IP地址的主机字节序的十六进制。当然,要想对源地址进行过滤,还有更加简单的办法:

src host 192.168.0.101

对于wireshark过滤规则,只要了解相应的协议(主要是IP/TCP/UDP),理解了它的基本语法,还是不算太复杂的。当然,如果觉得这个复杂,那么下面要讲到的显示规则,则显得要简单很多了。

显示规则显示规则是对抓取后的报文再次进行刷选,刷选规则基本不需要学习,因为Wireshark已经给了足够多的提示,只需简单的进行输入或者动鼠标即可。

当用户选择tcp的源端口字段时,状态栏上就显示相应的显示规则,然后用户在显示规则的输入框中输入tcp时,就会出现智能提示,供用户选择相应的规则名称,输入条件即可。

对于任何Wireshark可以解析的协议,都支持通过以上方法设置相应的显示规则,例如只显示向baidu发送的http请求报文,显示规则为:

http.request.method==GET and http.host eq www.baidu.com

怎么样,比过滤规则要简单吧?

既然显示规则比过滤规则要简单很多,那么为什么还需要过滤规则呢?因为现在网络上跑的应用太多了,如果在100台规模的内网的出口抓取报文,不设置任何过滤规则,估计不到1分钟,Wireshark就会崩掉,因为报文太多了,每个报文都抓取,会将系统的内存全部吃掉。

因此在做协议分析的时候,我们只需关心我们想要的报文,其他不相干的报文统统扔掉,这样既有利于分析,也同时好对这次抓取的报文进行保存。


    关注 ECNU创新实验室


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册