Ⅰ Kali从入门到银手镯(二):开启WPS的无线网络渗透测试
很多无线路由器都支持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功能,它是很多漏洞的根源。
Ⅱ 《KaliLinux高级渗透测试》epub下载在线阅读全文,求百度网盘云资源
《Kali Linux高级渗透测试》((加)罗伯特W. 贝格斯(Robert W. Beggs))电子书网盘下载免费在线阅读
链接: https://pan..com/s/1YRyNH1xCb6PsudT3x5NM-w
书名:Kali Linux高级渗透测试
作者:(加)罗伯特W. 贝格斯(Robert W. Beggs)
译者:蒋溢
豆瓣评分:7.4
出版社:机械工业出版社
出版年份:2016-5
页数:223
内容简介:饥闹
Kali Linux向专业的渗透测试和安全审计,集成了大量精心挑选的安全检测工具。
本书在Kali Linux平台上从攻击者的角度来审视网络框架,详细介绍攻击者”杀链”采取的具体步骤。
本书旨在帮助你开发自己的方法和方式来进行有效渗透测试,深入理解黑客怎样攻击数据系统,进而了解怎样在漏洞被利用之前弥补漏洞。如果你是—名专业的安全工程师、渗透测试员,或者是对复杂的数据环境的安全感兴趣的人,那么这本书是为你准备的宴羡。
作者简介:
罗伯特W.贝格斯(Robert W. Beggs)是Digitial Defence公司的创始人和首席执行官,该公司专门从事信息安全事件的预防和处理。他拥有超过15年的安全业务技术管理经验,涉及有线和无线网络的渗透测试、事件响烂祥罩应、数据取证等内容。
Ⅲ 如何使用Kali Linux破解WPA或WPA2无线局域网
目录部分1:准备工作1、了解在什么情况下可以合法破解无线局域网。2、下载Kali Linux磁盘镜像。3、将U盘插入电脑。4、制作可启动U盘5、将Kali Linux ISO文件复制到U盘上。6、安装Kali Linux。7、购买支持监听模式的无线网卡。8、以root用户身份登录Kali Linux电脑。9、将无线网卡插入Kali Linux电脑。部分2:破解无线局域网1、打开Kali Linux电脑上的"终端"应用程序。2、输入Aircrack-ng安装命令。3、出现提示时输入密码。4、安装Aircrack-ng。5、开启airmon-ng。6、找到监听接口名称。7、开始监听网络。8、启用监听模式接口。9、终止返回错误的进程。10、复查监听接口的名称。11、让电脑监听附近的路由器。12、找到要破解的路由器。13、确保路由器使用的是WPA或WPA2加密方式。14、记住路由器的MAC地址和信道号。15、监听所选网络以抓取握手包。16、等待握手。17、退出airomp-ng,然后打开桌面。18、重命名".cap"文件。19、将".cap"文件转换为"hccapx"格式。20、安装naive-hashcat。21、运行naive-hashcat。22、等到网络密码破解完成。部分3:在没有独显的电脑上使用Aircrack-Ng1、下载字典文件。2、通过aircrack-ng破解密码。3、等待"终端"显示结果。部分4:使用Deauth攻击强制握手1、了解Deauth攻击的机制。2、监听网络。3、等待设备连接网络。4、打开新的"终端"窗口。5、发送Deauth包。6、重新打开原"终端"窗口。7、搜索握手包。本指南介绍如何通过Kali Linux破解WPA或WPA2网络的密码。
部分1:准备工作
1、了解在什么情况下可以合法破解无线局域网。在大部分地区,你只能破解自己的WPA或WPA2网络,或在明确获得同意的情况下破解别人的网络。如果不符合上述条件,破解将被视为非法,甚至可能构成犯罪。
2、下载Kali Linux磁盘镜像。要破解WPA或WPA2网络,首推使用Kali Linux。你可以通过以下方式下载Kali Linux安装镜像(ISO):在电脑浏览器中前往https://www.kali.org/downloads/。
找到要使用的Kali版本,然后单击旁边的HTTP。
等待文件下载完成。
3、将U盘插入电脑。U盘至少要有4GB的存储空间。
4、制作可启动U盘。只有这样才能选择U盘作为安装位置。还可以使用Mac来制作启动盘。
5、将Kali Linux ISO文件复制到U盘上。打开U盘,然后将下载的Kali Linux ISO文件拖曳到U盘窗口中。完成后不要拔出U盘。
6、安装Kali Linux。要在电脑上安装Kali Linux,按以下步骤操作:重启Windows。
进入BIOS菜单。
找到"启动选项"或类似的选项,选项U盘名称,然后移到列表的顶部,这样就可以从U盘启动电脑了。
保存并退出,然后等待Kali Linux安装窗口出现。之后可能还需要再重启一次电脑。
按照Kali Linux安装窗口中的提示操作。
7、购买支持监听模式的无线网卡。可以在网上买或去电子商店买。一定要买支持监听(RFMON)的无线网卡,否则无法破解网络。很多电脑内置RFMON无线网卡,在购买前可以先试试下一节中的前四个步骤。
如果是在虚拟机上使用Kali Linux,无论电脑本身是否内置了无线网卡,都需要购买RFMON无线网卡。
8、以root用户身份登录Kali Linux电脑。输入root用户名和密码进行登录。整个破解过程都需要root帐户。
9、将无线网卡插入Kali Linux电脑。随后会立即开始安装网卡并下载驱动。如果看到提示,按屏幕上的说明完成安装。完成后,就可以开始进行网络破解了。即使之前曾在电脑上安装过该网卡,插入后仍需要在Kali Linux上重新安装。
大部分情况下,只需要将网卡插入电脑就能完成安装。
部分2:破解无线局域网
1、打开Kali Linux电脑上的"终端"应用程序。找到并单击"终端"应用程序,图标是一个中间带有白色"$_"图案的黑色方块。也可以按Alt+Ctrl+T来打开"终端"。
2、输入Aircrack-ng安装命令。输入以下命令,然后按? Enter:
sudo apt-get install aircrack-ng
3、出现提示时输入密码。输入电脑的登录密码,然后按? Enter。这样就可以使用root权限在"终端"中执行命令。如果稍后根据本文中的说明打开了另一个"终端"窗口,可能还需要运行sudo命令和/或再次输入密码。
4、安装Aircrack-ng。出现提示时输入Y,然后等待程序完成安装。
5、开启airmon-ng。输入以下命令,然后按? Enter。
airmon-ng
6、找到监听接口名称。它位于"Interface"列中。如果破解的是自己的网络,名称通常是"wlan0"。
如果没有看到监听接口,无线网卡可能不支持监听。
7、开始监听网络。输入以下命令,然后按? Enter开始监听:
airmon-ng start wlan0将"wlan0"替换为目标网络的名称。
8、启用监听模式接口。输入以下命令:
iwconfig
9、终止返回错误的进程。某些情况下,无线网卡会和电脑上运行的服务冲突。输入以下命令终止这些进程:
airmon-ng check kill
10、复查监听接口的名称。大部分情况下,名称类似"mon0"或"wlan0mon"。
11、让电脑监听附近的路由器。要获取附近的路由器列表,输入以下命令:
airomp-ng mon0将"mon0"替换为上一步中的监听接口名称。
12、找到要破解的路由器。在每一行字符串的末尾都有一个名称,找到要破解的网络名称。
13、确保路由器使用的是WPA或WPA2加密方式。如果在网络名称旁看到"WPA"或"WPA2",可以继续下一步骤,否则就无法破解网络。
14、记住路由器的MAC地址和信道号。这些信息在网络名称的左侧:MAC地址——它是路由器所在行最左侧的一串数字。
信道——它是WPA或WPA2标记左侧的数字,比如0、1、2等。
15、监听所选网络以抓取握手包。有设备连接网络时就会发生"握手",比如电脑连接路由器时。输入以下代码,注意将命令中的以下部分替换为网络的实际信息:
airomp-ng -c channel --bssid MAC -w /root/Desktop/ mon0将"channel"替换为上一步中找到的信道号。
将"MAC"替换为上一步中找到的MAC地址。
将"mon0"替换为实际的接口名称。
以下为地址示例:
airomp-ng -c 3 --bssid 1C:1C:1E:C1:AB:C1 -w /root/Desktop/ wlan0mon
16、等待握手。看到屏幕右上角出现"WPA handshake: <Mac地址>"的提示后,继续下一步。如果不想等待,可以使用Deauth攻击强行握手,然后再继续下一步。
17、退出airomp-ng,然后打开桌面。按Ctrl+C退出,检查电脑桌面上是否有".cap"文件。
18、重命名".cap"文件。改名的目的是方便你稍后找到它,但也可以不改。输入以下命令更改名称,注意将"name"替换为期望的名称:
mv ./-01.cap name.cap如果".cap"文件的当前名称不是"-01.cap",将它替换为实际的名称。
19、将".cap"文件转换为"hccapx"格式。可以使用Kali Linux的转换工具来转换。输入以下命令,注意将"name"替换为文件名称:
cap2hccapx.bin name.cap name.hccapx还可以前往https://hashcat.net/cap2hccapx/,然后单击 Choose File(选择文件)将".cap"文件上传到转换工具。完成后,单击Convert(转换)进行转换,将转换的文件下载到桌面,然后继续下一步。
20、安装naive-hashcat。你将它用来破解密码。按顺序输入以下命令:
sudo git clone https://github.com/brannondorsey/naive-hashcatcd naive-hashcatcurl -L -o dicts/rockyou.txt https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt如果电脑上没有独显,需要改用aircrack-ng。
21、运行naive-hashcat。安装完成后,输入以下命令,注意将所有"name"替换为".cap"文件的名称:
HASH_FILE=name.hccapx POT_FILE=name.pot HASH_TYPE=2500 ./naive-hashcat.sh
22、等到网络密码破解完成。密码被破解后,"naive-hashcat"目录下的"name.pot"文件中会多出一个字符串,字符串中的最后一个分号后的文字或短语就是密码。破解密码所需的时间从几小时到几个月不等。
部分3:在没有独显的电脑上使用Aircrack-Ng
1、下载字典文件。最常用的是"Rock You"。可以输入以下命令下载它:
curl -L -o rockyou.txt https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt注意,如果WPA或WPA2密码不在字典里,aircrack-ng就无法破解。
2、通过aircrack-ng破解密码。输入以下命令,根据需要替换以下网络信息:
aircrack-ng -a2 -b MAC -w rockyou.txt name.cap如果破解的不是WPA2网络,而是WPA网络,将"-a2"替换为-a。
将"MAC"替换为上一节中找到的MAC地址。
将"name替换为".cap"文件的名称。
3、等待"终端"显示结果。如果看见"KEY FOUND!"标题,就代表aircrack-ng找到了密码。密码显示在此标题右侧的括号中。
部分4:使用Deauth攻击强制握手
1、了解Deauth攻击的机制。Deauth攻击会向你尝试破解的路由器发送恶意的取消身份验证包,从而造成网络断线并要求用户重新登录。一旦用户登录,你就能获得握手包。
2、监听网络。输入以下命令,根据需要输入网络信息:
airomp-ng -c channel --bssid MAC比如:
airomp-ng -c 1 --bssid 9C:5C:8E:C9:AB:C0
3、等待设备连接网络。看到两个连续的MAC地址以及包含生产商名称的字符串后,继续下一步。这表示已有客户端连接网络,比如电脑。
4、打开新的"终端"窗口。按Alt+Ctrl+T就可以打开。在原本的"终端"窗口中继续运行airomp-ng。
5、发送Deauth包。输入以下命令,注意将以下部分替换为实际的网络信息:
aireplay-ng -0 2 -a MAC1 -c MAC2 mon0"2"是指发送的数据包数量。可以增加或减少,但要注意,超过2个包可能会让对方察觉到有人在入侵。
将"MAC1"替换为原"终端"窗口底部最左侧的MAC地址。
将"MAC2"替换为原"终端"窗口底部最右侧的MAC地址。
将"mon0"替换为电脑最初搜索路由器时找到的接口名称。
以下是命令示例:
aireplay-ng -0 3 -a 9C:5C:8E:C9:AB:C0 -c 64:BC:0C:48:97:F7 mon0
6、重新打开原"终端"窗口。在发送deauth包后,返回原"终端"窗口。
7、搜索握手包。在找到"WPA handshake: <地址>"后,继续破解网络。
小提示在启动服务器前,用此方法测试无线局域网中的漏洞,这样可以预防类似攻击。
警告擅自破解其他人的无线局域网在大部分国家都是违法行为。只能对自己的网络,或明确同意你测试的网络执行上述步骤。
发送两个以上的Deauth包可能会造成目标电脑崩溃,这样会让对方起疑。
Ⅳ 《KaliLinux渗透测试的艺术》epub下载在线阅读全文,求百度网盘云资源
《KaliLinux渗透测试的艺术》()电子书网盘下载免费在线阅读
链接:https://pan..com/s/1OpSLvfAGsLVz-jx_cR6-Gg
书名:KaliLinux渗透测试的艺术
豆瓣评分:6.7
作者:Lee Allen/Tedi Heriyanto/Shakeel Ali
出版社:人民邮电出版社
原作名:Kali Linux: Assuring Security by Penetration Testing
出版年:2015-2
页数:378
内容简介
Kali Linux是一个渗透测试兼安全审计平台,集成了多款漏洞检测、目标识别和漏洞利用工具,在信息安全业界有着广泛的用途。
本书从业务角度出发,通过真实攻击案例并辅之以各种实用的黑客工具,探讨了进行渗透测试所需的各种准备工序和操作流程。本书共分为12章,其内容涵盖了Kali Linux的使用、渗透测试方法论、收集评估项目需求的标准流程、信息收集阶段的工作流程、在目标环境中探测终端设备的方法、服务枚举及用途、漏洞映射、社会工程学、漏洞利用、提升权限、操作系统后门和Web后文的相关技术、渗透测试文档报告的撰写等。
本书适合讲解步骤清晰易懂、示例丰富,无论是经验丰富的渗透测试老手,还是刚入门的新手,都会在本书中找到需要的知识。
作者简介
Lee Allen是在顶尖大学里任职的安全架构师。多年以来,他持续关注信息安全行业和安全界内的新近发展。他有15年以上的IT行业经验,并且持有OSWP等多项业内的资格认证。Lee Allen还是Advanced Penetration Testing for Highly-Secured Environments: The Ultimate Security Guide(由Packt Publishing出版,人民邮电出版社出版了其中文版)一书的作者。
Tedi Heriyanto是印尼一家信息安全公司的首席顾问。他一直在与(印尼)国内外的多家知名机构进行信息安全渗透测试方面的合作。他擅长设计安全网络架构、部署与管理企业级的信息安全系统、规范信息安全制度和流程、执行信息安全审计和评估,以及提供信息安全意识培训。在闲暇之余,他在印尼安全界的各种活动中不停地研究和学习。他还通过写作各种安全图书与大家分享界内知识。有兴趣的读者可以访问他的博客http://theriyanto.wordpress.com。
Shakeel Ali在世界500强公司里担任安全和风险管理顾问。在此之前,他是英国Cipher Storm Ltd.的核心创始人。他从事过安全评估、系统审计、合规部门顾问、IT管理和法证调查工作,积累了信息安全领域的各种知识。他还是CSS Providers SAL的首席安全员。他以废寝忘食的工作态度,为全球各类商业公司、教育机构和政府部门提供了不间断的安全支持服务。作为一名活跃的业内独立研究人员,他发表了大量的文章和白皮书。有兴趣的读者可以访问他的个人博客Ethical-Hacker.net。此外,他还长期参与墨西哥举办的BugCon Security Conferences活动,定期报告最前沿的网络安全威胁,并分享相应的应对方案。
Ⅳ 《KaliLinux无线网络渗透测试详解》epub下载在线阅读全文,求百度网盘云资源
《Kali Linux无线网络渗透测试详解》(李亚伟)电子书网盘下载免费在线阅读
链接: https://pan..com/s/1CpZEh8Jr0m2CgA4POvTgJA
书名:Kali Linux无线网络渗透测试详解
作者:李亚伟
出版社:清华大学出版社
出版年份:2016-2-1
页数:236
内容简介:
本书是国内第一本无线网络安全渗透测试图书。本书基于Kali Linux操作系统,由浅入深,全面而系统地介绍了无线网络渗透技术。本书针对不同的加密方式的工作原理及存在的漏洞进行了详细介绍,并根据每种加密方式存在的漏洞介绍了实施渗透测试的方法。另外,本书最后还特意介绍了针对每种加密方法漏洞的应对措施。
本书共10章,分为3篇。第1篇为基础篇,涵盖的主要内容有搭建渗透测试环境和WiFi网络的构成。第2篇为无线数据篇,涵盖的主要内容有监听WiFi网络、捕获数据包、分析数据包和获取信息。第3篇为无线网络加密篇,涵盖的主要内容有WPS加密模式、WEP加密模式、WPA加密模式和WPA+RADIUS加密模式。
本书涉及面广,从基本环境搭建到数据包的捕获,再到数据包的分析及信息获取,最后对WiFi网络中的各种加密模式进行了分析和渗透测试。本书不仅适合想全面学习WiFi网络渗透测试技术的人员阅读,同样适合网络维护人员和各类信息安全从业人员阅读。
作者简介:
李亚伟 就职于大学霸网站,任技术研究员。熟悉Apache、Tomcat、Oracle、MySQL、集群、RAC、SAN和容灾等IT业界中流行的系统集成技术。长期从事Linux和网络安全最新技术的研究,以及Linux服务器维护工作。拥有多年的服务器维护经验。曾经参与编写并出版了《Wireshark数据包分析实战详解》一书。
Ⅵ Kali Linux 无线渗透测试入门指南 第四章 WLAN 加密缺陷
即使做了最充分的预测,未来始终是不可预测的。WLAN 委员会设计了了 WEP 和 WPA 作为最简单的加密机制,但是,久而久之,这些机制拥有在现实世界中广泛公布和利用的缺陷。
WLAN 加密机制易受密码学攻击,这有相当长的历史了。这从 2000 年的 WEP 开始,它最后被完全破解。最近,攻击慢慢转向了 WPA。即使当前没有公开攻击方式用于在所有情况下破解 WPA,特殊情况下的攻击还是可行的。
WLAN 在空气中传输数据,所以保护数据的机密性是一种内在需求。使用加密是最佳方案。WLAN 委员会(IEEE 802.11)为数据加密指定了以下协议:
这一章中,我们会看一看每个加密协议,并演示针对它们的多种攻击。
WEP 协议在 2000 年发现漏洞,但是,诧异的是,它仍然被使用,并且接入点仍然自带 WEP 功能。
WEP 中有许多密码学缺陷,它们被 Walker,Arbaugh,Fluhrer,Martin,Shamir,KoreK,以及其它人发现。密码学立场上的评估超出了这本书的范围,并且涉及到复杂的数学。这一节中,我们会看一看如何使用 Kali 中便捷可用的工具来破解 WEP 加密。这包含整个 aircrack-ng 工具套件 -- airmon-ng , aireplay-ng , airomp-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。这一步计算了非常大。同样,握手中的参数每次都会变化,于是这一步不能预先计算。所以,为了加速破解进程,我们需要使来自口令的与共享密钥的计算尽可能快。
我们可以通过预先计算与共享密钥,在 802.11 标准术语中也叫作成对主密钥(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 设施上的不同工具,例如伪造接入点,邪恶双生子,位反转攻击,以及其它。