您好、欢迎来到现金彩票网!
当前位置:欢乐棋牌 > 网页嗅探器 >

80211无线网络之安全攻防

发布时间:2019-06-07 20:50 来源:未知 编辑:admin

  在上的安全问题,有一个曲折的过去。特别是采用“有线等效保密协议”(WEP)加密的网络,由于早已被破解过无数次,所以大家会理所应当地认为人们早就放弃使用这样充满危险的加密网络了,但事实是这样的吗?本文介绍在、以及OS X等上,在使用基于“Wi-Fi保护访问”(WPA)加密的Wi-Fi过程,如何绕过这些机制,以及在可能的情况下实施攻击的一些工具和技术。

  无线网络的防御可以分为几个不同的类别。第一种防御类型是“防御完全无效”,别名就是可以“悄无声息地安全通过”,也就是说,任何人,只要他们诚心想进入系统,就可以轻易地攻破防御系统,然后悄无声息地进入系统中。

  下一个防御类型就是可以把防御级别归为“防御存在障碍”。要攻击这一种网络,通常情况下需要一个密码字典,通过字典攻击进而拿到基于“有线等效保密协议”协议和基于“Wi-Fi保护访问下的预共享密钥”(WPA-PSK)协议的无线网络。这时,所需要的主要是一点时间和适当的技能,攻击者最终都可以拿到静态“有线等效保密协议”密钥,或者是一个弱WPA密码。

  一旦突破了“存在障碍”的安全措施,那么就可以开始接触到第三类防御:“挑战思维”。攻击这种网络,需要真正的努力和超凡的大量高级别的技能。许多无线网络都想不到和做不了这么远,所以也无法归入到这一类中。在这一类网络中,通常使用了“Wi-Fi保护访问”协议,良好的优化配置,以及很强的客户端安全控制。

  许多无线网络的“AP接入点”服务器都有“隐身”(hidden mode)或“非广播”模式(non-broadcasting mode)。运行在这种模式下,AP接入点发出的网络的信标数据包中不包括其“服务集标识”名称(Basic Service Set ID,SSID,通俗地讲,就是我们所连的网络名称),AP接入点也不回复客户端以广播方式发送的“探测请求”(probe request)数据包。这样配置的那些“网络管理员”之所以这样配置,是因为他们将“服务集标识”作为一种秘密手段,与此同时,他们也倾向于在AP接入点上将“MAC地址过滤”(MAC address filter)设置为“有效”。

  其实,一个“服务集标识”根本就不是秘密。在无线网络中,很多数据包都包含有明文的“服务集标识”字段,而不仅仅是在信标数据包中。之所以说“服务集标识”是非常重要的,是因为您首先得知道有这么一个“服务集标识”,然后才谈得上向这个AP接入点发送连接的请求,这意味着每一个合法的客户端在尝试连接网络的时候,都要以明文的方式指明他们要发送“服务集标识”。

  既然在很多类型数据包中都包含有明文的“服务集标识”,那么即使您关掉信标数据包,停止回复广播类的请示,但“被动式嗅探器”(passive sniffer)却可以很容易地从另外类型的数据包中获得“服务集标识”。如果您曾经看到过Kissmet或KisMAC所捕获的数据包中被填入一些奇怪的名称,这是因为这些名称就是隐藏网络的名称,而获得这一名称的原因,就是因为有合法用户的客户端在所有发送的数据包中,某一些数据包中,也包含这个名称。比如,用户在登录网络认证的时候,就必然会用到“服务集标识”,那么他的数据包中,也必然包含“服务集标识”,不过,想拿到这个“服务集标识”,就意味着您得等待别人上线。在您监听(sniff)某个AP接入点的某个信道的时候,只要您监听的时间足够长,就肯定能捕获到有人上线的消息,然后从这个过程中的所有数据包中获得“服务集标识”。但其实,除了耐心等待之外,还有很多捷径可以做,比如可以强制地控制一下用户的“行为”。

  要获得比较感兴趣的某个无线网络的“服务集标识”,最简单的方式是把一个合法的用户从这个无线网上“踢”下来,然后“观察”该用户重新连接网络的过程。如前所述,这个被踢用户的“关联要求”(association request),或者是“重新关联请求”(reassociation request)的数据包会以明文的方式带上“服务集标识”名称。也就是说,在一个AP接入点隐藏“服务集标识”的网络中,如果您没有耐心等待有人主动上网,那就踢掉一个正在上线的用户,这样强迫他发送一个重新关联请求,进而从中拿到“服务集标识”。这里所谓“踢”操作,其实就是“解除认证”(deauthenticate)操作。

  之所以可以这样做,是因为802.11的管理帧(management frame)是不需要鉴定识别的,如果管理帧需要鉴定,那用户客户端就能够识别出来哪些管理帧是黑客发出的,哪些管理帧是由AP接入点发出的。所以您要做的就是给用户发送一个看起来像是来自AP接入点发出的数据包,用户客户端并不能分辨出其中的区别,这时用户客户端的无线驱动程序就会立即发送重新连接的请求。从技术的角度,就是用户将随后发送一个带有“服务集标识”的“重新关联请求”到AP接入点,而这时,您的扫描器就可借机从“重新关联请求”数据包中知道这个网络的名称了。

  IEEE 802.11-2012版本,最初是作为IEEE 802.11w修正案起草的,在后来的标准发布中,积累了一些这方面的改进内容。如包括在“解除认证帧”和“解除关联帧”中支持“散列”(cryptographic hash)。有时这一改进的协议也被称为“管理帧保护”协议(Management Frame Protection,MFP),这个增强版协议可以阻止常见“解除认证攻击”(deauthencicate attack),但对于阻止其他的,针对Wi-Fi部署的“”(Denial of Service,DoS)作用微乎其微。所以到目前为止,很少有网络采用MFP这一安全控制措施。

  任何用过一段时间的人,都可能因为控制一个无线网卡需要不同的命令而变得沮丧。要完成同样的命令效果,那些行将就木的老掉牙MadWifi程序,习惯于使用wlanconfig命令,而那些最老的,以及当前的较新的驱动程序,则习惯于使用iwconfig命令,并且最尖端的用户,可能已经熟悉了最新版中的一个称呼“iw”的无线工具命令。

  然而,iwconfig命令可能还会再继续工作了一段时间,所有新的无线驱动功能都将可通过iw命令进行访问。您可能也需要手动将iw命令安装到您的上(安装命令是“apt-get install iw”)。虽然上述所有命令完成的都是相同的事情,但是他们是通过调用不同的“应用程序接口”(API)实现的。iw命令不是一个单一的命令,而是一个命令的前缀,是一系列命令。所有“老”的iw命令(例如iwconfig、iwlist、iwpriv)都是调用“无线扩展的”应用程序接口,而那些“新”的iw命令,使用的是netlink/cfg80211的应用程序接口,这个协议在一段时间以后,将希望成为最新的无线标准协议。

  由于配置实用程序多种多样,所以对于某个具体的驱动程序,忘记准确的命令是常有的事。用户在记忆这些命令的详细格式而遇到麻烦时,就会被鼓励去使用airmon-ng。这是一款包含在aircrack-ng软件工具包中的一个实用工具,该工具是专门用来处理给定的驱动程序或内核,控制其“监测模式”中的各项详细信息。

  对于那些想要手动配置接口的用户来说,或需要一个公共的命令行例子作为快速参考的用户,可以使用下面提供的命令:

  下面的示例演示了如何在上通过aireplay-ng程序完成一个简单的解除认证攻击。这里的aireplay-ng是一种包含在Aircrack-ng软件工具包中的一个应用工具。假设“被攻击站点(victim station)的MAC地址是00:23:6C:98:7C:7C,它目前是在信道1上与关联的,其“基本服务集标识”值是10:FE:ED:40:95:B5。

  在下面的例子中,我们通过使用Kismet软件在信道1上检测到一个隐藏的网络,如图1。随后,通过Kismet软件的“Kismet配置信道(KismetConfig Channel)”菜单,我们已指示Kismet锁定到信道1上,并且准备好了解除这个所检测到的客户端的认证。因为Kismet为我们创建了一个“监测模式”接口,所以我们也可以使用这一相同的接口来实施解除对方认证的攻击操作。

  命令行的参数有点混乱。参数“--deauth”是指示aireplay-ng执行解除认证的攻击。指定目标地址用的是参数“-c”,指定“基本服务集标识”用的是参数“-a”。

  参数“--deautri”显示的是aireplay-ng在攻击的过程中,完成攻击的轮数。每一轮攻击都包含有64个从AP接入点到客户端的解除认证数据包,和64个从客户端到AP接入点的解除认证数据包。

  在执行这种攻击期间,我们将发送128个解除认证的数据包,其中64个从AP接入点到客户端的解除认证数据包,和64个从客户端到AP接入点的解除认证数据包。最终的结果是:客户端将看到在他的网络连接中有一个停顿,客户端然后重新关联AP接入点。当他这样做的时候,Kismet软件会在他的“探测请求”(probe request)数据包和“关联请求”(association request)数据包中看到“服务集标识”也在其中。比如,网络的名称是“linksys”。在此之后,如果网络使用“Wi-Fi保护访问”,用户将重新关联,我们会看到客户端完成了“四次握手”,又可以继续之前的在线状态。

  要想创建一个基于“解除认证的洪水拒绝服务”攻击(deauthenticace flood DoS atcack),只需要简单地将参数“--deautri”的数字由1变成0即可。这里的“0”其实表示的是“无限次”,所以这样的改变意味着之后由replay-ng软件所发出的解除认证操作会源源不断地发送,直到黑客主动停止这一操作,所表现出来的,就是这个用户将无法正常上网。作为可选项,如果使用“-c”参数,就意味着客户端的MAC地址指定为广播地址(broadcast address),那么这种解除认证的扫描服务攻击目前将是所有客户端,所表现出来的,就是全网用户都无法正常上网。

  目前,能在OS X操作系统上实现“数据包注入”功能的只有KisMAC软件。KisMAC当前支持注入功能的网卡都是使用prism2、RT73、RT2570和RTL8187芯片组的网卡。但KisMAC却不支持OS X上使用最多的内置的AirPort机场卡,这也是许多Mac用户购买使用D-link DWL-G122s或Alfa AWUS036H网卡的主要原因。

  假设您已有一个支持“数据包注入”的设备,并在KisMAC中加载正确的驱动程序,那么要开始攻击一个无线网络,只需要单击“网络(Network)解除认证(Deauthenticate)”菜单就可以了。随后,KisMAC就会不断地发送解除认证数据包到广播地址,直到您让它停止这样做。如果您所使用的KisMAC并没有出现解除认证的菜单项,这说明驱动程序不对或配置不对,仔细检查并确认您的驱动程序是支持“数据包注入”的,并且确保在KisMAC的当前这个驱动程序的“偏爱窗口”(preferences window)中“作为主设备使用”(Use As Primary Device)的复选框一定要选中。

  中发动一次“解除认证”攻击,最简单的方法是利用Wi-Fi版CommView。Wi-Fi版CommView是一款针对Windows用户的商业化软件。一个无限制的授权版,费用是499美元,还可以买一年的授权版,售价为199美元/每年。

  与别的工具相似的是,Wi-Fi版CommView需要一个支持“数据包注入”攻击的无线网卡。使用列表中的一块无线网卡,单击“工具(Tools)节点重新关联(Node Reassociation)”菜单,一旦出现成功,会看到一个如图2所示类似的屏幕。默认情况下,CommView会向所有被选中的客户端主机直接发送解除认证的数据帧。

  在发动“解除认证”数据包,对用户实施攻击的方面,Aircrack-ng相比于CommView更具有威力,而CommView又比KisMAC更具具威力。Aircrack-ng发送定向解除认证数据包时,既给AP接入点发送,也给客户端发送。CommView则只会将解除认证数据包发送给客户端,而KisMAC的解除认证数据包的发送方式是只有广播方式。另外还有一个叫密码恶魔“Cain&Abel”的软件其实也有网络无线攻击的能力。但这一功能只支持在商业的机场网卡AirPcap上使用。

  IEEE 802.11w修正案,就是后来被合并到IEEE 802.11-2012标准集中的那个网络协议,其实既包含了对“解除认证攻击”的抵御,也包含了对“解除关联帧”的抵御,识别伪造帧的方式是通过“消息完整性检查”(message integrity check)。但这种抵御方式只有在对方使用了“Wi-Fi保护访问版本2”认证方式的时候才管用,并且对于 的客户端来说,支持该功能是强制型的要求,这些 都是基于“网络驱动器接口标准”(Network Driver Interface Standard,NDIS)6.30及以后版本兼容的。

  虽然许多Windows 客户支持这一功能,但许多AP接入点并不支持这样的功能。而要使这一功能生效,需要双方都支持这一功能。那么如果想支持这一功能,那就需要您先检查您的AP固件生产厂商的升级版本,在确保该版本是支持“管理帧保护”(management frame protection)功能之后,才能抵御“解除认证”攻击和“断开关联”(disassociation)攻击。

  当前的各主流如Android系列、iOS系列系列的“移动无线终端”(通俗地讲,就是手机或Pad),以及Mac的OS X操作系统设备(通俗地讲,就是苹果笔记本电脑等)还没有通过管理帧保护技术,对设备进行管理。

  大多数AP接入点允许您设立一个“信任的MAC地址列表”(trusted MAC addresses),那么当不是该表中的其他MAC地址发送过来的任何数据包都会被忽略。一度以来,我们都认为MAC地址几乎是非常靠谱的东西,一旦烧入硬件芯片中就永不再变。然而那些日子已经一去不复返了,一个新策略的出现,使无线网络上的“MAC地址过滤”(filter MAC addresses)功能马上变的黯然失色,毫无意义。

  想要击败MAC过滤,只需要简单地效用某个已经在网络上的其他MAC地址即可。要做到这一点,首先需要运行一个“被动式扫描器”,借助于扫描器,您可以拿到那些已经连接在AP接入点的客户端MAC地址。然后就有很多种作法了,最绅士的情况是,您静静地等待这个用户不想上网了,从网络上断开后,您再开始“偷梁换柱”;还有的选择是对这个用户加载一个拒绝服务的DoS攻击(例如一个“解除认证”攻击),强制这个用户连续掉线后无心上网,然后“反客为主”;还有折衷的办法,那就是二者共用一个同一个MAC地址,各用各的,虽然各自都会受一些影响,但还算能用,也算“浑水摸鱼”。一旦您选择了要使用的MAC地址,那么克隆这个地址则只需要少数的几个命令而已。

  大多数无线网络接口,以及部分有线网络接口都允许您动态修改MAC地址。甚至MAC地址有时仅仅是作为ifconfig命令使用时的一个参数。例如,在Linux上,设置MAC地址为00:11:22:33:44:55,执行以下操作即可。

  要在Windows上修改您无线网卡的MAC地址,您可以手工地运行regedit命令进行修改。运行“regedit”命令,然后定位到节点“HKLMSYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002bE10318}”。一旦找到这个位置,就可以找到所有无线网卡的列表。其中的“主键”(key)包括了您的网卡描述,所以寻找应该不会太困难。一旦找到了您的网卡,就创建一个新的主键,并命名为“NetworkAddress”,其类型为“REG_SZ”。然后输入您想要的12位MAC地址。

  最新版本的Windows要求的第一个字节的第二个数字值必须是2、6、A、E几个数字或字母(不分大小写)其中之一。比如一般MAC地址的形式是“XY-XX-XX-XX-XX-XX”那么其中的X都可以是0~9或A~F中的任何值,但Y则必须是2、6、A、E其中之一。

  当修改完成后,您需要先禁用,然后马上再重新启用您的网卡,以便新MAC地址生效。不过,更多的情况下需要重启整个主机,这缘于Windows中对注册表的任何修改,需要重启主机才能生效的一个不成文规定。如果您想恢复到您原始的MAC地址,其实也是您网卡本来的MAC地址,只要到注册表相同的位置,删掉NetworkAddress主键,然后按上面的操作重启一下网卡或主机即可。

  当您在Windows中,对您的MAC地址进行了修改,一定要通过在“命令提供符”窗口中运行“ipconfig/all”命令来确认您的驱动程序确实已改成了新的MAC地址值。

  如果您感觉使用“regedit”命令过于繁琐和令人生畏,您可以通过一些独立的工具来协助您完成。两种常见工具分别是Tmac(Technitium MAC Address Changer,Technitium的MAC地址转换器)和MacMakeup。这些程序提供了一个方便的图形用户界面,但它们似乎除了更改网络地址中“NetworkAddress”这个主键值之外,也没做更多的事。

  在OS X操作系统的10.5版,Apple公司允许用户以一种类似于Linux下的操作方式修改MAC地址。要顺利地修改MAC地址,在修改前,您的网卡必须断开同任何网络的连接,然后可以通过“airport-z”命令完成这一操作。

  ifconfig命令运行结束的时候,MAC地址也随之修改并生效。之后,您可以使用正常的机场卡AirPort的图形界面加入到这个网络了。

  如果您在AP接入点上使用了“MAC地址过滤”功能,您将无法阻止别人通过上述方法修改他的MAC地址的方式绕过您所设的这种机制。最好的事情是根本不使用这种机制,或者至少不把它当成是一种安全控制。唯一能把“MAC地址过滤”能当成是好处的,就是这个AP接入点上无人使用,因为无法监听到“信任的MAC地址列表”中合法的MAC地址,因而无MAC地址,当然也就谈不上后面的数据包注入。不过,无论如何,都不要使用“有线等效保密协议”认证方式。在眼里,“MAC地址过滤”实际上只是花拳绣腿,货不抵值,即使您同时使用无线(wireless IDS)和“MAC地址过滤”,对于两个人在同一时间共用同一个MAC地址进行上网的入侵方式,您的应当能够发现,但对于等到某用户正常下线后,借助他的名义再上线的入侵者,那么也是无能为力。

  作为一种安全控制的认证方式,“有线等效保密协议”是一个很好的学习机会,它会教会我们在一套加密系统中,什么东西不能做。不过,我们经常可以看到在一些“SOHO场所”(即“小型办公室”或“家庭作坊”,small office/home office)中,基于“有线等效保密协议”的认证还在使用中。

  “有线等效保密协议”密钥有两种长度:40位(5字节)和104位(13字节)。最初,供应商只支持40位密钥。其实,原本供应商提供的密钥长度分别是64位和128位,之所以“缩水”减到这个长度,是因为在这64位和128位中,有24位来表示“初始向量”(Initialization Vector,IV),代表“共享密钥”(shared key)。这24位的“初始向量”在传达的时候是以明文方式发送的,这个形同虚设的值,对于正常用户和黑客,都可以轻易地获得,因此说密钥位的“实际有效长度”是40或104位。

  对于一个来说,有很多机会可以监听网络,并还原出网络加密的密钥。而一旦拿到还原出来的“有线等效保密协议”密钥,他就可以随意访问这个网络了。他可以看到每个人收发的数据,他也可以向任何一个客户端或AP接入点注入他自己的数据包。有许多独特的方式可以实施“有线等效保密协议”密钥还原,具体流程详见图4。该图中都是每种还原“有线等效保密协议”密钥方法的最简路径。

  正如在图4的流程图中所看到的,破解“有线等效保密协议”密钥最简单的方法是与FiOS路由器合作,一起攻击。FiOS是Verizon公司“光纤到户”(fiber-to-the-home)的互联网服务。尽管FiOS路由器在部署上市的时候,都默认使用了“Wi-Fi保护访问”认证,但很多老的设备都是使用很容易受到攻击的“有线等效保密协议”认证。

  如果您碰巧生活在Verizon公司提供的FiOS服务区域,您可能已经看过很多带有下列字样的AP接入点的名称。遵循这种模式:C7WAO、3RA18,或BJ220(注意:全都由五个字母或数字组成,并且字母都是大写)。正如您可能已猜到的那样,这些AP接入点的“服务集标识”,都是路由器通过一个很简单的函数功能调用生成的,这些值也都是从“基本服务集标识”(就是网卡的MAC地址)衍生出来的。到目前为止,这还不算是问题,真正的问题在于它的“有线等效保密协议”认证所使用的“默认密钥”(default WEP key)也是由一个函数调用完成的,也就是说“默认密钥”也是从“基本服务集标识”上衍生出来的。因此,如果您有AP接入点的“服务集标识”SSID(这个值AP接入点会定时广播)和“基本服务集标识”(这个值AP接入点也会定时广播),那么您就相当于有了“计算”“有线等效保密协议”密钥的所有条件了。并且这里的计算即不需要使用暴力破解方式(brute-force),也没有密码(crypto)的参与!

  第一个记录这种破解方式的是Kyle Anderson,他只用一个基于Linux系统的简单的在线Bash脚本()就能生成“有线等效保密协议”密钥。

  Bash脚本已经将密钥缩小到了两个可能的值。现在所要做的就是验证两者哪一个是正确的,排查的方法只是两个都试一下就行了。前面提到FiOS中的“服务集标识”值都是由五个数字或大写的字母组成,如“2C6W1”或“3A65B”。

  如果您安装了FiOS服务,并且没有重新配置您的,那么您可能很容易受到的这种攻击。要避免这种情况发生,首先登录到“FiOS服务的Wi-Fi路由器”(即我们前面经常提到的“AP接入点”,更通俗一点,如您家里的无线路由器)的管理界面,将认证方式由原来的“有线等效保密协议”模式切换到“Wi-Fi保护访问”模式,然后选择一个强口令。需要注意的是,这样修改之后,FiOS服务的Wi-Fi路由器会因为WPA/WPA2产生的额外开销而使整个网络的性能有所降低。

  前面“默认密钥”是基于“基本服务集标识”生成的,所以这么草率的处理,是失败的一个重要原因。如果说针对这种“有线等效保密协议”认证的攻击是基于一个错误的密钥生成机制的前提下,那么这里所介绍的攻击方式,则是即使所使用的“有线等效保密协议”密钥是完全随机的情况下仍然可以实现的攻击方式。这种攻击方式是基于长时间的加密研究而获得的,并且这种学研究的起始时间可以追溯到2001年。

  2001年,Fluhrer、Mantin和Shamir(首字母合称为“FMS”)发表了一篇论文,文中描述了在RC4(Ron代码的第4版)的“密钥调度算法”(Key Scheduling Algorithm,KSA)中有一个(vulnerability)。“有线等效保密协议”认证中所使用的RC4是一种“流”(stream cipher)。事实证明,正是因为“有线等效保密协议”认证采用RC4作为其,最终让使用“有线等效保密协议”认证机制的服务器变成了针对这一的完美攻击目标。

  导致这一问题的关键在于,“有线等效保密协议”认证是如何在每个数据包使用“初始向量IV”的。在“有线等效保密协议”认证时,会使用RC4算法加密一个数据包,它在给RC4发送密钥之前,会先将“初始向量IV”转化成了加密的值,而这个加密的值又会填在数据包中。这意味着入侵者在每个数据包中,都可以获得一个据说“保密”的密钥的前三字节。一些等待之后,在基于RC4的输入上又有了一个好的机会,这个机会可比直接猜完全随机的剩下40位密钥的胜算要大得多。这一步完成后,剩下的仅仅是收集足够的数据,以便让密钥自己浮现出来。

  2005年,Andreas Klei提出关于RC4的另一个问题。Darmstadt大学的研究者Pyshkin、Tews和Weinmann(首字母合称为“PTW”),将这项研究应用到针对“有线等效保密协议”认证的攻击上,并设计了攻击软件,名字叫aircrack-ptw。并且不久之后,该程序的增强版就被合并到aircrack-ng攻击工具包中,并且很快成为其默认的配置。

  “PTW攻击方式”解决了“FMS攻击方式”中的主要缺点。首先,“PTW攻击方式”在还原密钥的时候,并不需要考虑任何弱的“初始向量IV”作为前提,而是只需要先拿到几个值得关注的数据包,然后就可以对其密钥进行还原。所以当运行“PTW攻击方式”还原密钥的时候,整个工作量与CPU关系不大。而在“FMS攻击方式”中,需要尽可能多地收集弱的“初始向量IV”,然后自始至终,一直通过暴力破解(brute-force),以便更早地得到密钥。通过对比,不难发现,“PTW攻击方式”只需要几秒钟的CPU运行时间,就可以还原出“有线等效保密协议”的密钥,在这种情况下,再去考虑如何节省时间,节省CPU的计算能力,本身就意义不大了,而“FMS攻击方式”的破解时间只很大程度上取决于CPU的运算能力。

  虽然aircrack-ng可以用在、OS X和这三种上,但最合适的系统平台是平台。因为对于“数据包注入”的操作,在上要比任何其他上容易得多。同时,“数据包注入”技术又是入侵中最重要的技术之一,方便地实施这种攻击,可以大大加快对整个的攻击速度。

  下面的例子带您参观一个入侵“有线等效保密协议”WEP的完整的步骤,不过,整个入侵过程中,有一个重要的特征,那就是这种入侵方式中至少有一个的某个“被占领客户端”(victim client)已连在了这个上。在这个例子中,我们假设有一个名为linksys的网络,运行在信道1上,其“基本服务集标识”为10:FE:ED:40:95:B5。首先,设置适配器,使其进入“监测模式”:

  接下来,我们开始运行airodump-ng程序,并设定我们感兴趣的信道和“基本服务集标识”:

  在上面的操作实例中,我们已经看到当前有一个客户端在线:BA:DC:OD:ED:01。我们将使用该MAC地址,并“从”这个客户端发送“重新注入”(reinject)的ARP地址解析数据包。这样做的目的是创造更多的数据包,这样我们就可以更快地破解密钥:

  在上面的操作实例中,aireplay-ng成功地将ARP地址解析协议数据包以注入的方式发送到了网络中。由于数据包是以当前这个客户端的名义发送的,所以这个客户端很快就会收到AP接入点和其他客户端回复给它的数据包。aireplay-ng发送的动作是不停地连发(向各设备分别64个数据包),因此,网络中各相关的设备为各自的发送和回复而开始发送数据包。回过头来,看看airodump-ng,我们会发现大量的数据包正在快速地暴涨。

  看到捕获的数据包个数正在稳定增长,这时,就可以运行aircrack-ng程序了。

  最初,我们高兴地看到,在一个屏幕上显示的是分配到每一个密钥字节的权重(weight),以及“初始向量IV”的个数等值。如果aircrack-ng不能推导出最初的密钥,它会等待更多的数据写入到文件中,然后再试一次。一个成功的破解结果如图5显示的效果。

  前面的例子是一个非常简单的事例。该事例的重要特点,同时也是不足的地方,就是这种攻击方式需要有一个或多个客户端连接到要攻击的网络上。该破解方式依赖有一个“被占领主机”最终发出一个ARP地址解析数据包,然后,我们可以在随后重复地产生数据包收发过程,并最终破解密钥。下面的例子将带您参观的是一个更复杂的事例,即在没有客户端连接到网络的前提下进行入侵攻击。整个完整过程如图6所示。

  第1步:启动airodump-ng在这个例子中,作为攻击目标的无线,“服务集标识”是“quiet_type”,目前无用户连接到网络上。首先,运行airodump-ng,以便开始捕获网络上的活动,以备随后的入侵。

  第2步:假认证AP接入点下一步,使用aireplay-ng伪造一个和AP接入点之间的关联。这就像是一个常规的客户端会去做的连接一样,您只需要使用aireplay-ng在不知道“有线等效保密协议”密钥的前提下,去和AP接入点建立连接关系。

  使用无线网卡的MAC地址作为源地址,并通过aireplay-ng命令的“-h”参数使用这个地址。

  第一个参数告诉aireplay-ng执行假的认证,并且认证的时候,命令要带上1秒的延迟。“-o 1”参数是告诉aireplay-ng一次只发一组数据包,在实施攻击的时候,这样做可以减少对AP接入点的冲击。再后面的“-e”参数是设置“服务集标识”SSID,“-b”参数设置“基本服务集标识”BSSID,“-h”参数设置源MAC(这应该是当前分配给您的无线接口的MAC地址)。

  如果您看到一个消息:“得到了一个解除认证的数据包!”,那么假关联已经失败。最可能的原因是AP接入点实现“MAC地址过滤”(MAC address filter)。这时,您只能等,等待一个正常用户上线,借助于他的MAC地址,静等他下线,或是发起攻击将他“踢”下网,或者与他一起用同一个MAC地址共用网络。总之,拿到他的MAC地址后,您就可以修改自己的MAC地址为该MAC地址,然后再连上网络,继续后面的攻击。

  再回到airomon-ng上,您会看到您的假客户端名单也名列客户端名单中。下一步尝试一下“碎片攻击”方式(fragmentation attack)。

  如果完成后面的“碎片攻击”(和随后的ChopChop攻击),可以留下这个假认证(fake-auth)的程序运行在后台上。这样一来,如果高级攻击中的某一个导致了AP接入点解除与我们的认证,我们将在1秒延迟以后自动重新认证(re-authenticate)。

  第3步:启动碎片攻击“碎片攻击”是一种先进的“有线等效保密协议”破解技术,该技术可以用于使用AP接入点作为一个解密工具,一次解密一个单一的数据包。除非这次指定的就是“碎片攻击”方式,否则只要用之前aireplay-ng中“假认证攻击”(fake-auth attack)进行攻击就可以了。

  如果您看到这段关于保存密钥流(keystream)的信息,这说明现在程序正在执行一个数据包中,明文(plaintext)和密文(ciphertext)的“异或”(xor)操作。如果“碎片攻击”进入工作状态,您可以直接跳转到第5步。如果“碎片攻击”无法进入工作状态,那么可以试试ChopChop攻击。

  第4步:启动ChopChop攻击除了“碎片攻击”之外的,另一种常用的攻击方式就是“ChopChop攻击”。“ChopChop攻击”需要比“碎片攻击”花更长的一点时间(最多几分钟)才能完成。可以运行如下所示代码。

  如果要实施攻击,您可以尽可能只使用尺寸较小的数据包,以便加快“ChopChop攻击”的攻击速度。如果要实施“数据包注入”,则可以使用较大的包,大于68字节的数据包都应该能够满足以后在一次“ARP注入攻击”(ARP injecton attack)中使用。

  数据包越大,“ChopChop攻击”所用的时间就越长。如果实施攻击的数据包大于300字节,您可能就会考虑扔掉这个软件,等待有能发小数据包的合适攻击软件了。

  这种攻击将需要几分钟。如果您觉得在攻击的中途接收到了解除认证的信息,那就先确认一下在最初很早运行的“假认证”攻击是否仍在运行。

  一旦攻击完成,您会在“.cap”文件中得到解密数据包的一份拷贝,在“.xor”文件中得到密钥流的一份拷贝。一个比较好的主意,是理智地查找攻击程序所留下的输出内容。这主要是在上面保存的“.cap”文件中。这里,会包含有某种“有效的IP地址”的数据包。例如,刚解密的数据包,经过解码,发现是“简单服务发现协议(Simple Service Discovery Protocol,SSDP)”的数据包,该数据包位于一个192.168.O.X的子网中:

  任何时候,数据包的应用层(application layer)信息能够被解出来,这都是一个好的迹象。毕竟,看到应用层的数据,意味着所有与应用层以下各层(对于TCP/IP协议来说物理层、网络层、传输层)上的问题已解决。

  第5步:手工制作ARP数据包成功地进行了“碎片攻击”或“ChopChop攻击”之后,您现在可以通过注入您自己的数据包,实现“还原的密钥流”(recovered keystream)。但应该注入什么样的数据包呢?您需要的是AP接入点直接向广播地址发送的内容。从这样的一个加密的数据包中,通过使用“ChopChop攻击”进行解密,您就可以知道AP接入点所管理的网络位于192.168.0.x子网中。跳过802.11的头部和加密的部分,如果随后的ARP“who-has”请求数据包在网络上被生成,那么这个AP接入点将会向所有的客户端重新广播一遍。并且在随后的处理中,使用新的“初始向量IV”。

  请注意,我们实际上并没有手工制作那些AP接入点已经回复了的包(比如对于无线”IP地址)。我们只需要那些AP接入点将要重新发送的数据包,才需要手工制作。测试表明,针对AP接主点的手工制作的数据包,更像是告诉AP接入点“解除对我的认证吧”这样的自杀行为,所以我们还是别冒那个险了。

  在aircrack-ng套件中,有一个叫packetforge-ng的工具,这个工具就是用于手工制作数据包。首先,运行packetforge-ng,并带上“--arp”参数,这是告诉程序您想手工制作的数据包类型。下一点,您需要指定网络的第二层,也就是数据链路层的参数(“基本服务集标识”、目的MAC地址、源MAC地址),这个命令是同前面一样,格式是“-a BSSID”参数和“-h发送源MAC地址”参数。接下来,通过“-k”参数指定目的IP地址,和通过“-l”(这是一个“L”的小写字母,而不是数字“1”)参数指定源IP地址,这两个参数共同创建的数据包。最后,使用参数“y”,将前面由“ChopChop攻击”所生成的“密钥流”加密一个新的数据包。这个命令如下所示。

  如果创意十足,您可以通过packetforge-ng软件生成其他协议的数据包,并使其在网上发来收去。一个广播方式下的“Internet控制报文协议回送请求”(ICMP echo request)数据包在生成后,可以产生积极的结果。

  做完这些事,您应该有了一个手工制作的ARP数据包,该数据包使用针对该网络作了正确的加密,您可以请其“注入”到网络中,然后观察在airodump-ng中所捕获的数据包总数是不是增加了。

  第6步:注入手工制作的数据包随着繁杂的内容被一一处理掉,看看按照前面的方式手工制作的加密请求数据包,终于到了使用这些数据包的时候了。一个简单的命令行如下所示:

  运行aireplay-ng后,您应该切换到终端上再运行airodump-ng。如果您没有看到“#Data”的计数在增加,就说明某个环节发生了错误。最有可能的是命令中的几个MAC地址,您在键入时存在输入错误,或者您需要重新运行aireplay-ng上的“假认证攻击”(fake-auth attack)。如果您看到“#Data”计数的增加,那就继续向前,开始运行aircrack-ng来分析处理由airodump-ng生成的“.pcap”文件。

  第7步:启动aircrack-ng,运行aircrack-ng,先让程序运行几分钟,以便捕获到足够的网络通信的数据包。然后运行aircrack-ng以便对所捕获的文件进行分析处理。由于生成的数据包文件太大,所以下面我们在命令行中,通过使用通配符(wildcard)在当前目录下,从所有airodump-ng所捕获数据包文件中,查找那些文件名中,带有前缀“quiet_type”类型的文件(这是本次入侵时,作为攻击目标的无线网络的假设网络名)。

  最终aircrack-ng命令将成功返回密钥,或者因为所捕获的数据包还不足以还原密钥,那么程序会继续等待更多的捕获数据包,然后再次尝试还原操作。您可以将它放在那里运行,直到拿到还原后的密钥,然后再回到另一个终端上,停止aireplay-ng命令的运行。

  要想在OS X操作系统上破解“有线等效保密协议”认证系统,您要有协同使用KisMAC和aircrack-ng这两个软件的能力。KisMAC可以通过重新注入数据包(reinject packet)来产生数据通信,但是,相比于aircrack-ng,它又缺乏后者所具有的先进加密功能,比如可以实现“PTW攻击”。反过来,aircrack-ng没有KisMAC的这项功能。这意味着您需要配置KisMAC,以便让KisMAC捕获所有通信数据包,并将其保存到到一个“.pcap”文件中,实现这一功能,需要使用KisMAC的“KisMAC(Kismac)偏爱(Preferences)驱动程序(Driver)保存所有数据(Keep Everything)”菜单。完成这一操作后,将生成的pcap传送到aircrack-ng中实施“PTW攻击”的破解。在下面的例子中,我们将所有的数据包保存到“Dumplogs/cumpcap”文件中。

  一旦您已经安装好aircrack-ng,就可以在Kismet中开始扫描。当扫描到一个可以作为攻击目的的网络后,选择“网络(Necwork)重新注入数据包(Re-inject Packets)”菜单启动KissMAC中重新注入(re-inject)数据包的功能。一旦KisMAC看到一个可以用于重新播放(replay)的数据包,您应该就会看到如图7所示的类似界面。

  这时,我们可以关注数据包的计数值。如果注入操作正在进行,您应该能够看到数字在迅速攀升。那么,您就可以从命令行中止aircrack-ng的命令:

  当前流行的破解工具“Cain&Abel”最近增加了对“PTW攻击”的支持,也增加了“重播攻击”的数据包能力。该功能的提供,需要使用带有“数据包注入”功能的AirPcap设备。这个设备可以让您在不使用命令行工具的前提下,能像aircrack-ng软件一样快速地破解“有线等效保密协议”认证方式。唯一的缺点是您必须使用专业版的AirPcap网卡适配器。并且目前没有实现先进的“ChopChop攻击”和“碎片攻击”这两种攻击方式。

  假设您已经安装AirPcap网卡适配器,并且正在使用中,运行“Cain&Abel”软件,单击“无线”(Wireless)选项卡。随后从下拉列表中选择您的AirPcap网卡适配器的名称,然后单击“以被动方式扫描”(Passive Scan)按钮。一旦您所感兴趣的网络出现在列表中,单击“停止”按钮,然后锁定在相应的信道。确认ARP请求数据包注入选项显示在底部列表中,然后再次单击“被动扫描”按钮。这种配置的一个例子如图8所示。

  主要关注数据包的计数值,正常情况下,如果“重播攻击”正在工作,那么该计数器应该一直处于增加状态。如果您遇到了麻烦,您可以用鼠标右击客户端,然后解除认证。这将导致客户端重新关联,并希望发出一个请求。一旦数据包的数量增至40000左右,单击“分析”(Analyze)按钮。选择您有兴趣的“基本服务集标识”BSSID,然后单击“PTW攻击”按钮。如果一切顺利,您应该看到一个“发现有线等效保密协议密钥!”(WEP Key Found!)的消息,如图9所示。

  虽然“有线等效保密协议”是目前中最容易攻破的一种协议,但要成功地攻破一个基于“有线等效保密协议”认证的,却要多个步骤才能成功,失败的原因千奇百怪,有因工具破解失败而受挫,有因工具的配置和使用时的输入手误。作为一种替代手动攻击的方法,有一款集上述各攻击技术为一体的“傻瓜式”简单界面的集成工具。

  现在,您已经明白了破解“有线等效保密协议”无线网络背后的每一个过程,就到了学习Wifite的时候了。Wifite是一个对经常出错的命令行提供帮助的一个工具,一个可以使以前这些操作变成自动化的工具。

  Wifite软件的最大优点之一,就是它事先预配置一个目标清单,然后让Wifite在无人值守的情况下,自动按清单中的每一条操控着aircrack-ng的进程。随后,您就可以高枕无忧,因为Wifite会根据列表中每一项完成破解工作,如果Wifite完成了对目标清单中,列表的第一项破解完,就会自动地切换到目标清单中的下一条。这一自动运行的特性对于一些嵌入式设备来说非常有用。这个Wi-Fi嵌入式设备名叫“Wi-Fi小菠萝”(Wi-Fi Pineapple),该设备的实物图片如图10所示。

  “Wi-Fi小菠萝”是一台专用的无线攻击工具,这个设备由Hak5组织开发,价格大约是100美元。每一台设备配备有两个Wi-Fi的无线MHz的MIPS处理器,一个SD插槽(可以通过插入SD卡达到扩大存储的功能),一个快速以太网卡和一个USB端口。“Wi-Fi小菠萝”是一款集中了很多Wi-Fi攻击技术于一身的小型便携式攻击器。

  购买到一款新的“Wi-Fi小菠萝”之后,首先要做的事是让你的“Wi-Fi小菠萝”启动并连接到互联网上,下载一些数据包。如果在将设备连接到互联网方面遇到什么疑问,可以查询“Wi-Fi小菠萝”的用户手册。

  一旦配置好了“Wi-Fi小菠萝”,使之可以访问到您的笔记本电脑,并且也可以访问到互联网,则可以使用SSH工具以root管理用户的身份登录系统。登录时,如果需要,则使用在初始化安装时配置的。假设设备默认的IP地址是172.16.42.1,在进入系统以后,就可以运行下面的命令来下载和安装Wifite正常使用所需要的工具软件。

  如果您有一个Ext4格式(Ext4-formatted)的USB接口连接到您的“Wi-Fi小菠萝”上,那么在运行opkg程序安装所下载的软件包时,需要使用“-d usb”参数,以便让程序使用使用的是USB设备,而不是SD卡。

  想必大家在购买“Wi-Fi小菠萝”的时候,就心知肚明地了解这是一个工具,这也是各种技术防范的重点地带,因此“Wi-Fi小菠萝”所提供的http下载方式,也不敢担保说所下载的东西都是“开箱即用”的(out of the box)。所以您的“Wi-Fi小菠萝”需要经常下载最新版的Wifite程序。将新程序包下载到的笔记本电脑后,然后使用“安全外壳复制”(Secure copy)方式将Wifite.py脚本复制到“Wi-Fi小菠萝”中,如下面的命令格式所示。

  一旦上面的工具全都完成,您就可以在“Wi-Fi小菠萝”上运行Wifite了,其格式和运行效果如下所示:

  现在,将网线插入到“Wi-Fi小菠萝”以太网端口上,网线的另一头连上自己的笔记本电脑,很快,您就会看到自己的笔记本电脑上出现wlan0和wlanl两个Wifite无线网络的适配器标识,两个都可以使用。如果您嫌以太网的网速太慢,而是通过无线连接使用“Wi-Fi小菠萝”,那么一定要注意,确保不要选择正在使用的这个无线接口。

  在这一点上,Wifite已经自动把无线网卡设置为“监测模式”,以便在被动方式下进行侦测,随后,根据信号强度,按顺序排列在当时位置中的各无线AP接入点的“服务集标识”名称(图11中“ESSID”列)。和平时我们用手机连接周边的Wi-Fi无线路由器略有不同的是,Wifite在列出各AP接入点名称的同时,在“”(图11中简写为“ENCR”,即encryption)一列,也让我们知道每一个AP接入点正在使用的是“Wi-Fi保护访问版本2”WPA2认证、“Wi-Fi保护访问”WPA认证或“有线等效保密协议”WEP认证的,还有,如果这个网络支持“Wi-Fi保护配置协议”(Wi-Fi Protected Setup),那么在“是否支持WPS”(图11中“WPS?”)一列,还会显示“支持WPS”(即“wps”),否则显示“无”(即“no”)。如果任何客户端连接到那个AP接入点,在“有客户端连接”(图中“CLIENT”)一列也会给出提示。

  尽管大家习惯选择所有的无线网络,让Wifite通过各自的方式尝试破解所有的这些“邻居”网络,不过,作为例子,下面我们还是只选那个之前曾手动破解过的quiet_type无线网络:

  下面我们运行Wifite时所使用的脚本,首先,这些脚本会生成“假的”认证数据包,然后试着重播任意的地址解析协议数据包,这些数据包的地址都是通过中读到的。程序界面左边的一个“时钟”显示的是破解这个网络所用的时间,该“时钟”会随着破解的进行而增大,直到程序或您放弃目前的攻击,或者是程序破解成功,程序都就会移动到下一个上,重新开始新网络的破解。默认情况下,Wifite每攻击一个,其时间上限都会设定为10分钟,10分钟到的时候,如果还没有破解成功,则程序放弃当前的攻击。在攻击期间,如果您没有耐心再等待下去,比如知道没人会连接到quiet_type网络,并产生一个包了,您可以按Ctrl+C,就会人工放弃当前的攻击,程序自动移动到下一个上继续在新的10分钟之内进行攻击。

  如图11所示,一旦您按了Ctrl+C,程序暂停,然后询问您是按“c”(continue)继续随后的攻击呢,还是按“e”(exit)放弃当前的攻击?如果我们选择了“e”,那么Wifite程序要么就会移动到下一个目标上,进行攻击。当然如果列表中没有了,那就程序退出运行了。

  Wifite目前正在执行的,是一个类似于前面完成过的“ChopChop攻击”:

  我们可以观察处于运行状态的进程(processe)中Wifite正在做什么。不幸的是,这款“Wi-Fi小菠萝”中的“ps”程序(该命令也是Linux下查看进程的主要命令)只能显示进行状态信息中的前78个字符。

  当Wifite处于攻击的过程中时,它会打印“正在等待数据包”(waiting for packet)提示信息到用户的屏幕上。这样的提示信息有些轻微误导,因为此时的Wifite实际上等待的是通过“ChopChop攻击”解密一个数据包,而不是“等着”这样的一个数据包,然后在这个数据包出现的时候捕获到它。假设“ChopChop攻击”是成功的,那么Wifite会显示出下面新的提示信息。

  其中的“初始向量数/秒”(iv/sec)的速率显著高于之前的速度。这意味着某些攻击正在进行中,由攻击而导致的大量数据包也在网络间飞来跑去。几分钟之后,当然也可能是10分钟之后,我们有了足够的数据包,可以用来成功地破解密码了。一旦破解成功,我们就会收到一个成功的信息提示,如图12所示。

  通过使用Wifite工具,可以极大地加快和简化攻击的过程。对于一个使用“有线等效保密协议”的对手,使用Wifite也可以降低攻击者的负担,减少攻击“有线等效保密协议”网络所需的专业技能和背景知识量。此外,除了支持对“有线等效保密协议”认证网络的破解,Wifite也支持攻击其他的技术。

  防范对“有线等效保密协议”认证方式的攻击,最简单的办法就是弃用“有线等效保密协议”认证方式,进而改成“Wi-Fi保护访问版本2”认证方式。可说起来简单,做起来难。许多继续使用“有线等效保密协议”认证的原因是要兼容那些传统的老掉牙设备,或者是很多的使用者,根本也意识不到“有线等效保密协议”存在的不安全因素,而是一厢情愿地相信本来就是安全的。

  本文涵盖了多个各式各样的专门针对“由“有线等效保密协议”WEP保护的无线网络”的攻击方式。这些部署在“小型办公室”或“家庭作坊”的SOHO网络上有一些共同的基本特征,就是使用“有线等效保密协议”认证方式,隐藏了“服务集标识”,设置了“允许通过的MAC地址列表”。这些技术永远不会被应用于对安全级别要求很高的敏感的网络中,但在一些大型企业的零售仓库中,这类产品或产品参数设置的部署却仍然是司空见惯的现象。使用便捷的工具,无论是Microsoft的Windows,Mac上的OS X操作系统,还是应用广泛的Linux,一个黑客可以针对这些系统的弱点进行多种方式的攻击。这既包括对无线网络中数据包的捕获,也包括获得对网络的非认证访问(unauthorized access)。

  要防御对“有线等效保密协议”认证方式的攻击,建议的缓解策略是,在部署的时候避免使用“有线等效保密协议”认证,而全部改换为“Wi-Fi保护访问版本2”认证。不过,这并不意味着“Wi-Fi保护访问版本2”认证对于的安全就是一劳永逸的。返回搜狐,查看更多

http://tweakersdelight.com/wangyexiutanqi/82.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有