kali 无线安全

网络安全渗透(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

image

2.5GHz

image

加密方式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.可支持渗透嗅探的网卡

支持监听的网卡.jpeg

网卡相关链接:具有监控模式和无线注入的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 :指定攻击AP的SSID名称。

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模式 图

CAPR.png

CPG模式 图

CPG.png

posted @ 2022-05-31 05:59  edolf  阅读(1601)  评论(0编辑  收藏  举报