很多无线路由器都支持WPS(Wifi Protection Setup)功能,它是一种可以让用户无需密码直接连接Wifi的技术。本来这种技术的初衷是让用户更加方便的连接网络,但是因为它有严重的安全漏洞,所以反而让用户的网络更加不安全。因此在这里推荐大家使用路由器的时候没事就把WPS功能关掉。
因为要进行渗透测试,所以首先我先把自己路由器的WPS功能开启,当然测试结束之后别忘了关闭WPS功能。
使用前一篇文章介绍的方法安装好Kali虚拟机或者U盘系统,然后就可以准备开始了。
当然这里使用到的工具并不是只有Kali能用,其他Linux发行版也可以使用。但是还是推荐Kali,因为很多渗透测试工具都是按照安防论文的理论来实现的,很多都已经不再维护了。而Kali收集了很多尚在维护的工具分支,如果你使用其他发行版的话,可能其软件仓库中的版本还是原来的旧版本。
本文比较简单,涉及到的工具有两个,reaver和aircrack-ng。
我用的是台式机安装的Kali虚拟机系统,自然是没有无线功能的,所以需要一块无线网卡。值得称道的是现在Linux驱动非常完善了,我原来买的360无线网卡可以直接驱动成功。
连接方法也十分简单,电脑插上无线网卡,然后在VMware软件右下角找到无线网卡的图标,点击并选择连接到虚拟机,这样就大功告成了。整个系统可能会卡几秒钟,之后就正常了。
连接成功后,在Kali虚拟机中应该可以看到Wifi图标了,用lsusb命令还可以查看到无线网卡的厂商和具体型号,可以看到我的无线网卡具体型号是MT7601U。
首先输入 sudo airmon-ng 命令查看一下当前系统中的无线网卡,在Kali中这个接口名默认应该是wlan0。
然后输入下面的命令关闭可能影响网卡监听的程序,然后开启监听模式。开启完毕之后,再次输入 sudo airmon-ng ,应该就会看到这次接口名变成了wlan0mon,这样就说明成功开启了监听模式,可以进行下一步了。
输入下面的命令开始扫描附近的无线网络。
稍后应该就会显示出附近开启了WPS的所有网络了,dBm是信号大小,值越小说明信号越强,按Ctrl+C即可中断命令。如果想要查看所有网络的话,可以添加 -a 参数,它会列出所有网络(包括了未开启WPS功能的网络)。
这时候就要记下来网络的BSSID(网络Mac地址)以及ESSID(网络名称),准备好下一步的工作了。
好了,下面就可以开始正式的工作了,其实说起来原理也很简单,WPS PIN是一个8位数字密码,所以其实我们要做的就是不断的尝试,最终找到这个PIN。总共需要尝试的次数有一亿次,看起来这个数字非常大,但是在安全领域,一亿次算是一个非常小的次数了,很多加密算法要攻破甚至需要全世界所有计算机同时计算几百年。
当然要搞定WPS的PIN并不需要这么长时间,最多10来个小时就可以了,平均用时可能也就4-5个小时左右。而且一旦知道了PIN,获得WIFI密码仅需要数秒即可搞定。之后只要PIN码没有发生变化,就算WIFI密码被修改,也可以很轻松的搞定。
接下来就要轮到本文的主角登场了,这就是reaver,专门用于破解WPS Wifi网络的工具。输入 -h 参数即可查看帮助信息,这里简单列出一些我们要使用的参数。
详细参数参考reaver的帮助,并不难懂。
了解了reaver命令行的用法之后,就可以正式开始了。很多时候一次可能并不能成功,需要尝试多次。
因为是测试,所以我干脆直接指定了PIN的值。为了更详细的了解命令运行过程,可以开启2级或者3级输出看看reaver工具到底干了啥。
如果出现了下面的bad FCS,可以在添加 -F 参数忽略帧校验错误,然后再次尝试。
如果一切正常的话,应该会在几分钟内通过PIN解开WIFI的密码。如果不知道PIN密码的话,也可以通过几个小时的尝试来试出PIN进而得知WIFI密码。因此我们在日常使用的时候,一定要记得关掉WPS功能,它是很多漏洞的根源。
1、kali用户名密码正确无法登录的解决方法如下:物理主机:在图形登陆界面,按ctrl+alt+F2,进入cli(command line interface)模式。
2、输入用户名以及密码,cli模式下密码不显示,输入结束后回车即可。
3、执行更新 apt-get update && apt-get upgradeapt-get upgrade 过程中会出现同意或其他的修改请求,直接y或者q退出。
5、选择新的shell 或者保留原来的shell 然后reboot 重启即可进行登录 *** 作。
没有什么伟大的东西能在脆弱的基础上构建。在我们的语境中,固有的不安全性之上不能构建出安全。
WLAN 在设计上拥有特定的不安全性,它们可被轻易利用,例如,通过封包注入,以及嗅探(能够在很远处进行)。我们会在这一章利用这些缺陷。
由于这本书处理无线方面的安全,我们假设你已经对协议和封包的头部有了基本的了解。没有的话,或者你离开无线有很长时间了,现在是个好机会来回顾这个话题。
让我们现在快速复习一些 WLAN 的基本概念,大多数你可能已经知道了。在 WLAN 中,通信以帧的方式进行,一帧会拥有下列头部结构:
Frame Control 字段本身拥有更复杂的结构:
类型字段定义了下列三种 WLAN 帧:
我们在之后的章节中讨论不同攻击的时候,会讨论这些帧中每一种的安全隐患。
我们现在看一看如何使用 Wireshark 嗅探无线网络上的这些帧。也有其他工具 -- 例如 Airodump-NG,Tcpdump,或者 Tshark -- 你同样可以用于嗅探。我们在这本书中多数情况会使用 Wireshark,但是我们推荐你探索其它工具。第一步是创建监控模式的接口。这会为你的适配器创建接口,使我们可以读取空域中的所有无线帧,无论它们的目标是不是我们。在有线的世界中,这通常叫做混合模式。
让我们现在将无线网卡设为监控模式。
遵循下列指南来开始:
我们成功创建了叫做 mon0 的监控模式接口。这个接口用于嗅探空域中的无线封包。这个接口已经在我们的无线适配器中创建了。
可以创建多个监控模式的接口,使用相同的物理网卡。使用 airmon-ng 工具来看看如何完成。
太棒了!我们拥有了监控模式接口,等待从空域中读取一些封包。所以让我们开始吧。
下一个练习中,我们会使用 Wireshark 和刚刚创建的 mon0 监控器模式接口,从空域中嗅探封包。
遵循下列指南来开始:
观察封包中不同的头部字段,并将它们和之前了解的 WLAN 帧类型以及子类型关联。
我们刚刚从空域中嗅探了第一组封包。我们启动了 Wireshark,它使用我们之前创建的监控模式接口 mon0 。通过查看 Wireshark 的底部区域,你应该注意到封包捕获的速度以及目前为止捕获的封包数量。
Wireshark 的记录有时会令人生畏,即使在构成合理的无线网络中,你也会嗅探到数千个封包。所以深入到我们感兴趣的封包十分重要。这可以通过使用 Wireshark 中的过滤器来完成。探索如何使用这些过滤器来识别记录中唯一的无线设备 -- 接入点和无线客户端。
如果你不能做到它,不要着急,它是我们下一个要学的东西。
现在我们学习如何使用 WIreshark 中的过滤器来查看管理、控制和数据帧。
请逐步遵循下列指南:
我们刚刚学习了如何在 Wireshark 中,使用多种过滤器表达式来过滤封包。这有助于监控来自我们感兴趣的设备的所选封包,而不是尝试分析空域中的所有封包。
同样,我们也可以以纯文本查看管理、控制和数据帧的封包头部,它们并没有加密。任何可以嗅探封包的人都可以阅读这些头部。要注意,黑客也可能修改任何这些封包并重新发送它们。协议并不能防止完整性或重放攻击,这非常易于做到。我们会在之后的章节中看到一些这类攻击。
你可以查阅 Wireshark 的手册来了解更多可用的过滤器表达式,以及如何使用。尝试玩转多种过滤器组合,直到你对于深入到任何细节层级都拥有自信,即使在很多封包记录中。
下个练习中,我们会勘察如何嗅探我们的接入点和无线客户端之间传输的数
据封包。
这个练习中,我们会了解如何嗅探指定无线网络上的封包。出于简单性的原因,我们会查看任何没有加密的封包。
遵循下列指南来开始:
我们刚刚使用 WIreshark 和多种过滤器嗅探了空域中的数据。由于我们的接入点并没有使用任何加密,我们能够以纯文本看到所有数据。这是重大的安全问题,因为如果使用了类似 WIreshark 的嗅探器,任何在接入点 RF 范围内的人都可以看到所有封包。
使用 WIreshark 进一步分析数据封包。你会注意 DHCP 请求由客户端生成,并且如果 DHCP 服务器可用,它会返回地址。之后你会发现 ARP 封包和其它协议的封包。这样来被动发现无线网络上的主机十分简单。能够看到封包记录,并重构出无线主机上的应用如何和网络的其余部分通信十分重要。Wireshark 所提供的有趣的特性之一,就是跟踪流的能力。这允许你一起查看多个封包,它们是相同连接中的 TCP 数据交换。
此外,尝试登陆 >
首先电脑插入USB无线网卡
然后通过VMware里面 虚拟机 > 可移动设备 选择我们的无线网卡连接,如下图:
注:iwconfig是查看无线网卡,ifconfig 是查看有线网卡
此时需要再次查看下网卡:
此时如果有人连接这个wifi,就会产生握手包,我们就会抓到这个握手包,但是运气并不是那么好,如上图所示一直没有抓到握手包,因此我们就要手动的踢掉一个人的wifi,这样它就会再次自动连接wifi,产生一个握手吧,这样我们就抓到了握手包。具体来看下一步:
# aireplay-ng -0 10 -a bssid -c station mac wlan0mon
# aireplay-ng -0 10 -a AP的mac地址 -c 你要踢掉的主机的mac地址 wlan0mon
此时我们再去看刚才侦听握手包的窗口,发现已经抓到了握手包,如下图所示
然后查看一下当前目录下抓到的握手包secevery-01cap
多数渗透测试者似乎把全部注意力都放在 WLAN 设施上,而不会注意无线客户端。但是要注意,黑客也可以通过入侵无线客户端来获得授权网络的访问权。
这一章中,我们将注意力从 WLAN 设施转移到无线客户端。客户端可能是连接的,也可能是独立未连接的。我们会看一看以客户端为目标的几种攻击。
通常,当客户端例如笔记本电脑打开时,它会探测之前连接的网络。这些网络储存在列表中,在基于 Windows 的系统上叫做首选网络列表(PNL)。同时,除了这个列表之外,无线客户端会展示任何范围内的可用网络。
黑客可以执行一个或多个下列事情:
这些攻击都叫做蜜罐攻击,因为黑客的接入点和正常的接入点错误连接。
下个练习中,我们会执行这两种攻击。
遵循这些指南来开始:
我们刚刚使用来自客户端的探针列表来创建蜜罐,并使用和邻近接入点相同的 ESSID。在第一个例子中,客户端在搜索网络的时候,自动连接到了我们。第二个例子中,因为我们离客户端比真正的接入点更近,我们的信号强度就更高,所以客户端连接到了我们。
在上一个练习中,如果客户端不自动连接到我们,我们能做什么呢?我们需要发送解除验证封包来打破正常的客户端到接入点的链接,之后如果我们的信号强度更高,客户端会连接到我们的伪造接入点上。通过将客户端连接到正常接入点,之后强迫它连接蜜罐来尝试它。
在蜜罐攻击中,我们注意到客户端会持续探测它们之前连接到的 SSID。如果客户端已经使用 WEP 连接到接入点,例如 Windows 的 *** 作系统会缓存和储存 WEP 密钥。下一个客户端连接到相同接入点时,Windows 无线配置管理器就会自动使用储存的密钥。
Caffe Latte 攻击由 Vivek 发明,它是这本书的作者之一,并且在 Toorcon 9, San Diego, USA 上演示。Caffe Latte 攻击是一种 WEP 攻击,允许黑客仅仅使用客户端,获取授权网络的 WEP 密钥。这个攻击并不需要客户端距离授权 WEP 非常近。它可以从单独的客户端上破解 WEP 密钥。
在下一个练习中,我们将使用 Caffe Latte 攻击从客户端获取网络的 WEP 密钥。
遵循这些指南来开始:
我们成功从无线客户端获得了 WEP 密钥,不需要任何真实的接入点,或者在附近存在。这就是 Caffe Latte 攻击的力量。
基本上,WEP 接入点不需要验证客户端是否知道 WEP 密钥来获得加密后的流量。在连接在新的网络时,流量的第一部分总是会发送给路由器,它是 ARP 请求来询问 IP。
这个攻击的原理是,使用我们创建的伪造接入点反转和重放由无线客户端发送的 ARP 包。这些位反转的 ARP 请求封包导致了无线客户端发送更多 ARP 响应封包。
位反转接收加密值,并将其自改来创建不同的加密值。这里,我们可以接收加密 ARP 请求并创建高精确度的 ARP 响应。一旦我们发回了有效的 ARP 响应,我们可以一次又一次地重放这个值,来生成我们解密 WEP 密钥所需的流量。
要注意,所有这些封包都是用储存在客户端的 WEP 密钥加密。一旦我们得到了大量的这类封包, aircrack-NG 就能够轻易恢复出 WEP 密钥。
尝试修改 WEP 密钥并且重放攻击。这是个有难度的攻击,并且需要一些练习来成功实施。使用 Wireshark 检验无线网络上的流量是个好主意。
我们已经在之前的章节中看到了接入点上下文中的解除验证攻击,这一章中,我们会在客户端上下文中探索这种攻击。
下一个实验中,我们会发送解除验证封包给客户端并且破坏已经建立的接入点和客户端之间的连接。
遵循这些指南来开始:
我们刚刚看到了如何使用解除验证帧,选项性断开无线客户端到接入点的连接,即使使用了 WEP/WPA/WPA2 加密方式。这仅仅通过发送解除验证封包给接入点来完成 -- 客户端偶对,而不是发送广播解除验证封包给整个网络。
在上一个练习中,我们使用了解除验证攻击来破解连接。尝试使用解除关联访问来破坏客户端和接入点之间的连接。
我们已经看到了如何实施 Caffe Latte 攻击。Hirte 攻击扩展自 Caffe Latte 攻击,使用脆片机制并允许几乎任何封包的使用。
Hirte 攻击的更多信息请见 Aircrack-ng 的官网: >
即使做了最充分的预测,未来始终是不可预测的。WLAN 委员会设计了了 WEP 和 WPA 作为最简单的加密机制,但是,久而久之,这些机制拥有在现实世界中广泛公布和利用的缺陷。
WLAN 加密机制易受密码学攻击,这有相当长的历史了。这从 2000 年的 WEP 开始,它最后被完全破解。最近,攻击慢慢转向了 WPA。即使当前没有公开攻击方式用于在所有情况下破解 WPA,特殊情况下的攻击还是可行的。
WLAN 在空气中传输数据,所以保护数据的机密性是一种内在需求。使用加密是最佳方案。WLAN 委员会(IEEE 80211)为数据加密指定了以下协议:
这一章中,我们会看一看每个加密协议,并演示针对它们的多种攻击。
WEP 协议在 2000 年发现漏洞,但是,诧异的是,它仍然被使用,并且接入点仍然自带 WEP 功能。
WEP 中有许多密码学缺陷,它们被 Walker,Arbaugh,Fluhrer,Martin,Shamir,KoreK,以及其它人发现。密码学立场上的评估超出了这本书的范围,并且涉及到复杂的数学。这一节中,我们会看一看如何使用 Kali 中便捷可用的工具来破解 WEP 加密。这包含整个 aircrack-ng 工具套件 -- airmon-ng , aireplay-ng , airodump-ng , aircrack-ng ,以及其它。
WEP 的基础缺陷是使用 RC4 和短的 IV 值,每 224 帧复用。虽然这本身是个大数,但是每 5000 个封包中还是有 50% 的几率重用四次。为了利用这个,我们尝试大量流量,是我们增加重用 IV 的可能性,从而比较两个使用相同密钥和 IV 加密的密文。
让我们首先在测试环境中建立 WEP,并且看看如何破解。
遵循以下指南来开始:
我们在环境中建立 WEP,并成功破解了 WEP 密钥。为了完成它,我们首先等待正常客户端连接到接入点。之后,我们使用 aireplay-ng 工具在网络上重放 ARP 封包。这会导致网络发送 ARP 重放封包,从而增加空中发送的数据封包数量。之后我们使用 aircrack-ng 工具,通过分析数据风暴的密码学缺陷来破解 WEP 密钥。
要注意我们也能够使用共享密钥验证绕过机制,来伪造接入点的验证,这会在后面的章节中学到。如果正常客户端离开了网络,这可以更方便一些。这会确保我们可以伪造验证和关联,并且继续将重放封包发送到网络。
在之前的练习中,如果正常客户端突然断开了网络,我们就不能重放封包,因为接入点会拒绝接受来自未关联客户端的封包。
你的挑战就是,使用即将在后面学到的共享密钥绕过伪造验证和授权,使你仍然能够将封包注入到网络中,并验证接入点是否接受和响应它们。
WPA 或者 WPA v1 主要使用 TKIP 加密算法。TKIP 用于改进 WEP,不需要完全新的硬件来运行。反之,WPA2 必须使用 AES-CCMP 算法来加密,这比 TKIP 更加强大和健壮。
WPA 和 WPA2 允许 基于 WAP 的验证,使用基于 RADIUS 服务器(企业)和预共享密钥(PSK)(个人)的验证模式。
WPA/WPA2 PSK 易受字典攻击。攻击所需的输入是客户端和接入点之间的四次 WPA 握手,以及包含常用口令的单词列表。之后,使用例如 Aircrack-ng 的工具,我们可以尝试破解 WPA/WPA2 PSK 口令。
四次握手的演示见下面:
WPA/WPA2 PSK 的原理是它导出了会话层面的密钥,叫做成对临时密钥(PTK),使用预共享密钥和五个其它参数 -- 网络 SSID、验证者 Nounce (ANounce)、申请者 Nounce (SNounce)、验证着 MAC 地址(接入点 MAC)、申请者 MAC 地址(WIFI 客户端 MAC)。密钥之后用于加密接入点和客户端之间的所有数据。
通过嗅探空气来窃取整个对话的攻击者,可以获得前面提到的全部五个参数。它唯一不能得到的东西就是预共享密钥。所以,预共享密钥如何创建?它由用户提供的 WPA-PSK 口令以及 SSID 导出。这些东西的组合通过基于密码的密钥推导函数(PBKDF2)来发送,它的输出是 256 位的共享密钥。
在典型的 WPA/WPA2 PSK 字典攻击中,攻击者会使用可能口令的大量字典以及攻击工具。工具会从每个口令中导出 256 位的预共享密钥,并和其它参数(之前提到过)一起使用来创建 PTK。PTK 用于在握手包之一中验证信息完整性检查(MIC)。如果匹配,从字典中猜测的口令就正确,反之就不正确。
最后,如果授权网络的口令存在于字典中,它会被识别。这就是 WPA/WPA2 PSK 破解的工作原理。下面的图展示涉及到的步骤:
下个练习中,我们会看一看如何破解 WPA PSK 无线网络。使用 CCMP(AES)的WPA2-PSK 网络的破解步骤与之相同。
遵循以下指南来开始:
我们在接入点上设置了 WPA-PSK,使用常见口令: abcdefgh 。之后我们使用解除验证攻击,让正常客户端重新连接到接入点。当我们重新连接时,我们捕获了客户端和接入点之间的 WPA 四次握手。
因为 WPA-PSK 易受字典攻击,我们向 Aircrack-ng 输入了包含 WPA 四次握手的捕获文件,以及常见口令的列表(以单词列表形式)。因为口令 abcdefgh 出现在单词列表中, Aircrack-ng 就能够破解 WPS-PSK 共享口令。要再次注意,在基于字典的 WPA 破解中,你的水平就等于你的字典。所以在你开始之前,编译一个大型并且详细的字典非常重要。通过 Kali 自带的字典,有时候可能不够,可能需要更多单词,尤其是考虑位置因素。
Cowpatty 是个同样使用字典攻击来破解 WPA-PSK 口令的工具。这个工具在 Kali 中自带。我将其留做练习,来让你使用 Cowpatty 破解 WPA-PSK 口令。
同样,设置不常见的口令,它不出现在你的字典中,并再次尝试。你现在再破解口令就不会成功了,无论使用 Aircrack-ng 还是 Cowpatty。
要注意,可以对 WPA2-PSK 网络执行相同攻击。我推荐你自己验证一下。
我们在上一节中看到,如果我们在字典中拥有正确的口令,破解个人 WPA 每次都会像魔法一样。所以,为什么我们不创建一个大型的详细字典,包含百万个常见密码和词组呢?这会帮助我们很多,并且多数情况都会最终破解出口令。这听起来不错,但是我们错过了一个核心组件 -- 所花费的时间。更多需要 CPU 和时间的计算之一就是使用 PSK 口令和 SSID 通过 PSKDF2 的预共享密钥。这个函数在输出 256 位的与共享密钥之前,计算超过 4096 次二者组合的哈希。破解的下一步就是使用这个密钥以及四次握手中的参数来验证握手中的 MIC。这一步计算了非常大。同样,握手中的参数每次都会变化,于是这一步不能预先计算。所以,为了加速破解进程,我们需要使来自口令的与共享密钥的计算尽可能快。
我们可以通过预先计算与共享密钥,在 80211 标准术语中也叫作成对主密钥(PMK)来加速。要注意,因为 SSID 也用于计算 PMK,使用相同口令和不同 SSID,我们会得到不同的 PMK。所以,PMK 取决于口令和 SSID。
下个练习中,我们会看看如何预先计算 PMK,并将其用于 WPA/WPA2 的破解。
我们可以遵循以下步骤来开始:
我们查看了多种不同工具和技巧来加速 WPA/WPA2-PSK 破解。主要原理就是对给定的 SSID 和字典中的口令列表预计算 PMK。
在所有我们做过的联系中,我们使用多种技巧破解了 WEP 和 WPA 密钥。我们能拿这些信息做什么呢?第一步就是使用密钥解密我们捕获的数据封包。
下一个练习中,我们会在相同的我们所捕获的记录文件中解密 WEP 和 WPA 封包,使用我们破解得到的密钥。
遵循以下步骤来开始:
我们刚刚看到了如何使用 Airdecap-ng 解密 WEP 和 WPA/WPA2-PSK 加密封包。要注意,我们可以使用 Wireshark 做相同的事情。我们推荐你查阅 Wireshark 的文档来探索如何用它来完成。
我们也可以在破解网络密钥之后连接到授权网络。这在渗透测试过程中非常方便。使用破解的密钥登录授权网络,是你可以提供给客户的证明网络不安全的证据。
遵循以下步骤来开始:
我们连接到了 WEP 网络。
遵循以下步骤来开始:
默认的 WIFI 工具 iwconfig 不能用于连接 WPA/WPA2 网络。实际上的工具是 WPA_Supplicant 。这个实验中,我们看到如何使用它来连接 WPA 网络。
Q1 哪种封包用于封包重放?
Q2 WEP 什么时候能被破解?
Q3 WPA 什么时候能被破解?
这一章中,我们了解了 WLAN 加密。WEP 含有缺陷,无论 WEP 密钥是什么,使用足够的数据封包就能破解 WEP。WPA/WPA2 在密码学上不可破解;但是,在特殊的场景下,例如 WPA/WP2-PSK 中使用了弱口令,它就能够通过字典攻击来获得口令。
下一章中我们会看一看 WLAN 设施上的不同工具,例如伪造接入点,邪恶双生子,位反转攻击,以及其它。
以上就是关于Kali从入门到银手镯(二):开启WPS的无线网络渗透测试全部的内容,包括:Kali从入门到银手镯(二):开启WPS的无线网络渗透测试、kali用户名密码正确无法登录、Kali Linux 无线渗透测试入门指南 第二章 WLAN 和固有的不安全性等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)