• WPA-PSK无线网络破解原理及过程


    原文链接地址:http://www.freebuf.com/articles/wireless/58342.html

    本文将主要讲讲WPA-PSK类型的无线网络安全问题,首先我们看下802.11协议相关的基础知识。‍‍

    802.11常见的几种认证方式:

    ‍‍

    1、不启用安全‍‍
    ‍‍2、WEP‍‍
    ‍‍3、WPA/WPA2-PSK(预共享密钥)‍‍
    ‍‍4、WPA/WPA2 802.1X (radius认证)

    ‍‍具体在路由器的配置界面一般如下图所示:‍‍

    WPA-PSK的认证过程:

    ‍‍由于我这里主要分析wpa-psk类型的认证方式,所以这里就不讨论其他的认证方式了,通过抓包分析,我们可以看到wpa-psk的大致认证过程分为以下几步。‍‍

    ‍‍

    1、无线AP定期发送beacon数据包,使无线终端更新自己的无线网络列表。
    ‍‍2、无线终端在每个信道(1-13)广播ProbeRequest(非隐藏类型的WiFi含ESSID,隐藏类型的WiFi不含ESSID)。‍‍  ‍‍3、每个信道的AP回应,ProbeResponse,包含ESSID,及RSN信息。‍‍
    ‍‍4、无线终端给目标AP发送AUTH包。AUTH认证类型有两种,0为开放式、1为共享式(WPA/WPA2必须是开放式)。‍‍
    ‍‍5、AP回应网卡AUTH包。‍‍
    ‍‍6、无线终端给AP发送关联请求包associationrequest数据包。‍‍
    ‍‍7、AP给无线终端发送关联响应包associationresponse数据包。‍‍
    ‍‍8、EAPOL四次握手进行认证(握手包是破解的关键)。‍‍
    ‍‍9、完成认证可以上网。

    802.11数据帧类型说明

    ‍‍802.11协议的帧类型主要包括管理帧和数据帧,我们这里主要用到管理帧:‍‍

    ‍‍管理帧的主体包含的固定字段与信息元素是用来运送信息的。管理帧主要以下几种,负责链路层的各种维护功能。‍‍

    ‍‍1. Beacon 信标帧‍‍

    ‍‍主要用来声明某个网络的存在。定期(默认100s、可自己设置)传送的信标可让station得知网络的存在,从而调整加入该网络所必需的参数。‍‍

    ‍‍2. Probe Request 探查请求帧‍‍

    ‍‍移动工作站利用Probe Request探查请求帧来扫描区域内目前哪些802.11网络。‍‍

    ‍‍包含2个字段‍‍

    ‍‍SSID:可被设定为特定网络的 SSID 或任何网络的 SSID 。‍‍

    ‍‍Support rates:移动工作站所支持的速率。‍‍

    ‍‍3.ProbeResponse探查响应帧‍‍

    ‍‍如果ProbeRequest所探查的网络与之兼容,该网络就会以ProbeResponse帧响应。送出最后一个beacon帧的工作站必须负责响应所收到的探查信息。‍‍

    ‍‍Probe Request帧中包含了beacon帧的所参数,station可根据它调整加入网络所需要的参数。‍‍

    ‍‍4.IBSS announcement traffic indication map (ATIM)‍‍

    ‍‍IBSS 的通知传输只是消息‍‍

    ‍‍5.Disassociation and Deauthentication ‍‍

    ‍‍取消关联、解除验证帧‍‍

    ‍‍6. AssociationRequest  ‍‍

    ‍‍关联请求帧‍‍

    ‍‍7.Reassociation Request    ‍‍

    ‍‍重新关联‍‍

    ‍‍8.Association Response and Reassociation Response‍‍

    ‍‍关联响应、重新关联响应‍‍

    ‍‍9.Authentication ‍‍

    ‍‍身份验证帧 ///Authentication Algorithm Number:用于算法择‍‍

    ‍‍10.Action frame ‍‍

    ‍‍帧传送、关联与身份验证的状态‍‍

    ‍‍State1 :未经认证且尚未关联 2 :已经认证但尚未关联 3 :已经认证且已经关联。‍‍

    ‍‍下图是用科来分析数据包显示的帧类型:‍‍

    WPA-PSK认证四次握手认证的过程:

    WPA-PSK破解原理:

    ‍‍用我们字典中的PSK+ssid先生成PMK(此步最耗时,是目前破解的瓶颈所在),然后结合握手包中的客户端MAC,AP的BSSID,A-NONCE,S-NONCE计算PTK,再加上原始的报文数据算出MIC并与AP发送的MIC比较,如果一致,那么该PSK就是密钥。如图所示:‍‍

    WPA-PSK破解过程:

    ‍‍接下来我们看看如何进行抓握手包破解WPA-PSK的无线AP,我这里用的工具是kali Linux,kali Linux集成了aircrack套件。然后网卡使用的是rtl8187芯片的外置USB网卡。‍‍

    ‍‍破解步骤如下:‍‍

    ‍‍第一步:把usb网卡插入虚拟机,并开启网卡到监听模式,命令如下:‍‍

    ‍‍

    “ifconfig wlan0 up” 加载usb网卡。‍‍
    ‍‍“airmon-ng start wlan0” 监听模式已激活到mon0。(通过config 命令查看)。

    ‍‍如果不开启监听模式会报错如下图:‍‍

    ‍‍第二步:抓包查看有哪些无线网络,抓包的界面如下图所示:‍‍

    ‍‍“airodump-ng mon0” 查看周边路由AP的信息。‍‍

    ‍‍个人经验一般信号强度大于-70的可以进行破解,大于-60就最好了,小于-70的不稳定,信号比较弱。(信号强度的绝对值越小表示信号越强)‍‍

    ‍‍第三步:选择要破解的WiFi,有针对性的进行抓握手包,命令如下:‍‍

    ‍‍

    “ airodump-ng--ignore-negative-one -w  /tmp/test.cap-c 11 --bssid 40:16:9F:76:E7:DE mon0”

    参数说明:-w 保存数据包的文件名 –c 信道 –bssid ap的mac地址

    ‍‍(注意test.cap会被重命名),也可以用其他工具抓包比如:wireshark、tcpdump,抓到握手包会有提示。‍‍

    ‍‍第四步:为了顺利抓到握手包,我们需要使用DEAUTH攻击使已经连接的客户端断开并重新连接,以产生握手包。(注意:抓握手包破解必须有合法的客户端才行。)攻击命令如下:‍‍

    ‍‍

    aireplay-ng-0 111 -a  ap'mac  mon1‍‍
    ‍‍aireplay-ng-0 3 -a B8:A3:86:63:B4:06 -c 00:18:1a:10:da:c9 -x 200 mon1

    ‍‍参数说明:-0 Deautenticate 冲突模式  3 发包次数 -x  发包速度‍‍

    ‍‍抓包可以看到很多deauthentication类型的数据包:‍‍

    ‍‍包结构如下:‍‍

    ‍‍抓到的数据包打开后如下图:图中使用wireshark打开的,EAPOL类型的数据包共有4个,即四次握手的数据包。‍‍

    ‍‍第五步:接下来就是破解握手包,命令如下:‍‍

    ‍‍

    aircrack-ng-w pass-haoyong.txt test-03.cap

    ‍‍参数解释:-w 字典路径‍‍

    ‍‍也可以使用图形化工具EWSA进行破解,Elcomsoft Wireless Security Auditor(EWSA)

    ‍‍号称可以利用GPU的运算性能快速攻破无线网络密码,运算速度相比使用CPU可提高最多上百倍。‍‍‍‍

    ‍‍上面我们讲解了通过抓握手包破解WPA-PSK认证的无线AP的全过程,从上述过程可以看出,如果AP没有合法的客户端连接,或者密码设置的足够复杂就基本上不可能破解。‍‍

    通过WPS破解无线路由器密码

    ‍‍接下来我们看一下另一种破解方式,也就是常说的pin码破解后者叫wps破解。首先了解下什么是wps:‍‍

    ‍‍WPS(Wi-FiProtected Setup,Wi-Fi保护设置)是由Wi-Fi联盟组织实施的认证项目,主要致力于简化无线网络的安全加密设置。‍‍

    ‍‍功能:‍‍

    ‍‍简化配置,快速配置一个基于WPA2的网络。‍‍

    ‍‍快速连接,输入pin码或按下WPS键即可完成网络连接。‍‍

    ‍‍问题:‍‍

    ‍‍由于WPS存在漏洞,通过PIN码可以直接提取上网密码。‍‍

    通过WPS快速配置无线路由器

    ‍‍我们可以通过WPS快速配置无线路由器:步骤如下‍‍

    ‍‍1、通过电脑连接新买的无线路由器,提示通过pin码进行设置,界面如下:‍‍

    ‍‍2、输入pin码下一步,就会为路由器自动生成一个足够复杂的认证方式及密码:‍‍

    通过WPS快速连接已有网络

    ‍‍我们也可以通过WPS快速连接已有网络,不用输入复杂的密码:步骤如下(我使用小米手机进行测试)‍‍

    ‍‍1、在手机上选择通过PIN码进行连接或通过路由器上的WPS按键连接。‍‍

    ‍‍2、如果选择前者只需要输入pin码即可连接,如果选择的是后者则只需要按以下路由器上的wps键即可完成连接。‍‍

    Pin码破解的原理:

    ‍‍由于WPS存在安全问题,通过PIN码可以直接提取上网密码。而pin码是一个8位的整数,破解过程时间比较短。WPS PIN码的第8位数是一个校验和,因此黑客只需计算前7位数。另外前7位中的前四位和后三位分开认证。所以破解pin码最多只需要1.1万次尝试,顺利的情况下在3小时左右。Wps认证流程如下图:‍‍

    破解的操作步骤:

    ‍‍第一步:Wash 扫描开启WPS的网络。‍‍

    ‍‍

    wash-i mon1 –C

    ‍‍第二步:穷举破解pin码,并通过获取的pin码得到无线AP上网密码。‍‍

    ‍‍

    reaver-i mon0 -b 5C:63:BF:BA:44:DC -a -S -vv

    ‍‍reaver参数说明:‍‍

    ‍‍

    1. -i 监听后接口称号‍‍
    ‍‍2. -b APmac地址‍‍
    ‍‍3. -a 主动检测AP最佳配置‍‍
    ‍‍4. -S 利用最小的DH key(能够进步PJ速度)‍‍
    ‍‍5. -v、-vv 显示更多的破解信息‍‍
    ‍‍6. -d 即delay每穷举一次的闲置时候预设为1秒‍‍
    ‍‍7. -t 即timeout每次穷举守候反应的最长时候‍‍
    ‍‍8. -c指定频道能够便当找到信号,如-c1 指定1频道

    ‍‍如果无线路由器没开wps功能会报错如下图:

    ‍‍

    ‍‍另外破解过程中无线路由器会有如下特征:‍‍

    ‍‍破解成功后如下:‍‍

    ‍‍如果之前破解的无线路由器密码被改了,可以直接通过pin码获取密码,命令如下:

    ‍‍reaver-i mon0 -b MAC -p PIN8位数‍‍‍‍

    ‍‍上面就是通过pin码破解无线路由器密码的全过程,可见开启wps功能并不安全,建议最好不要开此功能。‍‍

    ‍‍最后介绍几个图形界面的工具:‍‍

    ‍‍常用的图形界面的工具有水滴、打气筒、奶瓶:‍‍

    ‍‍这些工具只是将Aircrack-ng、 reaver打包图形化,即为Aircrack-ng套件的GUI。‍‍

    ‍‍1. Aircrack-ng是一个与802.11标准的无线网络分析关的安全软件,主要功能:网络侦测,数据包嗅探,WEP和WPA/WPA2-PSKPJ。‍‍

    ‍‍2. reaver,专用来pin PJ的软件、一般都集成在水滴等里面了。‍‍

    ‍‍3. 另外我们常用的注:beini/CDlinux/xiaopan都是小型linux系统,已集成了上述工具。下图为水滴的界面。‍‍

    ‍‍安全建议:

    ‍‍

    1. 使用WPA2认证,不要使用wep或无认证。‍‍
    ‍‍2. 为无线网路设置复杂的密码。‍‍
    ‍‍3. 关闭WPS功能。
  • 相关阅读:
    vs entityframwork Validation failed for one or more entities
    samba配置
    Python中list的拷贝问题
    Android文件存储
    Java接口回调模拟按钮监听
    Android更新UI的五种方式
    Android handler学习笔记
    FBReaderJ学习笔记(四):SelectionPopup样式更改
    FBReaderJ学习笔记(三):Footer底部状态栏更改
    FBReaderJ学习笔记(五):附录
  • 原文地址:https://www.cnblogs.com/wuyuan2011woaini/p/8251935.html
Copyright © 2020-2023  润新知