抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

无线相关知识点

WLAN 无线局域网技术主要采用 IEEE 802.11 标准,包含 802.11a/b/g/n/ac,是 IEEE 规定的数据链路层无线协议。以下是常见的一些无线标准。

  • IEEE 802.11 ,1997 年,原始标准(2Mbit/s,工作在 2.4GHz)。

  • IEEE 802.11a,1999 年,物理层补充(54Mbit/s,工作在 5GHz)。

  • IEEE 802.11b,1999 年,物理层补充(11Mbit/s 工作在 2.4GHz)。

  • IEEE 802.11g,2003 年,物理层补充(54Mbit/s,工作在 2.4GHz)。

  • IEEE 802.11n,更高传输速率的改善,支持多输入多输出技术(Multi-Input Multi-Output,MIMO)。 提供标准速度 300M,最高速度 600M 的连接速度

  • IEEE 802.11ac 是 802.11 家族的一项无线网上标准,由 IEEE 标准协会制定,透过 5GHz 频带提供高通量的无线局域网(WLAN),俗称 5G WiFi (5th Generation of Wi-Fi)。

IEEE 定义了两种无线网络拓扑结构,一种是基础设施网络(Infrastructure Networking),一种是特殊网络(Ad Hoc Networking)。

在基础设施网络中,无线终端通过接入点 AP 接入访问骨干网。接入点负责在 802.11 和 802.3 MAC 间转换。

一个接入点覆盖的区域称为基本服务区(Basic Service Area,BSA),接入点控制的所有终端组成一个基本服务集(Basic Service Set,BSS)

多个基本服务集相互连接就形成了分布式系统(Distributed System,DS),DS 支持的所有服务称为扩展服务集(Extended Service Set,ESS),由两个以上 BSS 组成。

AD Hoc 是一种点对点网络,不需要有线网络和接入点的支持,终端设备间通过无线网卡可直接通信。

无线接入点 AP(access point):

  • 扩展型 AP,也称胖 AP:类似家用无线路由器,能三层路由

  • 单纯型 AP,也称瘦 AP:类似集线器、交换机,仅转发电信号与无线信号,通过将网络信号通过双绞线传送,再经过无线 AP 编译,将电信号转变为无线信号,形成 wifi 覆盖。一般无线 AP 最大覆盖范围 400m

AP 的工作模式:

  • 纯 AP 模式(无线漫游模式):最常用、最基本的工作模式,用于构建以 AP 为中心的集中控制式网络,所有通信由 AP 转发

  • 网桥模式(无线客户端模式):分布一台主 AP 和多台从 AP,从 AP 作为主 AP 的客户端(类似无线网卡的地位),形成主从关系。主 AP 工作在纯 AP 模式,从 AP 工作在客户端模式,此时从 AP 管理的网络对于主 AP 就相当于一个客户端,并且从 AP 只能接入有线网络,不能为其他无线客户端提供服务

  • 点对点模式:两台 AP 无线设备,通过这两台 AP 连接两个有线局域网,实现两个局域网间的无线互联和资源共享,或实现有线网络的扩展。点对点连接的距离较远,最好采用定向天线。此时两个 AP 不会向其他客户端发送无线信号,仅仅向着对端 AP 互发信号。

  • 点对多点模式:多个 AP 组成网络,其中一个 AP 设为点对多点桥接模式,其余 AP 设为点对点桥接模式。用于一定区域内的多个远端点对一个中心点的访问,将多个网络连成一体

  • 中继模式:连接几个无线 AP,实现信号的中继和放大,延伸无线网络覆盖范围。中继 AP 设备有两个模块,一个模块采用客户端模式,接收前一站 AP 的信号,另一个模块采用标准 AP 覆盖模式,供无线设备通信

Wi-Fi 是 WECA(无线以太网兼容性联盟)为普及 IEEE 802.11 的标准而打造的一个品牌。

Wi-Fi 工作原理:wifi 至少需要设置一个 AP 和一个以上的客户端,AP 每 100ms 会将 SSID 通过 beacons(信号台)封包广播一次。beacons 包的传输速率是 1Mb/s,长度短。wifi 规定的最小传输速率为 1Mb/s,所以所有客户端都能收到该 SSID 广播包。

  • SSID(Service Set Identifier)服务集标识,就是显示的无线网名称,用于区分网络,最多 32 字符。主要包含两种:ESSID 和 BSSID。

  • 信道(channel),也称频段。通常有 13 个信道。信道频率范围从 2413MHz 到 2472MHz,从小到大,每个信道都有一定的频率范围,范围也会有重叠。其中 1,6,11 三个信道之间是完全没有重叠的,就是不会相互干扰,同理 2,7,12 和 3,8,13 和 4,9,14 也是互不重叠的信道组。

频段带宽:发送无线信号频率的标准,频率越高越容易失真。在 11n 模式中,包含 20MHZ 和 40MHZ 两个频带,20MHZ 能达到 144Mbps 带宽,距离 100M,40MHZ 能达到 300Mbps,而穿透性差,仅有 50M。

WDS:Wireless Distribution System 无线分布式系统,是多个 AP 通过无线互联的系统,将无线网通过多个 AP 扩展。

无线网卡的几种模式:

  • 广播模式
  • 多播模式
  • 直接模式:只收目的 MAC 是本身的帧
  • 混杂模式:接收所有流过网卡的帧

网卡默认工作模式为广播和直接。

WEP/WPA/WPA2

WLAN 委员会制定了三种数据加密协议:

  • WEP(有线等效保密)
  • WPA(WiFi 保护访问)
  • WPA2(WiFi 保护访问 v2)

WEP 的关键缺陷是它使用了 RC4 和短 IV 值(每 224 个帧就会循环使用一次),虽然 IV 值是很大的数字,但每 5000 个数据包重用 4 个 IV 值的概率为 50%。因此只要能生成密集的流量,便能显著增加重用 IV 值的概率。

WPA 主要采用临时密钥完整性协议(TKIP)加密算法,旨在改进 WEP。而 WPA2 强制使用 AES-CCMP 算法加密,比 TKIP 更强大。

WPA 和 WPA2 支持两种身份验证机制:

  • 基于 EAP 的身份验证(采用 RADIUS,用于企业)
  • 基于预共享密钥(Pre-shared Key,用于个人)

WPA 和 WPA2 主要通过抓取握手包,再用字典进行穷举破解。

WPA/WPA2 PSK 验证的 4 次握手过程:

  1. 申请者(WiFi 客户端)与验证者(AP)验证并关联 RR,并协商产生 256 位的预共享密钥
  2. 验证者向申请者发送消息(包括预共享密钥、网络的 SSID、验证者随机数 ANonce、申请者随机数 SNonce、验证者 MAC 地址(AP 的 MAC)、申请者 MAC 地址(WiFi 客户端的 MAC))
  3. 申请者计算出成对临时密钥(PTK)作为每会话密钥(Per-session Key),用于加密 AP 和客户端间的数据。
  4. 申请者再向验证方发送申请者随机数以及一个 MIC(消息完整性检查)。验证方收到后,进行 MIC 验证,若验证无误,则用申请者随机数生成一个 PTK
  5. 验证方再向申请方发送确认信息,确认进行密钥安装。申请方安装后返回密钥安装确认信息。

常用无线工具使用以及密码破解操作

实验使用了 HAYSENSE 厂的 HS-8515NS 无线网卡,驱动为 RT3070。

在虚拟机导入该网卡

实验虚拟机为 kali linux。

字典工具 crunch

用法:crunch  密码最短长度  密码最长长度  字符集  [选项]
选项:
-f 指定字典配置文件,后面需要跟上该文件中的指定字符集
crunch自带的字符集配置文件为/usr/share/crunch/charset.lst
-o 指定输出的字典文件

生成字典大小随密码位数指数增长,并且与指定的字符集长度有关。

常见用法:
crunch 6 10 123456abcdefg 生成包含前面字符集的所有密码可能的字典
crunch 6 10 -f /usr/share/crunch/charset.lst lalpha -o ./wordlst-lalpha

字典工具 cupp

会根据输入的信息,生成可能的密码字典。需要安装 cupp

cupp [options]
选项:
-i 进行交互式的信息输入
-w 改善已存在的字典

airmon-ng 工具

airmon-ng 是 aircrack-ng 套件中的一个工具,用于开启无线网卡的监听模式。

airmon-ng <start|stop> <interface> [channel]
airmon-ng <check> [kill]

可使用iwconfig命令查看无线网卡的列表以及信息

kismet 工具

kismet 是一个无线网卡监控工具。

打开 kismet 后会有一个是否选择灰色界面,最好选 NO,否则界面是黑白的,没有彩色的图像

然后会有要求填写一个监控源。

可以看到监控到的信息,就是能看到的无线信号

点右下角的 close console window 即可进入图像界面

上面是网络信息,下面是客户端信息,其中 MAC 就是客户端的 MAC 地址

双击网络可查看该网络的详细信息

其中主要有以下参数信息:

  • BSSID:该网络 AP 的 MAC 地址

  • Manuf:制造厂商

  • Type:类型,此处说明是 AP

  • Channel:信道为 11

  • SSID:网络名称

  • Type:Beacon。被动信标帧

  • Encryption:WPA PSK 加密算法

airodump-ng 工具

属于 aircrack-ng 套件,用于无线网络抓包与分析,将无线网络数据传送到 PCAP 或 IVS 文件并显示网络信息。

将无线网卡置于监听模式后开始抓包。airodump-ng wlan0mon

主要有以下参数:

  • BSSID:AP 的 MAC

  • PWR:信号强度取决于驱动,值越高,与该 AP 的距离越近。

    • 若 BSSID 的 PWR 为-1,则说明网卡驱动不支持报告信号水平。
    • 若客户端的 PWR 为-1,则说明该客户端不在能探测到的范围内,但能捕获 AP 发往客户端的数据。
  • Beacons:AP 发的通告

  • #Data:抓到的数据包量

  • CH:channel(是从 Beacons 中获取)

  • MB:最大传输速率。

    • 若为 11,则协议为 802.11b。
    • 若为 22,则协议为 802.11b+。
    • 若更高,则为 802.11g。
    • e 表示有 802.11e(QoS)启用,
    • . 表示短前导码。前导码是数据包的一组比特组,让接收者同步并准备接收实际的数据
  • ENC:加密方式

    • OPN(无加密)
    • WEP?(WEP 或 WPA\WPA2)
    • WEP(静态或动态 WEP)
    • TKIP 或 CCMP(WPA\WPA2)
  • CIPHER:加密算法。WPAAP、TKIP、WEP、CCMP、WEP104。TKIP 与 WPA 结合使用,CCMP 与 WPA2 结合使用

  • AUTH:认证。

    • MGT(WPA/WPA2 使用独立认证服务器(802.1x、redius、eap 等))
    • PSK(WPA/WPA2 的 pre-shared key)
    • OPN(无认证) SKA(WEP 的共享密钥)
  • ESSID:wifi 名

  • STATION:每一个已连接或者正尝试连接用户的 MAC 地址

  • Rate:传输率

  • Lost:最近 10s 内的丢包数,基于序列号检测

  • Frames:客户端的数据帧数量

  • Probe:被客户端探查的 ESSID。若客户端试图连接一个 AP 但没连上,则会显示在这

aircrack-ng 破解 WEP 与 WPA 加密

要对指定的 wifi 抓包

airodump-ng -c 该wifi的channel --ivs -w ~/WEP --bssid 要抓的wifi的BSSID

如果信道正确,#Data 的量会增长的比较快。-w 会在指定位置生成握手包抓包文件,后面的破解就需要这个文件。

可使用aireplay-ng -0 5 -a B4:0B:44:93:11:C4 -c 18:01:F1:30:00:42 wlan0mon造成目标网络掉线,使设备不断发送 arp 请求,能更容易抓到有用的密码数据。需要连接的设备开启了自动重连,或者等待目标的用户再次输入密码。

生成密码字典 cupp -i 填入可能的密码信息,然后aircrack-ng -w 字典文件 抓包文件。开始暴力破解。

自动化破解工具 gerix-wifi-cracker

airgeddon 工具

工具介绍地址:https://github.com/v1s1t0r1sh3r3/airgeddon

git clone 后,进入目录执行 airgeddon.sh 脚本。经过几次 enter 确认后,先会要求选择无线网卡。

选择后进入主菜单

有以下主要功能:DOS 攻击、握手包工具、离线 WPA 解密、evil twin 攻击、WPS 攻击、WEP 攻击、Enterprise 协议攻击

DOS 攻击简单操作

首先会提示输入要攻击的 wifi 的 BSSID,以及信道

可以选择攻击方式:Deauth 攻击、mdk3 攻击、WIDS 攻击等。就会自动开始攻击

握手包工具操作

同理填入目标 BSSID 和信道。

可直接选择 5,开始抓取握手包.

关闭窗口后,会显示所有目标,按照开头标号选择,其中标号后面有*的说明有客户端连接着。

进入握手包抓取选项界面,选择攻击方式,与 DOS 一致。可直接选择 deauth aireplay attack,与 aireplay-ng 效果一致,断开目标网络,抓取 arp 握手包。可以填写要抓取的时间,默认 20s。

若抓取成功,就会在主目录生成握手包抓包文件,然后同理使用 aircrack-ng 破解密码。

自动化破解工具 wifite

执行 wifite 后会自动开始扫描范围内的无线网络,ctrl+c 停止扫描

选择一个目标后,开始自动检测

然后直接就能看到破解的 wifi 密码

hirte 工具伪造 AP

不指定字典破解密码

仍然是使用字典工具暴力破解握手包。

crunch  最小长度  最大长度  字符集  |  aircrack-ng  握手包  -e  ESSID  -w  -
示例:
crunch 8 8 12345678 | aircrack-ng ~/wpa-B4\:0B\:44\:93\:11\:C4-02.cap -e gty123 -w -

hashcat 工具跑包

aircrack-ng  握手包  -J  输出hash文件

会生成一个.hccap 文件

aircrack-ng ~/wpa-B4\:0B\:44\:93\:11\:C4-02.cap -J ~/wpahash

需要 hashcat 工具,可–help 查看加密方式对应的号码

# hashcat --help | grep WPA
2500 | WPA-EAPOL-PBKDF2 | Network Protocols
2501 | WPA-EAPOL-PMK | Network Protocols
16800 | WPA-PMKID-PBKDF2 | Network Protocols
16801 | WPA-PMKID-PMK | Network Protocols

使用-m指定编号

用法:hashcat   -m 2500   hccap文件  字典文件
# hashcat -m 2500 ~/wpahash.hccap /usr/share/dict/wordlist-top4800-probable.txt

cowpatty 工具破解密码

cowpatty 功能与 aircrack-ng 类似

cowpatty -f  字典文件  -r  握手包文件  -s  ESSID

hash-table 加速破解

可通过对字典文件生成 hashtable,加快破解速度。但是对字典生成 hash 表文件需要消耗大量时间。

genpmk  -f  字典文件  -d  输出的hash表文件  -s  ESSID

然后再用 cowpatty 破解

cowpatty  -d  hash表文件  -r  握手包文件  -s  ESSID

在本机的速度提升约有 100 倍。

batch-table 加速破解

生成 batch-table 与 hash-table 一样,需要耗费大量时间

先载入字典文件

pyrit -i 字典文件 import_passwords

添加 ESSID,可添加多个

pyrit -e ESSID create_essid

生成 batch-table

pyrit batch

最后开始破解

pyrit -e ESSID -r 握手包 attack_batch

pyrit 工具补充

pyrit 也可以仅仅使用字典跑密码,功能仍然类似 aircrack-ng

可以先通过 pyrit 的 analyze 模块分析,获取 AP 的 BSSID

pyrit -r 握手包 -i 字典文件 -b AP的BSSID(或者-e AP的ESSID)跑字典破解

pyrit 也可以通过 hash-table 进行破解,同样使用-i指定输入 hash 表文件

airolib-ng 生成彩虹表

可通过彩虹表加速破解,可使用 airolib-ng 生成彩虹表

airolib-ng <database> <operation> [options]
--import [essid|passwd] <file> 传入ESSID或字典文件
--export cowpatty <essid> <file> 传出为一个cowpatty文件

需要先将目标 ESSID 写入一个文件

还需要将字典文件写入

最后生成 batch-table

导出表供 cowpatty 使用

使用 cowpatty 破解密码

解除验证 DoS 攻击

WLAN 容易受到 DoS(拒绝服务)攻击,攻击手段包括以下:

  • 解除验证(Deauthentication)
  • 取消关联(Disassociation)
  • CTS-RTS 攻击
  • 信号干扰或频谱干扰

Easy-Creds 工具创建伪 AP

Easy-Creds 是一款欺骗嗅探为主的攻击脚本工具,具备 ARP 毒化,DNS 毒化等一些嗅探攻击模式,具有 fakeAP 功能,比一般自行搭建的 fake AP 要稳定的多,而且里面还包含了针对 802.1x 的攻击模式。

GitHub 地址

下载后执行目录中的installer.sh安装即可。然后执行easy-creds命令。

 ____ ____ ____ ____ ____ ____ ____ ____ ____ ____
||e |||a |||s |||y |||- |||c |||r |||e |||d |||s ||
||__|||__|||__|||__|||__|||__|||__|||__|||__|||__||
|/__\|/__\|/__\|/__\|/__\|/__\|/__\|/__\|/__\|/__\|
Version 3.8-dev - Garden of New Jersey

At any time, ctrl+c to cancel and return to the main menu

1. Prerequisites & Configurations # 配置
2. Poisoning Attacks # 毒化攻击
3. FakeAP Attacks # 伪AP攻击
4. Data Review # 数据检查
5. Exit
q. Quit current poisoning session

选择 3,进入伪 AP 攻击

1.  FakeAP Attack Static     # 静态
2. FakeAP Attack EvilTwin # eviltwin
3. Karmetasploit Attack
4. FreeRadius Attack
5. DoS AP Options
6. Previous Menu

选择 1,静态伪 AP 攻击

Would you like to include a sidejacking attack? [y/N]: N   # 是否要包劫持攻击
Interface connected to the internet (ex. eth0): eth0
Wireless interface name (ex. wlan0): wlan0
ESSID you would like your rogue AP to be called, example FreeWiFi: gty123
Channel you would like to broadcast on: 10
Enter your monitor enabled interface name, (ex: mon0): wlan0mon
Would you like to change your MAC address on the mon interface? [y/N]: N #是否修改监听接口MAC地址
Enter your tunnel interface, example at0: at0 # 隧道接口
Do you have a dhcpd.conf file to use? [y/N]: N # 是否使用dhcpd.conf
Network range for your tunneled interface, example 10.0.0.0/24: 192.168.1.0/24 # 隧道接口网络范围
The following DNS server IPs were found in your /etc/resolv.conf file:
<> 192.168.1.2

Enter the IP address for the DNS server, example 8.8.8.8: 192.168.1.2 # 设置DNS服务器

之后系统会自动开启一些程序,如 DHCP、SSLStrip、Etterp、Dsniff 等,弹出几个窗口

Evil Twin 攻击

Evil Twin(克隆 AP)攻击是一种针对 WLAN 基础设施的攻击。在受攻击的 WLAN 网络附近部署受攻击者控制的双胞胎 AP,该无赖 AP 会通告与受攻击的网络完全相同的 SSID,导致许多用户在不经意间连接到此 AP。然后攻击者就可发动中间人攻击。

架设无赖 AP

无赖 AP 是指未经授权便连接到需授权网络的 AP,攻击者会将这样的 AP 作为私开的后门,从而绕过需授权网络中的安全控制机制。

大多数情况下,无赖 AP 会被设置为开放验证且不启用加密。可以通过部署实际的物理设备作为无赖 AP,也可以通过软件创建无赖 AP,将其桥接到需授权网络的本地以太网网络。

误关联攻击

Caffe Latte 攻击

解除对无线客户端的验证

不碰 AP 的情况下破解 WPA