Lab-2无线拒绝服务攻击之BeaconFlood钩辀格磔浑难语,扑朔迷离两不真2技术背景DoS是DenialofService的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求就无法通过。连通性攻击指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。这对运营商的业务造成巨大的影响,如何降低拒绝服务攻击带来的恶劣影响及损失已经成为能够提供稳定网络环境的当务之急。无线网络与有线网络一样,对于采用了高安全级别设定的无线网络环境,攻击者也可以使用多种方式对无线接入点进行拒绝服务攻击,这些攻击多数都可导致无线接入点服务中断,过载,无线网络丢包率增大,甚至无线接入点退服,需要重启情况。无线拒绝服务攻击的类型如下:AccessPointOverloadedAuthenticationFloodAuthenticationFailureDeauthenticationFloodAssociationFloodDisassociationFloodBeaconFlood本章给大家带来最的是无线拒绝服务攻击的名称为BeaconFlood的实例。3攻击原理802.11MAC帧的原理上述常见的无线拒绝服务攻击是基于802.11mac的,那么首先要说明的就是802.11mac的帧格式很特别,它与TCP/IP这一类协议不同,它的长度是可变的。不同功能的数据帧长度会不一样。这一特性说明mac802.11数据帧显得更加灵活,然而,也会更加复杂。mac802.11的数据帧长度不定主要是由于以下几点决定的。mac地址数目不定,根据帧类型不同,802.11的mac地址数会不一样。比如说ACK帧仅有一个mac地址,而数据帧有3个mac地址,在WDS模式(下面要提到)下,帧头竟然有4个mac地址。802.11的管理帧所携带的信息长度不定,在管理帧中,不仅仅只有一些类似于mac地址,分片标志之类的这些信息,而且另外还会包括一些其它的信息,这些信息有关于安全设置的,有关于物理通信的,比如说我们的SSID名称就是通过管理帧获得的。AP会根据不同的情况发送包含有不同信息的管理帧。管理帧的细节问题我们会在后面的文章中讨论,这里暂时跳过。加密(wep,wpa等)信息,QOS(qualityofservice)信息,若有加密的数据帧格式和没有加密的数据帧格式还不一样,加密数据帧格式还多了个加密头,用于解密用。然则QOS也是同样道理。图2-14802.11MAC帧的类型802.11MAC的帧的类型有两大类控制帧和管理帧,这两种不同类型的帧负责这相应的无线功能。控制帧控制帧主要用于协助数据帧的传递,所有控制帧都使用相同的FrameControl字段:图2-2常见的控制帧,如图2-3所示:图2-3管理帧管理帧负责在工作站和AP之间建立初始的通信,提供认证和连接服务,包括了连接请求/响应、轮询请求/响应、Beacon帧等,如图2-4所示。图2-45管理帧和控制帧还有具体的很多小的类别,分别代表不同的功能,无线网络之所以能实现接入,认证、标识,都是依据发送这些数据帧来实现的。Beacon(信标)帧Beacon帧主要来声明网络的存在。定期传送的信标可让移动式工作站得知该网络的存在,从而调整加入该网络所必需的参数基础结构网络中,接入点负责传送Beacon帧IBSS网络中,工作站轮流送出Beacon帧ProbeRequest帧工作站通过ProbeRequest帧来扫描所在区域内的802.11网络ProbeResponse帧若ProbeRequest帧探查的网络与之兼容,该网络就会回复ProbeResponse帧给予响应Disassociation帧与Deauthentication帧Disassociation(取消关联)帧用来终结一段关联关系,而Deauthentication(解除身份验证)帧则用来终结一段认证关系AssociationRequest帧一旦工作站找到兼容网络并且通过身份验证,便会发送AssociationRequest(关联请求)帧以试图加入网络ReassociationRequest帧位于相同ESS中,当在不同的BSS之间移动的工作站若要再次使用分布式系统(DS),必需与网络重新关联,区别于关联请求帧的是:它包含工作站当前所关联的接入点地址AssociationResponse帧与ReassociationResponse帧当工作站试图连接接入点时,接入点会回复一个AssociationResponse帧或ReassociationResponse帧,响应过程中,接入点会指定一个AssociationID(关联标识符)Authentication帧工作站通过共享密钥以及Authentication帧进行身份验证6802.11MAC帧的威胁从上述内容可以了解到,无线网络的功能是发送802.11帧的来实现的,802.11帧又分为管理帧和控制帧的,其作用是为了管理控制无线客户端使用的,那么从帧的格式上看,只需要提供相应的MAC地址就可以构造这些类型的帧,问题就出现在这里,802.11没有一个非常好的身份验证机制,没有定义去校验802.11管理控制帧是谁发的,我现在需要不需要接受这样的帧,这些机制都没有在802.11协议中给出具体的定义。那么问题就产生了,攻击者就可以模拟任意MAC地址或者伪造AP的MAC向客户端和无线控制器发起一些攻击,当攻击数量达到一定的门限的时候,就造成了无线拒绝服务攻击的产生。工具介绍本章给大家介绍的无线拒绝服务攻击是BeaconFlood,它的攻击原理是攻击者伪造任意的MAC地址在无线网络环境中发送Beacon管理控制帧,造成在一定的无线覆盖区域之内的用户扫描到大量的垃圾SSID,在这里使用的攻击工具是MDK3,在配合大功率网卡,就能够实现此类攻击。首先介绍一下MDK3这个工具,MDK3是一款集成在BackTrack4上的无线DOS攻击测试工具,能够发起BeaconFlood、AuthenticationDoS、Deauthentication/DisassociationAmok等模式的攻击,另外它还具有针对隐藏ESSID的暴力探测模式、802.1X渗透测试、WIDS干扰等功能。7图2-5图2-6另外关于MDK3相关的的详细参考信息和最新发布的版本的信息可以参考~p_larbig/wlan/.攻击步骤BeaconFlood这种攻击模式类似于Fackap,就是向无线信道中发送大量虚假的SSID,来充斥客户端的无线信号列表,使客户端找不到真实的AP,以下是BeaconFlood模式的参数,可以为将要生成出的SSID设定各种参数,如WEP/WPA加密信号、Ad-Hoc对等信号、自定义ESSID与BSSID等。使用虚拟机加载试验光盘镜像切换到MDK3目录下,如图2-7所示cd/rofs/pentest/wireless/mdk3图2-7运行MDK3工具,如图2-8所示./mdk38图2-8如果无线网卡没有激活可以使用以下命令激活,如图2-9所示airmon‐ngstartwlan0图2-9使用./mdk3wlan0b命令即可向无线网络1-13信道广播随机产生的SSID,如图2-10所示图2-10使用–c参数可以指定的信道中发送SSID广播,如图2-11所示,指定向6信道发送SSID广播./mdk3wlan0b–c69图2-11使用-s参数来指定它每秒的发包速率,如图2-12所示,每秒发送1000个数据包./mdk3wlan0b–c6–s1000图2-12如果想使用自定义的SSID对信道进行广播,可以使用-f参数读取目标SSID,可以将设定好SSID的文本直接放在/Root目录下先创建一个文本,如图2-13所示,10Vi/ssid图2-13编辑需要广播SSID的内容,如图2-14所示图2-14保存文本后,如图2-15所示,使用./mdk3wlan0b–c6–f/ssid命令,来发送指定SSID广播帧到指定信道。图2-1511此类攻击实施完毕之后会让客户端无法选择所需的无线接入点进行接入,如图2-16所示。图2-16来看一下在WINDOWS无线管理器下产生的效果。mdk3在发包时除非手动进行停止,否则它会一直循环的发包。而在WINDOWS无线管理器下,这些SSID显示不会重复,重复的SSID标记只会显示信号最强的一个,而使用第三方的无线管理器或者在LINUX下以BSSID作为排列依据的工具会将所有重复的SSID全部显示出来。防范措施如果此类无线拒绝服务攻击,在重要的无线场合中出现,并且广播一些政治敏感的SSID或者纯粹干扰你的SSID,使得运营商的服务暂时不可使用,用户无法正常的链接到运营商的SSID当中来,那将是一件非常严重的风险。那如何去解决这样的风险呢?道理很简单通过抓包可以发现,如图2-17所示,某一个RF射频源在大量的发送Beacon帧数据,它的发送量如果非常大的话,在RF探测器中就可以看到它的会被标红,因为他工作频率非常高,就可以通过此类特征来判断攻击源。12图2-17要能够有效检测到此类的RF射频的发射源,并且能够快速定位到在某一个地方就可以通知相应的管理人员去查处这样的无线热点。