Wireshark抓包分析Yersinia 根据DHCP协议发送的伪造数据包攻击(sending RAW packet)

抓包结果如下:


抓包与分析

帧号时间   源地址         目的地址     高层协议  包内信息概况
No.  Time   Source        Destination      Protocol    Info
5  1.04252000  0.0.0.0   255.255.255.255  DHCP    -TransactionID 0x643c9869                      
源端口>目的端口[请求建立DHCP链接]
                           以下为物理层的数据帧概况

Frame 5 (286bytes on wire,286 bytes captured) 5号帧,线路286字节,实际捕获286字节
Arrival Time: Dec 13, 201719:03:26.818512000 中国标准时间   捕获日期和时间
Time delta from previous captured frame:0.249290000 seconds此包与前一包的时间间隔
Time since reference or first frame:1.042520000 seconds此包与第1帧的间隔时间
Frame Number: 5                                    
帧序号
Packet Length: 286bytes                            帧长度
Capture Length: 286bytes                           捕获长度
[Frame is marked:False]                           此帧是否做了标记:否
[Protocols in frame: eth:ip:udp]                   帧内封装的协议层次结构
[Coloring Rule Name: udp]           用不同颜色染色标记的协议名称:HTTP
[Coloring Rule String: udp]     
染色显示规则的字符串:

                    以下为数据链路层以太网帧头部信息

EthernetII, Src: 02:48:33:66:02:51 (02:48:33:66:02:51), Dst: Broadcast(ff:ff:ff:ff:ff:ff)
以太网协议版本II,源地址:厂名_序号(网卡地址),目的:厂名_序号(网卡地址)
 Destination: Broadcast(ff:ff:ff:ff:ff:ff)目的:厂名_序号(网卡地址)
Source: 02:48:33:66:02:51 (02:48:33:66:02:51) 
源:厂名_序号(网卡地址)
  Type: IP (0x0800) 
帧内封装的上层协议类型为IP(十六进制码0800

                          以下为互联网层IP包头部信息

InternetProtocol Version 4, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255(255.255.255.255)                     互联网协议,源IP地址,目的IP地址
Version: 4 互联网协议IPv4

Headerlength: 20bytes                             IP包头部长度
Differentiated Services Field: 0x10 (DSCP0x04: Unknown DSCP; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))差分服务字段
Total Length:272                                         IP包的总长度

Identification:0x0000(0)                           标志字段

Flags:       标记字段(在路由传输时,是否允许将此IP包分段,教材125页)

Fragmentoffset: 0   分段偏移量(将一个IP包分段后传输时,本段的标识)
Time to live: 16                                          生存期TTL
Protocol: udp(0x06)                         
此包内封装的上层协议为udp
Header checksum: 0xa9ce [validation disabled]                 
头部数据的校验和
Source GeoIP: UnknownIP地址
Destination GeoIP: Unknown 目的IP地址

                        以下为传输层UDP数据段头部信息

UserDatagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)

                                              传输控制协议UDP的内容
Source port: bootpc (68)源端口名称(端口号)
Destination port: bootps (67)
目的端口名bootps(端口号67
Length: 252bytes                                       
 长度
Checksum: 0x53e3 [validation disabled]  TCP数据段的校验和
Options:                                          可选项 

 

 

首先host向局域网广播一个discover包,此时ip.src为0.0.0.0。

 

 

从上图可以看出,DHCP属于应用层协议,它在传输层使用UDP协议,目的端口是67。

 

 

(1)DHCP服务器仍然使用广播地址作为目的地址,因为此时请求分配IP的Client并没有自己ip,而可能有多个Client在使用0.0.0.0这个IP作为源IP向DHCP服务器发出IP分配请求。通常来说DHCP也不能使用0.0.0.0这个IP作为目的IP地址,但我们是RAW(伪造数据包),于是依然采用广播的方式,告诉正在请求的Client们,这是一台可以使用的DHCP服务器。

(2)我们伪造了一个可用的IP,在数据包的Your (client) IP Address字段可以看到。

(3)除此之外,服务器还发送了DHCP数据包和END等信息。

 

攻击方案验证(攻击与防范)

 DHCP假冒攻击(sending RAW packet)

耗尽DHCP服务端的地址资源之后,攻击者就可以架设自己的DHCP服务器,从而实现DHCP假冒攻击

首先在假冒的DHCP服务器上架设DHCP服务,指定地址池范围为192.168.1.100~200,并将默认网关指向Kali LinuxIP地址192.168.1.5。需要注意的是,在将DHCP服务架设好之后,先暂时不要将服务激活,由于此时Kali Linux上的DHCP 耗尽攻击仍在继续,一旦激活服务,这台假冒DHCP服务器的地址资源也将会很快被耗尽。

下面在Kali Linux上停止攻击,并快速激活假冒DHCP服务器上的DHCP服务,可以看到被攻击主机成功从假冒服务器处申请到了IP地址。

这里同样需要注意一个问题,在将Yersinia停止攻击之后,一定要快速激活假冒DHCP服务器上的DHCP服务。这是因为Yersinia的攻击原理是发送大量的DHCP Discover报文,交换机会向其返回DHCP Offer报文,而在这个Offer报文中所提供的IP地址并未真正分配出去,在等待一段时间之后(大约5分钟),交换机会自动将IP地址收回,因而只要停止攻击之后过一段时间,交换机就会自动恢复正常。

攻击成功之后,被攻击主机的上网流量就将全部被导向到Kali Linux。在Kali中需要执行下面的命令开启路由转发功能,以便将被攻击主机的数据转发到互联网。

echo 1> /proc/sys/net/ipv4/ip_forward

最后,就可以在Kali Linux中利用Wireshark等抓包工具来截获被攻击主机的上网数据了。不过对于这种DHCP攻击方式,只能单向截获从被攻击主机发往互联网的数据,而无法截获从互联网发回给被攻击主机的数据,这是由于DHCP攻击无法去攻击默认网关等网络出口设备,要想真正实现双向截获数据的中间人攻击,还是要通过ARP欺骗等攻击方式。

 

防范DHCP假冒攻击

在交换机上通过传统的DHCPSnooping技术就可以来防范DHCP假冒攻击。当启用了DHCPSnooping功能之后,交换机的所有端口都将无法接收DHCP Offer报文,这样假冒的DHCP服务器就无法向外分配IP地址了。

下面在神州数码CS6200交换机上启用并配置DHCPSnooping功能。

#启用DHCPSnooping功能:

CS6200(config)#ipdhcp snooping enable

#DHCPSnooping应用于指定的VLAN,这里应用于默认的VLAN 1

CS6200(config)#ipdhcp snooping vlan 1

启用了DHCP Snooping功能之后,还需要设置如果从某个端口收到假冒DHCP服务报文后,将对这个端口如何处理。处理动作有两个:

  shutdown:端口检测到假冒DHCP Server时,将shutdown此端口。

  blackhole:端口检测到假冒DHCP Server时,将以伪装数据包的vid和源mac设置blackhole来阻止此Mac的流量,也就是将假冒服务器的数据暂时丢弃一段时间,可选择的时间范围为10~3600秒。

比如将20号端口设置为接收到假冒服务器报文后,将数据暂时丢弃300秒。

CS6200 (config-if-ethernet1/0/20)#ipdhcpsnooping actionblackhole recovery 300

由于shutdown的处理动作过于严格,因而建议采用blackhole模式进行防范。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Wireshark是一款网络工具,可以用来分析网络数据包。下面是Wireshark分析HTTP协议的步骤: 1. 打开Wireshark软件,选择需要的网络接口,点击“开始”按钮开始。 2. 在浏览器中访问一个网站,例如www.baidu.com。 3. 停止,可以看到Wireshark捕获到了很多数据包。 4. 在过滤器中输入“http”,可以过滤出HTTP协议数据包。 5. 选中一个HTTP数据包,可以在下方的详细信息中查看HTTP协议的各个字段,例如请求头、响应头、请求体、响应体等。 6. 可以通过Wireshark的统计功能,查看HTTP协议的各种统计信息,例如请求数量、响应时间、数据流量等。 下面是一个示例HTTP数据包的详细信息: ```http Frame 1: 1514 bytes on wire (12112 bits), 1514 bytes captured (12112 bits) Ethernet II, Src: IntelCor_36:9d:7f (00:25:90:36:9d:7f), Dst: Cisco_0c:20:00 (00:0c:20:00:00:00) Internet Protocol Version 4, Src: 192.168.1.100, Dst: 202.108.22.5 Transmission Control Protocol, Src Port: 50360, Dst Port: 80, Seq: 1, Ack: 1, Len: 1460 Hypertext Transfer Protocol GET / HTTP/1.1\r\n Host: www.baidu.com\r\n Connection: keep-alive\r\n Cache-Control: max-age=0\r\n Upgrade-Insecure-Requests: 1\r\n User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299\r\n Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\r\n Accept-Encoding: gzip, deflate\r\n Accept-Language: en-US,en;q=0.9\r\n \r\n ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值