文章来源:2011-08-11 08:27
【51CTO.com独家译稿,非经授权谢尽转载!合作媒体转载请注明原文出处及出处!】
最有道德的人,是那些有道德却不须由外表发挥解析出来而仍感满足的人。
对双亲来说,家庭教导起首是自我教导。黑帽大会的研究员曝光了大多半企业所用路由器和谈都存在的一个漏洞,该漏洞可将收集置于受进击的危险中。进击首要集中于泄漏数据流,捏造收集拓扑,创建有害的路由器环路。
因为进击者可能造成的,也因为广为应用的开放最短路径和谈(OSPF)本身,收集很脆弱,题目很严重。OSPF是最风行的路由和谈,该和谈被用于收集所分的大约3万5千个自力体系中。
凡是大企业,大学,还有收集办事供给者(ISPs)都在运行自力体系。
以色列电子战斗研究与仿真中间研究员,该题目的发明者Gabi Nakibly说道:“独一的解决办法是应用别的一种和谈,比如RIP或者IS-IS,要不然就改编OSPF以堵住漏洞。”
“为了堵住漏洞,我已经在装有IOS 15.0(1)M软件版本的思科7200路由器上履行了漏洞哄骗,并且该漏洞哄骗对其他遵从OSPF规格的任何路由器都同样有效。我选择思科路由器是为了夸大题目的严重性,要知道思科主导着路由器市场。”
题目在于OSPF和谈本身,其会被欺骗接管子虚的路由表更新,这些更新来自收集上
的幻象路由器。Nakibly声称他应用的是从属于进击测试收集的笔记本电脑。
这个幻象路由器会向目标路由器发送一个假的连接状况通知布告(LSA),以作为周期性的路由表更新。路由器会认为其是合法的,因为路由器在认证其真实性时:只会搜检其比来的LSA序列号;是否包含恰当的校验和;还有往前或往后15分钟的景象。
Nakibly描述了如何捏造这些器材,如何克服名为“回击”的和谈防御体系——该体系可以在面对子虚的LSA时,涌入正确的LSA。
假的LSA可以被精心建造出以创建路由器环路,向特定目标发送特定流量,或者经由过程让受害的路由器沿着路由(这些路由在实际的收集拓扑中并不存在)发送流量以让收集杂沓。
Nakibly的漏洞哄骗请求收集上有一个泄密的路由器,如许在收集路由器之间用于LSA流量的加密密钥才干被窃取,并且被幻象路由器所应用。该办法也请求幻象路由器连接上彀络。
进击幻象路由器的倡议将本身介绍为潜伏的受害路由(受害路由器必然是收集上的指定路由)。指定路由要存储全部的收集拓扑表,并且他们要向其他的路由器多点传送更新。
Nakibly介绍了别的一种不是那么有效的进击办法,然则也是类似地哄骗OSPF规格的漏洞。
ospf的一些漏洞说明
OSPF路由协议还有很多值得我们学习的地方,这里我们主要介绍OSPF路由协议漏
洞的说明。OSPF是动态连接状态路由协议,其保持整个网络的一个动态的路由表并使用这个表来判断网络间的最短路径,OSPF路由协议是内部使用连接状态路由协议,协议通过向同层结点发送连接状态信息(LSA)工作。
当路由器接收到这些信息时,它就可以根据SPF算法计算出到每个结点的最短路了。其他相临路由器通过使用OSPF路由协议的Hello协议每10秒发送一个问候包给224.0.0.5,然后接收这些路由器发回的信息。一个OSPF路由协议的hello信息包头可以通过iptraf来嗅探到,如下所示:OSPF hlo (a=3479025376 r=192.168.19.35) (64 bytes) from 192.168.253.67 to 224.0.0.5 on eth0。192.168.253.67边界路由器发送一个helo信息包给多播(224.0.0.5)来告诉其他路由器和主机怎样从192.168.19.35联系区域a(a=3479025376)。一旦路由器接受到Hello信息包,它就开始同步自己的数据库和其他路由一样。
OSPF协议相关的漏洞和防范措施
OSPF由于内建几个安全机制所以比起RIP协议安全的多,但是,其中LSA的几个组成部分也可以通过捕获和重新注入OSPF路由协议信息包被修改,JiNao小组开发了一个FREEBSD divert socket的LINUX实现并在它们的测试中使用到。
OSPF可以被配置成没有认证机制,或者使用明文密码认证,或者MD5,这样如果攻击者能获得一定程度的访问,如他们可以使用如dsniff等工具来监视OSPF信息包和或者明文密码,这个攻击者可以运行divert socket或者其他可能的各种类型ARP欺骗工具来重定向通信。JiNao小组发现了有关OSPF路由协议的4种拒绝服务的攻击方法,下面是简单的说明:
Max Age attack攻击 LSA的最大age为一小时(3600)
攻击者发送带有最大MaxAge设置的LSA信息包,这样,最开始的路由器通过产生刷新信息来发送这个LSA,而后就引起在age项中的突然改变值的竞争。如果攻击者持续的突然插入最大值到信息包给整个路由器群将会导致网络混乱和导致拒绝服务攻击。
Sequence++ 攻击 即攻击者持续插入比较大的LSA sequence(序列)号信息包,根据OSPF的RFC介绍因为LS sequence number(序列号)栏是被用来判断旧的或者是否同样的LSA,比较大的序列号表示 这个LSA越是新近的。所以到攻击者持续插入比较大的LSA sequence(序列)号信息包时候,最开始的路由器就会产生发送自己更新的LSA序列号来超过攻击者序列号的竞争,这样就导致了网络不稳定并导致拒绝服务攻击。
最大序列号攻击
就是攻击者把最大的序列号0x7FFFFFFF插入。根据OSPF的RFC介绍,当想超过最大序列号的时候,LSA就必须从路由domain(域)中刷新,有InitialSequenceNumber初始化序列号。这样如果攻击者的路由器序列号被插入最大序列号,并即将被初始化,理论上就会马上导致最开始的路由器的竞争。但在实践中发现在某些情况下,拥有最大MaxSeq(序列号)的LSA并没有被清除而是在连接状态数据库中保持一小时的时间。
伪造LSA攻击
这个攻击主要是gated守护程序的错误引起的,需要所有gated进程停止并重新启动来清除伪造的不正确的LSA,导致拒绝服务的产生。这个攻击相似对硬件的路由器不影响并且对于新版本的gated也没有效果。nemesis-ospf能对OSPF路由协议产生上述攻击,
但是,由于nemesis-ospf太多的选项和需要对OSPF有详细深刻的了解,所以一般的攻击者和管理人员难于实现这些攻击。并且也听说nemesis-ospf也不是一直正常正确的工作,就更限制了这个工具的使用价值。
OSPF认证需要KEY的交换,每次路由器必须来回传递这个KEY来认证自己和尝试传递OSPF消息,路由器的HELLO信息包在默认配置下是每10秒在路由器之间传递,这样就给攻击者比较的大机会来窃听这个KEY,如果攻击者能窃听网络并获得这个KEY的话,OSPF路由协议信息包就可能被伪造,更严重的会盲目重定向这些被伪造的OSPF路由协议信息包。当然这些攻击少之又少,不光光是其难度,重要的是因为还有其他更容易的安全漏洞可以利用,谁不先捏软柿子。这里建议如果一个主机不要使用动态路由,大多数的主机使用静态路由就能很好的完成起功能。因为使用动态路由协议很会受到攻击,例如,几年以前gated软件就被发现有一个认证的问题。
关于使用IRPAS对CDP和IRDP攻击
IRPAS的cdp程序主要对发送CDP (Cisco router Discovery Protocol)消息给CISCO路由器并对内部网络段产生拒绝服务攻击,发送一些垃圾字符就会导致路由器重新启动或者崩溃。它也能作为欺骗来使用,为其他更危险的程序打开方便的大门,一种可能的攻击场景:如使用cdp来使路由器停止服务,然后使用irdp或者irdresponder工具发送高优先值来通知一新的路由器,这样如果我们的目标路由器不能与被拒绝服务攻击而停止服务的通信,新的路由器的高优先值就会被采用,如果攻击者设置的这个值被成功采用的话,攻击者就能在他们的系统中轻松插入通信路径。
这种类型的攻击也可以应用在某些配置了使用IRDP协议的主机,如WINDOWS98默认情况下配置使用IRDP,WINNT需要手工配置支持IRDP环境,并在启动的时候广播
3个ICMP Router Solicitation messages(ICMP路由请求消息)。
因篇幅问题不能全部显示,请点此查看更多更全内容