wireshark分析实战

来源:互联网 发布:搭建云端软件平台 编辑:程序博客网 时间:2024/05/13 04:34

数据包嗅探包括三个步骤

第一,收集,将网卡设置成混杂模式,收集所有的原始二进制数据

第二,转换,将捕获的二进制文件转换为可读形式

第三,分析,识别和验证所用协议

 

 

 

网络通信原理

1 协议   

传输控制协议TCP

互联网协议 IP

地址解析协议 ARP

动态主机配置协议 DHCP

2 七层OSI参考模型

    7 应用层(访问网络资源的实际程序,用户唯一看到)协议HTTP,SMTP,FTP,Telnet

        |

    6表示层(接收的数据转换为应用层可读取的格式,加密和解密)协议ASCII,MPEG,JPEG,MIDI

        |

    5会话层(管理对话,全双工或半双工创建和关闭连接)协议NetBIOS,SAP,SDP,NWLink

        |

    4 传输层(确保端到端的无差别传输)协议TCP,UDP,SPX

        |

    3网络层 (负责数据在物理网络中转发,网络主机的逻辑寻址,处理数据包分片和错误检测)(路由器工作在这一层)协议IP,IPX

        |

    2数据链接层(提供物理网络传输数据的方法,提供一个寻址方案,确定物理设备(MAC地址))(网桥和交换机在这一层)协议Ethernet,Token Ring,FDDI,Apple Talk

    |

1 物理层(实际的网络数据传播)

 

3数据封装

发送时,将创建一个协议数据单元(PDU),包括正在发送的网络数据,以及所增加的头部和尾部协议信息

接收到PDU后,逐层剥去协议头部和尾部,数据到达OSI最上层的时候,只剩下原始传输数据

 

举例:

浏览网站时,使用HTTP协议,TCP HTTP -> IP TCP HTTP ->以太网IP TCP HTTP

 

客户端

HTTP等应用层协议提供了特定服务,依靠TCP协议保证服务可交付,

DNS协议构架于UDP上,TCP构架于IP上)

TCP协议将数据包交给IP协议,在第三层创建一个包含逻辑寻址信息的头部

将数据包传递给数据链层上的以太网,以太网物理地址会被添加和存储在以太网帧头中

最后传给物理层

 

服务器

为了响应客户端发过来的数据包,服务器会发回一个TCP确认数据包,客户端可等待index.html文件内容

 

4网络硬件

集线器:

一般提供多个RJ-45端口机盒,仅在双半工模式下运行(不能同一时间发送和接收数据)

 

交换机:

将数据发送到目的计算机连接的端口上,交换机必须能通过MAC唯一地址来识别设备,必须工作在OSI的数据链接层上

将每个设备的第二层地址都存在一个CAMcontent Addressable Memory

数据传输时,交换机读取数据包第二层协议头部信息,用CAM作为参考,决定发给哪个端口或者哪些端口

 

路由器:

OSI的网络层上,通常使用第三层(如IP地址)来唯一识别网络上的设备

 

流量分类

网络流量分为:广播,多播,单播

 

1广播流量

广播数据包会被发送到一个网络上的所有端口,有两种方式:

第二层广播流量:MAC地址FF:FF:FF:FF:FF:FF是保留的广播地址,任何发送到这个地址的流量将会被广播到整个网络。

一个IP网络中的最大的IP地址是被人保留作为广播地址使用的。一个配置了192.168.0.XXXIP范围,以及子网掩码是255.255.255.0的地址网络中,广播IP地址是192.169.0.255

每一个广播域会一直延伸到路由器,而广播数据包只能在他特定的广播域中传播

2多播流量

将单一来源的数据包同时传送给多个目标的通信方式

将数据接受者加入多播组的编址方案

3单播流量

数据包直接从一台计算机传到另一台计算机

 

 

 

 

 

 

 

 

 

监听网络线路

 

1混杂模式(能够允许网卡查看所有流经网络线路数据包的驱动模式)

网卡会将所有看见的数据包传递给主机的CPU

2在集线器连接的网络中进行嗅探

流经集线器的所有网络数据包都会被发送到每一个集线器连接的端口,要分析一台连接到集线器上的电脑的网络通信,就是将数据包嗅探器连接到集线器任意一个空闲的端口上,对本地网络的可视范围是不受限制的。

 

3在交换式网络中进行嗅探

基本有四种方法:端口镜像,集线器接出(hubbing out),使用网络分流器,ARP欺骗攻击

 

a端口镜像:

通过命令行或者Web管理界面来访问目标设备所连接的交换机,交换机必须支持端口镜 像功能,以及有一个空闲端口

发出命令,强制交换机将一个端口上的所有通信都镜像到另一个端口上。

 

b集线器输出:

将目标设备和分析系统分段到同一网络段中,然后把它们直接插到一个集线器上

  1.找到目标设备所连接的交换机,将目标设备连接网线从交换机上拔掉

  2.将目标设备的网线插入到自己的集线器上

  3.使用另一根网线,将嗅探分析器连接到嗅探器上

  4将集线器连接到交换机上,将集线器连接到网络上

  制造商       命令

  思科         set span< source port><destination port>

  凯创         set port mirroring create<source port><<destination port>

  北电         port-mirroring mode mirror-port<source port>monitor-port<destination port>

所有从目标设备流入流出的网络流量都将在集线器中广播,大多数情况下,集线器会使目标设备的全双工转为半双工。

 

C使用网络分流器

将其放置在网络布线系统的两个端点之间,在网络上放置一个专门为网络分析而设计的特殊硬件以捕获所需要的数据包。

网络分流器分为两种基本类型:聚合和非聚合

 

非聚合的网络分流器有四个端口,聚合分流器有三个端口。

聚合的网络分流器:

只有一个物理的流量监听口,来对双向通信进行嗅探。

  1,从目标交换器上拔下目标电脑的网线。

  2,将连接目标电脑网线的另一端插入到网络分流器的in端口。

  3,将另一根网线的一端插入网络分流器的out端口,并将另一端插入到网络交换机。

  4,将最后一根网线的一端插入网络分流器的monitor端口,并将另一端插入到作为嗅探器的电脑上。

 

非聚合网络分流器

有两个监听端口,一个是用来嗅探流出方向的网络流量,另一个是嗅探流入方向的网络流量。

  1,从交换器上拔下目标电脑的网线。

  2,将连接目标电脑网线的另一端插入到网络分流器的in端口。

  3,将另一根网线的一端插入网络分流器的out端口,并将另一端插入到网络交换机。

  4,将第三根网线的一端插入网络分流器的monitor A端口,并将另一端插入到作为嗅探器的电脑上的网卡上。

  4,将第四根网线的一端插入网络分流器的monitor B端口,并将另一端插入到作为嗅探器的电脑上的第二块网卡上。

 

d  ARP欺骗

ARP查询过程

第三层寻址方案称为IP寻址系统,网络上的设备进行通信时在第三层上都进行IP地址。交换机在OSI模型上的第二层工作,只认识第二层上的MAC地址,因此网络设备必须在它们创建的数据中包含这些信息,当设备不知道通信对方的MAC的地址时,必须要通过已知的第三层IP地址来查询,这样才能通过交换机将流量传给相对应的设备。

翻译过程通过第二层上的ARP协议来实现的,连接到以太网的计算机ARP查询过程从一台计算机想要和另一台进行通信时开始的,发起通信的计算机首先检查自己的ARP缓存,检查自己是否有其对应的MAC地址。

如果不存在,它将往数据链路层广播地址FF:FF:FF:FF:FF发送一个ARP广播请求包。作为一个广播数据包,它会被这个特定的以太网广播域上的每台计算机接收,这个请求会询问某IP地址的MAC地址是什么。不匹配的目标IP地址的计算机会选择丢弃请求包,而目标则选择答复,通过ARP应答告知它的MAC地址。此时,发起通信的计算机就会获得数据链路层的寻址信息,便可以利用它与远端计算机进行通信,同时将信息保存在ARP缓存中,来加速以后的网络访问。

 

ARP欺骗如何工作

称为ARP缓存中毒,是通过发送虚假的MAC地址的ARP消息,以劫持其他计算机的流量。

由攻击者用客户端系统发送虚假地址的数据包,以截获特定的网络流量或者对目标进行拒绝服务(Dos)攻击。

 

使用Cain&Abel

收集信息,包括嗅探器分析系统的IP地址,目标计算机的IP地址,以及远程计算机连接的上游路由器的IP地址。

 

软件介绍

Cain4.9(32位、64位通用)汉化版,这是一个可以crack屏保、PWL密码、共享密码、缓存口令、远程共享口令、SMB口令、支持VNC口令解码、Cisco Type-7口令解码、Base64口令解码、sql server 7.0/2000口令解码、Remote Desktop口令解码、Access Database口令解码、Cisco PIX Firewall口令解码、Cisco MD5解码、NTLM Session Security口令解码、IKE Aggressive Mode Pre-Shared Keys口令解码、Dialup口令解码、远程桌面口令解码等综合工具,还可以远程crack,可以挂字典以及暴力crack,其sniffer功能极其强大,几乎可以明文捕获一切帐号口令,包括FTPHTTPIMAPPOP3SMBTELNETVNCTDSSMTPMSKERB5-PREAUTHMSNRADIUS-KEYSRADIUS-USERSICQIKE Aggressive Mode Pre-Shared Keys authentications等。

新版本还附带显示器和路由协议的认证路线提取器,字典和所有常见的散列算法和一些具体的认证,密码/哈希计算器,密码分析攻击,密码解码器和一些不那么常用的工具与网络和强力饼干系统的安全。

Abel的功能包括:

远程控制台:提供了远程计算机上的远程系统shell
远程路由表管理:能够管理远程系统的路由表。
远程TCP/UDP端口浏览器:显示远程系统上本地端口的状态,功能与netstat相同。
远程NT散列转储:无论是否使用了Syskey,都能够从SAM文件中读取出NT的口令散列值。
远程LSA秘密转储:转储远程系统上的Local Security Authority Secrets的内容。

cain4.9汉化版怎么用?

CAIN下有两个程序,一个是CAIN主程序,一个是Abel服务程序。Abel服务程序需要手动进行安装。正确安装CAIN后从CAIN目录下拷贝Abel.exeAbel.dllC:\Windows\System32目录下,运行Abel.exe安装,并在服务里设置为自动启动,运行CAIN,主界面如图所示

我们先来看看CAIN的几个大类的使用,大类页面如下图

一.解密器: 解密器的作用主要是读取缓存中保存的各种密码。你可以点击左边的各选项然后点击上面的

你就可以在右边的窗口看到保存在缓存中的密码。我的电脑中我都看到了我MSN的账号和密码,曾经登陆路由的账号和密码,邮箱的密码。 举例:点击左边的无线网络口令,再点击上面的

在右边的窗口你可以看到你曾经正确使用过的无线的密码都保存在这里,如下图所示。大家可以清楚的看到SSID和后面的密码。

二.网络 这个网络主要用来鉴别各域控制器,SQLserver,打印服务,远程拨入,终端服务等。网络的左侧用来浏览网络结构和连接远程主机。连接到主机就可列出用户名,工作者,服务,共 享资源等。如下图,我们清楚的看到SMM-DB1开启了IPC$默认共享连接和文件夹共享。

同时也可以搜索到计算机的用户组和组的用户名,虽然NT版本以后不能建立空连接了,但是还是可以通过提取SID来获得Admin的账号,因为管理员的SID总是500。如下图所示

三.嗅探器(包含局域网的嗅探和ARP欺骗) 嗅探器是CAIN的重点,很多人用CAIN主要就是用这个嗅探器和ARP欺骗。CAIN中的嗅探器,主要嗅探局域网内的有用信息,比如各类密码等。CAIN中的ARP的欺骗,原理是 操纵两台主机的ARP缓存表,以改变它们之间的正常通信方向,这种通信注入的结果就是ARP欺骗攻击,利用ARP欺骗可以获得明文的信息。1.程序配置 首先点击菜单的配置按钮

出现下图所示的配置菜单

首先选择用于嗅探的以太网卡(可以是有线网卡也可以是无线网卡),本文中将选择第二个无线网卡。下面的选项可以不选。然后转到ARP欺骗选项卡。 欺骗选项中可以用真实的IP地址也可以使用伪装IP地址和的MAC。但是使用伪装IPMAC有几个前提条件:

1.攻击者的机器只能连接在HUB中,不能连接在交换机中2. 设置的IP地址需是子网内的合法的而且是未使用的IP地址预欺骗ARP缓存勾选,下面默认每30秒发送一次ARP欺骗包。XP系统每2分钟更新ARP缓存,因此设置太大就不能达到欺骗的效果,设置太小会产生太多的ARP流量,如下图所示。 

接下来看看其他的几张选项卡,如下图

这两张选项卡中HTTP区域主要定义了HTTP的字段,用来检查和过滤HTTP包中包含的敏感字符,比如用户名密码等。过滤与端口选项是CAIN定义的过滤程序和协议的各种端口,你可以关闭你不需要过滤的程序协议,比如POP3ICQFTPSRDP等。另外两张选项卡 就不用看了不需要进行什么设置。

2MAC地址扫描 选择功能栏的嗅探器,然后选择下面的主机

扫描之前需要先激活嗅探器,点击上面的

,然后在下面空白处点右键选择扫描MAC地址,如右图所示1. 扫描整个子网2. 规定扫描的范围3. 扫描哪些网卡工作在混杂模式下(B31)注:处于混杂模式下网卡接口能接受所有通过它的数据流,不管是什么格式,什么地址的。它会接收并响应 网络上任何的数据。一般网卡接口默认关闭 混杂模式。扫描混杂模式的网卡主要是检测网络中的嗅探器。处于混杂模式的网卡在B31那一栏就会有*号。 通过扫描我们将得到如下MAC(注:本机是扫不到的)

从上图可以看到192.168.2.1是个netgear的网关地址。MAC地址扫描是基于ARP请求包因此可快速定位MACIP的对应关系,OUI指纹中包含了各大MAC厂商的信息,因此你可看到Netgear的路由器和Cisco-Linksys的网卡。 扫描到MAC以后可以点右键来解析主机名。3ARP欺骗 点击下面的APR

出现下图所示

点击左侧栏最上面的APR后就出现下图所示,这时在右边空白处点一下鼠标,上面的

就从灰色变成了深蓝色。点一下这个加号,出现下图所示

在这个左侧选择被欺骗的主机,在右侧选择一台或多台PC,这时候将捕获所有被欺骗主机和其他多台主机之间的通信数据。也可以在右侧选择网关地址,则左侧被欺骗主机与广域网 的通信将被捕获。例中左侧选择被欺骗主机192.168.2.2右侧选择网关地址192.168.2.1点确定。这时将出现下图所示

配置好APR欺骗的主机后我们可以进行ARP欺骗了,看左侧栏我们可以进行各种ARP欺骗。aAPR-Cert 这个是数字证书收集器,配合APR-HTTPS使用。 由HTTPS嗅探过滤自动使用,也可手动创建一个伪造的证书。伪造的证书保存在Certs下。当前APR-HTTPS获得证书列表在Cert.lst文件中。也可 手动修改,定义APR-HTTPS使用指定的伪证书注入到ARP欺骗主机和指定的HTTPS服务器的连接中。bAPR-DNS 这是DNS欺骗,点击APR-DNS欺骗,再点击上面的

出现如下图所示的对话框在DNS名称请求中输入被欺骗主机要访问的网址。在回应包中输入用于欺骗的网址。图中输入百度的网址,下面输入华东理工大学的网址(网址为举例说明,并无任何目的)。这时被欺骗的主机如果访问百度网站的话会出来华东理工的主页。一些盗取银行账号的垃圾就是自己做一个和银行主页一样的钓鱼网站,然后在下面的回应包中输入钓鱼网站的网址。当对方访问银行主页时将会自动转到你的钓鱼网站上。(银行钓鱼网站,WEB认证页面钓鱼)等等 举例:设置好之后点确定,然后再点击上面菜单图标

开始ARP欺骗。这时候被欺骗的主机192.168.2.2如果打开www.baidu.com的话进入的不是百度的首页而是202.120.111.62的华东理工大学的主页。如下图,欺骗成功。如果你做一个WEB认证的钓鱼网站,当对方 登陆某WEB认证网站的时候发送的WEB认证信息将转到你的钓鱼网站上。这个问题就大了,因此建议各位朋友加强安全意识,提高安全措施。

cAPR-SSH-1欺骗SSH是远程登陆协议,ARP可以利用MITM中间人攻击捕获并解密SSH会话。具体我也没用过。dAPR-HTTPS-1欺骗APR-HTTPS可以捕获和解密主机和服务器间的HTTPS通信,与APR-Cret证书收集器配合使用,注入伪造的数字证书到SSL会话中,在被欺骗主机到达真正的服务器之前解密和加 密数据。这种HTTPS欺骗会利用伪造的数字证书,因此对方会看到这个弹出的未经认证的数字证书请求认证。一般人不会看这个数字认证的(各位朋友你们仔细看过几次这种数字认证证书?)。

主要过程: 1) 开启HTTPS过滤,2) 激活APR欺骗,3) “被欺骗主机开启一个HTTPS会话,4) 来自被欺骗主机的数据包被APR注入,并被CAIN捕获,5) APR-HTTPSAPR-Cret证书收集器中搜索一个相近的伪证书,并是使用这个伪证书。6) 捕获的数据包修改了MACIPTCP源端口,然后使用Winpcap重新发送到局域网,与客户端建立连接7) 创建HTTPS服务器连接,(被欺骗主机要连接的真实的服务器)8) 使用伪证书与真实服务器连接,并使用OpenSSL库管理加密的通信。9) 包由客户端发送出去,被修改后再回到被欺骗主机” 10)来自HTTPS服务器的数据被加密保存到会话文件中,重新加密并经客户端连接发送到被欺骗主机” APR-HTTPS具体我也不太懂,上面这段过程文字来自SeeYou翻译文。 以下引用longas原话: 其实基于证书的攻击基本原理是这样的:合法客户端向网站发出SSL请求时,黑客截获了这个请求,将其改成自己发出的,然后发给网站,网站收到后,会与黑客的计算机协商SSL加密级别,此时两者之间的加密是正常的,而黑客在与网站交互的同时,记录下对方的证书类型及算法,并使用同样的算法伪造了证书,将这一伪造证书发给了客户端,此时,客户端以为自己在和网站交互,实际上是在和黑客的机器交互。原本加密的信息由于采用的是黑客的证书变成了明文,这样密码就截获了。(注:本机打开KIS以后会导致被欺骗客户机无法正常上网,因此要使用APR欺骗必须先关闭本机的KIS)举例如下: 首先我们开启HTTPS过滤,启动APR欺骗。局域网内192.168.2.2作为被欺骗的对象,我们坚持客户端。 客户端打开一个Gmailhttps会话https://mail.google.com/mail,由于会话中的证书是被CAIN伪造的证书,因此会出现如下提示,见下图

我们浏览网页的时候很多人是不看证书的详细内容,很自然的点击是。账号信息的泄露就从这里开始了。点击是以后就确认了这个伪证书,这时会出现正常的Gmail的登陆页面,如下图

同时我们也会在CAIN中的APR下的APR-HTTPS下看到会话被捕获,在APR-Cert下看到有伪造的证书。如下图:

当被欺骗的客户端192.168.2.2在登陆页面中输入Gmail的账号和密码登陆以后我们就会在passwordhttps选项下看到被捕获的明文的账号和密码信息了。见下图

HTTPS的加密的数据就这样在CAINAPR欺骗中被明文获取。 因此希望各位朋友提高网络安全意识,防止APR欺骗建议安装365APR防火墙。APR-RDP RPD是远程桌面协议,用这个可以捕获被欺骗者连接远程桌面的密码,同理也是利用MITM中间人攻击。只要对方登陆了远程桌面就能得到这个文件,如下图所示

点开第三个选择查看,将看到下图所示,从中可以找到用户名和密码

下面的APR-FTPSAPR-POP3APR-IMAPSAPR-LDAPS等由于我没去实践和验证就先不写了,大体意思差不多就是用ARP欺骗实现中间人攻击,从而获得一些信息。 接下来看看选项中的口令

,点口令进入下面页面如右图所示,CAIN可以嗅探到图示那些在被嗅探的主机上的口令。包括POP3SQLVNCFTP等。 举例点选项卡左侧HTTP,我们将从右侧看到很多HTTP通信的记录。如下图红色部分所示,我在HTTP登陆的邮箱和登陆论坛的账号和密码都被记录了。

再下来看看VoIP里保存的是VoIP通话的内容。如果对方使用了VoIP通话,那些录音都被保存在这里。

四.破解器 CAIN中的破解器支持很多通用的HASH算法的破解及加密方法,还有暴力破解和字典破解。 破解菜单如图所示

还有左侧的破解器,内容比较多有MD5破解SHA1破解等很多我也不知道怎么用。 我就讲我们无线常用到的WEP破解和WPA破解。 首先点右侧的菜单中如右图的802.11 Captures无线捕获选项,再点击上面的

号,添加在BT3下截获到的WEPCAP包或者WPA的握手信息包。然后右键点击添加的CAP包文件,选择分析出现下图所示

从上图可以看出ESSIDZiJingAP是一个WPA加密并有有一个WPA握手包。BSSID001478E52A54是一个WEP加密并有一个100381ivs包可用来破解。首先我们选择001478E52A54AP,下面出现KoreK攻击和PTW攻击

这个攻击需要数据包达到250000。但是用aircrack来进行破解10000的包就能出密码了。 因此其破解WEP的功能并无实际意义。接下来我们看ZiJingWPA加密的AP,我们选择这个AP,下面出现发送WPA Hashes到破解器,我们点一下这个按钮

。我们看左侧的WPA-PSK Auth已经有一个添加了如图所示

我们选择右边窗口刚刚添加的ESSIDZiJingAP,点右键出现如下菜单

我们可根据实际情况选择字典破解和暴力破解。选择字典破解,出现下图所示选项,我们添加字典然后选择开始,就开始字典破解

我们也可选择暴力破解,在预定义栏我们可选择数字、字母、字符串、特殊字符等选项。后面还可以设定密码的长度。WPA密码的长度是8-63位。设好以后点击下面的开始可以破解WPA密码了。

注:CAINWEPWPA破解速度非常慢,远不如aircrack-ng。其破解的实际意义并不大。 另外在CAIN目录下Winrtgen文件夹里有个

双击打开,是一个Rainbow Tables Generator,点击下面的

。出现对话框如下图所示

大家看上图,这个软件可以构建很多的Table也包括WPA-PSK的。后面选择密码长度,下面选择字母,数字,字符等。右下角填入ESSID。点击OK开始产生相应的WPA Table。然后用于WPA破解。 注:生成Table速度很慢,而且生产容量太大,实际应用情况不好。 五.Traceroute点击Traceroute出现下图所示。可以看出到达目标主机所经过的节点的IP地址,所用时间等信息。

CCDU好像是思科路由器的什么东西,我也没用过。 六.无线网络 这个是用于扫描无线网络并对无线路由器进行WEP破解的,和获得WPA握手包的。打开无线网络以后如下图所示。

大家可以看到WPA-PSK验证,获得了验证包后可以直接发送到破解器进行密码破解,虾米还有WEP注入支持无客户端的破解

HTTPS中双向认证 SSL 协议的具体过程:

浏览器发送一个连接请求给安全服务器。

服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。

客户浏览器检查服务器送过来的证书是否是由自己信赖的CA 中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的,询问客户是否需要继续。

接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。

服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。

客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。

服务器从客户发送过来的密码方案中,选择一种加密程度最高的密码方案,用客户的公钥加过密后通知浏览器。

浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。

服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥

服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


1 0