【2】Kali破解家用WI-FI密码 - WPA/WPA2加密

【学习记录】

本人小白一枚,文章用来记录自己目前的学习进度,希望能够用最通俗易懂的语言和命令来为大家讲清楚我的实验过程和经验,同时期待我的学习经验也可以帮助到大家。还望各位大佬能不吝朱玉,指出我的错误和不足,谢谢。
同时声明以下内容均为本人亲手试验结果与原创文字,转载请注明出处。

【实验目的 】

使用Kali系统中已有的Aircrack-ng套件,破解附近使用WPA/WPA2加密的家用WI-FI密码。这里想说的是其实没有WPA/WPA2破解没有什么好办法,这里介绍的方法无非还是攻击连接到目标AP的客户端,让其重新连接目标AP,然后抓到握手包后跑字典,暴力破解,因此需要密码字典(通常只有弱口令才能搞出来)。

如果你没有密码字典,可以直接在kali上输入命令:
git clone https://github.com/conwnet/wpa-dictionary.git
下载完成后打开下载出来的wpa-dictionary文件夹,里面就有一些密码字典可以用来实验

【实验环境】

  • Kali Linux
    需要注意的是,我使用的Kali系统是烧录进移动硬盘,通过笔记本电脑bios设置为U盘优先启动,其实相当于直接在笔记本电脑中安装了Kali系统,所以并不是使用虚拟机进行的试验。

    这里说一下我所理解的虚拟机和硬盘启动中,Kali系统对本实验所带来的一些方便与不便。

    因为自身笔记本电脑中会内置无线网卡,在以前我将Kali安装到Vmware,当初除了笔记本内置网卡并没有多余的外接网卡,而且需要将网卡驱动加载至Vmware中,但是无论开启服务还是其他方法,Vmware都显示我的网卡加载失败了,最后查阅资料发现问题可能是笔记本电脑中的内置无线网卡无法加载到VMware中,而身边有一块移动硬盘,所以根据网上的教程,将Kali烧录进移动硬盘中进行使用。

    虚拟机中方便之处在于可以在同一个局域网内开多个实验机器进行试验,在安装好Kali并进行快照之后可以随时恢复,不怕玩坏;缺点是虚拟机终究是太卡了,而且还存在我上面所说的无法加载笔记本电脑内置无线网卡的问题,当然其他无线网卡后来我没在VMware中做实验,不过应该可以加载进去。

    烧录移动硬盘的方便之处是在使用USB 3.0进行外接时候,Kali系统运行十分流畅,并且携带方便,而且开机之后免去了很多虚拟机配置之类的问题,开机即用;缺点是在进行其他无线局域网试验的时候,你得使用更多的设备(手机、平板、电脑)之类的进行测试,除非有钱 ,可能无法达到虚拟机的灵活。

  • 路由器型号 TP-Link WR740N
    网络名称:luoluo
    认证类型:WPA2-PSK
    加密算法:AES
    WEP密钥:11111111

  • 连接到WIFI的客户端
    iphone7

【试验步骤】

  1. 输入 ifconfig 命令查看自己的无线网卡名称
    【2】Kali破解家用WI-FI密码 - WPA/WPA2加密_第1张图片
    我们可以看到有三条信息,eth0对应物理网卡,lo对应localhost本地回环,而wlan0就是我们所要用到的无线网卡。

  2. 输入 airmon-ng start wlan0 使无线网卡开启监听模式
    【2】Kali破解家用WI-FI密码 - WPA/WPA2加密_第2张图片
    开启监听模式后的无线网卡可以接收所有经过它的数据流,它和混杂模式类似。监听模式的不需要和AP建立连接,监听模式是无线网卡特有的特殊模式,而混杂模式应用于有线网卡和无线网卡,切记不要搞混。

    之后我们可以再次输入 ifconfig 查看确认一下我们的无线网卡是否已经开启了监听模式,如果看到出现了 mon 的字样(不同的网卡,主机可能显示的开启监听后的网卡名称不一样,但总归是应该带有mon字样),我这里开启监听后网卡的工作名称变成了 wlan0mon

  3. 输入命令 airodump-ng wlan0mon 回车
    【2】Kali破解家用WI-FI密码 - WPA/WPA2加密_第3张图片
    【2】Kali破解家用WI-FI密码 - WPA/WPA2加密_第4张图片
    使用airodump-ng命令来扫描附近的无线路由器和与之连接的客户端信息,这里我们需要特别注意的是接下来要用到的无线路由的BSSID ,ESSID与CH,也就是我图中绿色标注的地方,BSSID表示该AP的MAC地址;CH表示该AP目前的工作信道;ESSID表示该无线局域网的名称,也就是我们连接WIFI时候显示的WIFI名称。

    这里我已经扫描到了我需要的信息,获得了BSSID、ESSID与CH,就可以Ctrl+C停止了。这里我们要记录一下我们获取到的BSSID与CH,目标AP目前工作在6号信号上。

  4. 输入命令 airodump-ng -c 6 -w luoluo wlan0mon 回车
    这里的命令表示让无线网卡在6号信道进行工作,并且将抓取到的包保存到名为luoluo的cap文件中,因为上一步扫描中只是为了寻找我们的目标AP,所以没有设置对应信道。我所理解的是如果不设置工作信道,它会不停更换自己的工作信道来尽力扫描附近所有信道上工作的AP,我们也可以在上一步的扫描中看出来,左上角的CH一直在不停的更换数字,并且AP列表是逐个部分逐个部分的显示出来的。【2】Kali破解家用WI-FI密码 - WPA/WPA2加密_第5张图片
    与上面不同的是后面的参数与扫描方式:
    【-c】表示让我们的无线网卡在相应的信道进行工作,因为上面我们搜索到目标AP是在6号信道工作的,所以设置为-c 6;
    【-w】表示将提取到的握手包保存至文件中,后面的参数luoluo可以修改为你所需的文件名;

    因为已经设置了我们无线网卡的工作信道为6,所以不在6号信道工作的AP都不会再被扫描,所以相比上一步的扫描,。

    上方红绿色标记的仍然是我们上一步扫描到的AP信息,而下面红绿色标记的则是连接到目标AP的客户端的一些信息。这里我们可以看到,BSSID列仍然表示对应AP的MAC地址,STATION列表示连接到对应客户端的MAC地址,在这次实验中一个MAC地址为A0:3B:E3:B4:15:3F的客户端连接到了我们的目标AP上。

    当然了,我们这次的实验原理是通过攻击连接到目标AP的客户端,使其掉线并且重连,在重连的过程中来抓取其中的握手包。握手包中保存了经过计算后的一些值,通过一系列复杂的计算,然后密码字典中密码的值也进行计算,最后进行比对来得出正确密码。如果目标AP中没有任何与之连接的客户端,就无法或许握手包,也就没有办法。当然唯一的办法就是等待对方来连接他的AP,自然而然我们不需要攻击就能直接得到连接时的握手包。

    因为是在实验中,只是为了说清楚这种破解方式的原理与方法,所以都是在理想条件下,这里我们需要记下上面的BSSID与STATION,为我们下一步的攻击做准备。

    这个窗口暂时不要再关闭或者停止,因为我们需要它一直去抓取握手包。

  5. 新开一个黑窗,输入命令 aireplay-ng -0 5 -a 38:83:45:95:70:A4 -c A0:3B:E3:B4:15:3F wlan0mon
    【2】Kali破解家用WI-FI密码 - WPA/WPA2加密_第6张图片
    这里还是有必要说明一下,因为我们一直在用同一块无线网卡去抓包的同时进行攻击,因为在抓包时我们已经把网卡的工作信道设置为6了,与我们的目标AP工作信道6相同,因此这里进行攻击没什么问题。

    但是如果你在上一步没有设置网卡的工作信道,并且一直使用同一块网卡,没设置工作信道会使网卡的工作信道一直在变动,并且可能会由此因为不在目标AP工作的信道上进行监听而错过握手包,还存在一个问题是,例如你在这一步攻击的时候,你的网卡正工作在11号信道,而你的目标AP工作在6号信道,此时你输入完这一步的命令回车,就会出现一些错误提示(我记得是带有channel字样的提示,大意是提示你AP的工作信道与你目前所在的信道不同,没法攻击)。

    参数:
    【-0】 Deautenticate 冲突模式,伪造一个disassocate包,让客户端与AP失去连接,之后客户端会重新连接AP(说直白点就是把你连接到wifi的手机、电脑之类的打掉线,然后这些设备会自动去重新连接WIFI),通过重新连接过程我们可以获取到握手包;
    【5】 表示攻击次数,这里填多少都可以,我这里5次足矣把客户端打掉重连;
    【-a】表示需要攻击AP的BSSID,也就是我们一直来攻击的目标AP;
    【-c】表示连接到目标AP的客户端的MAC地址,也就是我们上面进行ARP攻击的客户端的MAC地址;
    这种攻击模式的前提也是在目标AP中有合法的客户端相连。

    这里的合法客户端就是我的手机,我们可以来看一下目前我各个设备的反应,当我输入了上面的命令并且回车后,我的无线网卡会伪装成我的手机来给目标AP发送disassocate包,让AP误以为我的手机要断开WIFI连接,而我的手机则已经从WIFI中掉线,变回了4G模式。

    当攻击结束之后,也就是上面的命令跑完了,我的手机已经是4G模式,会再去搜索附近连接过的WIFI,当然了因为是在家中,我的手机又搜索到了之前连接的 WIFI:luoluo,然后就通过已经保存和配置下来的设置去自动加入这个网络,这个一般的手机电脑都会去自动加入。在我的手机连接网络的过程中,会用正确的密码与AP进行四次握手并成功连接,而我们所开的第一个窗口正是在抓取握手包,因此我们会得到所需的握手包。

    这里我攻击了两次,只是为了保证手机确实掉线了。然后我们先别着急关掉这两个窗口,我们新建一个窗口,来看看握手包是否确实已经抓到

    如果你没有密码字典,可以直接在kali上输入命令:
    git clone https://github.com/conwnet/wpa-dictionary.git
    下载完成后打开下载出来的wpa-dictionary文件夹,里面就有一些密码字典可以用来实验

  6. 新开一个黑窗,输入命令 ls 确定一下我们保存的cap的文件名,之后输入aircrack-ng -w /root/wpa-dictionary/pass luoluo-01.cap 回车
    【2】Kali破解家用WI-FI密码 - WPA/WPA2加密_第7张图片
    这里我们通过第一个窗口保存下来并且需要用到的是cap文件,我在之前保存的文件名是luoluo,因此会生成一个luoluo-01.cap的文件。

    参数:
    【-w】后面写的是你密码字典的路径,我的密码字典的路径是/root/wpa-dictionary/pass;
    最后跟上之前抓包所用的cap文件路径;

    回车后:
    【2】Kali破解家用WI-FI密码 - WPA/WPA2加密_第8张图片
    通过刚才的攻击我们可以看到,目标AP后面显示 WPA(1 handshake) ,表示已经抓取到了一个握手包,如果我们看到了上面的字样,就表示握手包抓取成功了,成功之后我们就可以停掉之前的两个窗口了,因为我们需要的就是这个抓到目标AP握手包的cap文件。

    但如果我们按照上一步骤攻击完后,这里仍然显示 WPA(0 hand shake),我们Ctrl+Z停止现在的工作,然后重复第5、 6步骤,看看是否抓取到,还不行就干脆从第一步重做,一般只要重连是可以抓取到的,因为我从我自己和好多邻居的WIFI上 试都抓到了。

    继续往下,这里我们的字典也选好了,握手包也抓到了,万事俱备,第八个是我们要破解的WIFI,因此输入8然后回车,就会开始跑字典,如下图所示。
    【2】Kali破解家用WI-FI密码 - WPA/WPA2加密_第9张图片
    这里只需要等待就行了,如果跑完之后还是KEY NOT FOUND,就换字典继续跑,我这里的显卡是GTX 950的垃圾,因此跑的还是挺慢的,当初1G多的字典跑了4个小时也没跑出来正确密码…当然这跟时间没关系,还是看人家的密码在不在你的字典里存着,我的经验是…如果用了弱口令字典没跑出来,那你基本自己是跑不出来了,可以选择上网花15块钱找人跑,把你抓到的cap文件存下来,百度一搜挺多的。

    等待结果…

    【2】Kali破解家用WI-FI密码 - WPA/WPA2加密_第10张图片
    当然,我这里使用的密码太弱了,11111111,随便找个字典一下就跑出来了。虽然是实验,只是为了说明原理与实验过程,但也说明确实可以跑出来密码,要比pywifi之类的方法速度快多了(虽然跑包确实僵硬,但是谁又说得准它没用呢)!

【实验总结】

这里可以叫暴力破解,暴力破解WPA/WPA2密码的方法很简单,大体总结起来就是:1. 监听抓包、2. 攻击客户端、3. 检查获得握手包、4. 跑包,就这么四个步骤,我们最终的目的其实就是获得抓取下来包含握手包的cap文件,有了这个cap文件之后我们可以选择自己跑包或者交给网上的一些专业人士(15块)来跑包,最后跑的出来跑不出来完全是看你的字典、对方密码强度和 运气。

当然了,我们也不难发现,如果密码随机性越大,或者复杂程度越大,我们就越难跑到也可以说根本跑不到密码,所以如果弱口令没跑出来的话,基本也就够呛了。

不过还是那句话,知道实验原理和思路最重要!如果希望尝试的话最好先用自己的WIFI试一下,看一下整个破解的流程是什么样的,做到心中有数,整个过程也都只是用工具,内容其实很简单,只有几行命令而已。

如果有问题就欢迎给我留言啦!

你可能感兴趣的:(【2】Kali破解家用WI-FI密码 - WPA/WPA2加密)