你的IPv6地址组件是否易受攻击?(下)

日期: 2015-02-16 作者:Fernando Gont翻译:邹铮 来源:TechTarget中国 英文

接上阅读《你的IPv6地址组件是否易受攻击?(上)》 所有RA消息包含路由器寿命值,这表明路由器发送消息多久后可以作为默认路由器。本地主机从RA消息获取这个数值,并通过本地定时器来追踪它。本地路由器通过定期发送(未请求的)RA消息来试图“更新”本地主机的相关定时器。因此,在正常情况下,路由器的寿命永远不会到期。

然而,攻击者可以利用这个定时器或参数来用于拒绝服务(DoS)目的。如果攻击者能够模拟本地路由器,并发送路由器寿命值为0(或其他小数值)的RA消息,受害者节点将从默认路由器列表中删除假冒路由器,从而发生拒绝服务的情况。 假设特定子网的合法本地路由器是fe80::1,攻击者会按如下命令利用r……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

接上阅读《你的IPv6地址组件是否易受攻击?(上)》

所有RA消息包含路由器寿命值,这表明路由器发送消息多久后可以作为默认路由器。本地主机从RA消息获取这个数值,并通过本地定时器来追踪它。本地路由器通过定期发送(未请求的)RA消息来试图“更新”本地主机的相关定时器。因此,在正常情况下,路由器的寿命永远不会到期。然而,攻击者可以利用这个定时器或参数来用于拒绝服务(DoS)目的。如果攻击者能够模拟本地路由器,并发送路由器寿命值为0(或其他小数值)的RA消息,受害者节点将从默认路由器列表中删除假冒路由器,从而发生拒绝服务的情况。

假设特定子网的合法本地路由器是fe80::1,攻击者会按如下命令利用ra6来向所有本地节点来执行DoS攻击:
ra6 -i eth0 -s fe80::1 -d ff02::1 -t 0

“-i eth0”表明发动攻击所使用的网络接口;“-s fe80::1”表明攻击数据包的源地址(合法本地路由器被假冒);“-d ff02::1”表示攻击数据包被发送到“所有节点链路本地多播地址”,而“-t 0”设置“路由器寿命值”为0。

Netstat命令可以用来检查受害者节点的路由表,并确认指向fe80::1节点的默认路径已被删除。

重复地址检测

在IPv6地址被用于网络通信之前,该地址需要检查唯一性—这通常被称为重复地址检测。DAD的工作原理大致如下:

· 愿意使用IPv6地址的节点将为上述地址发送一个邻居请求(NS)消息
· 如果在响应中收到邻居通告(NA),该地址被认为是重复的,那么DAD失败。
· 如果没有收到该地址的NA消息(可能是在一系列NS消息重发后),该地址被认为是唯一,DAD成功。

DAD相应的NS消息被发送,其中包含设置为未指定地址(::)的源地址,因此这很容易区别于用于地址解析(而不是重复地址检测)的NS消息。

攻击者可以通过如下命令利用na6工具来轻松地执行针对本地节点的DoS攻击:
na6 -i eth0 -b :: -L -v

这个命令指示na6监听(“-L”)网络接口eth0中包含源地址设置为未指定地址(“-b::”)的NS消息,当收到这种消息时响应NA。因此,当节点被引导并尝试自动配置IPv6地址时,它试图配置的每个地址都会被认为是重复地址,则SLAAC会失败。

Ifconfig命令可以用来检查受害者网络接口卡的配置,如下:

图2 检查网络接口卡的配置

从上面的截图中来,至少要注意两件事情。首先,链路本地地址被标记为“重复”。其次,这个接口没有配置全局IPv6地址,原因在于,当暂时链路本地地址的DAD失败时,SLAAC被终止。因此,DoS攻击会发生。

网络不可达检测(NUD)是IPv6的另一个组件,包括测试到相邻节点的路径,如果当前路径失效还可以允许选择替代路径。最重要的是,攻击者为感染NUD唯一能做的事情是让该协议来相信失败路径可以正常工作。

与其他基于ND的攻击相比,这个漏洞并不是那么吸引攻击者,因此,大家并不需要过多担心这个攻击方法。

作者

Fernando Gont
Fernando Gont

来自SI6 Networks的互联网安全和工程顾问

翻译

邹铮
邹铮

相关推荐