ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Kali无线网卡安全测试:从选型到WPA2攻击原理

Kali无线网卡安全测试:从选型到WPA2攻击原理 kali 无线网卡这个标题我太熟悉了。几乎每个刚接触安全测试的人都从这句话开始折腾我也不例外。但真正上手之后你会发现这句话既没有说的那么轻松也没有想的那么神秘。Kali本身只是一个承载工具的操作系统真正的关键在无线网卡能不能干活、你懂不懂背后那条链路。这篇文章我想把这个话题掰开揉碎聊清楚尤其是很多人没想明白的部分网卡选型为什么是第一道门槛、监听和握手到底是怎么回事、所谓“跑字典”的真实效率有多低。所有内容都应该也只应该用在你自己拥有或获得书面授权的网络环境里这一点先放在最前面。1. 先把这个话题聊透你想要的到底是“破解”还是“安全审计”1.1 边界感是入行的第一课每次有人问我“能不能教我破解WiFi”我都会先反问一句这是你自己的网络吗如果你只是想知道邻居家密码然后蹭个网用那我建议你直接关掉这个页面。未经授权对他人网络进行安全测试在绝大多数地方都是明确的违法行为这也根本不是技术问题是做人问题。从业者之间聊这个话题时有一个默认共识目标设备必须是你自己的或者你拿到了白纸黑字的授权。企业里做无线网络验收、红队评估也会涉及类似的操作但背后一定有合同和授权书。所以这篇文章讲的“破解”请自动理解成“对自有网络的合规安全测试”。把这句话想通你才能平心静气地研究原理而不是整天琢磨歪门邪道。1.2 无线安全测试到底是一条什么样的链路抛开猎奇心理这个方向真正有价值的部分是一条完整的技术链路环境准备、无线信号捕获、加密机制分析、握手包获取、密钥离线验证、防护加固。每一步背后都对应着一堆基础问题。比如环境准备阶段你得搞清楚Kali装在哪里、无线网卡怎么被系统识别抓包阶段你得理解802.11协议里的帧类型、信道机制、监听模式密钥验证阶段你得明白WPA2四次握手做了什么、字典比对为什么只能靠本地算力。这套知识不只是为了折腾WiFi它本身就是无线网络工程与安全测试的基本功。考过无线安全相关认证的朋友应该知道这些内容全是考点。所以一个真正想学东西的人把这个方向啃下来之后收获的远远不止“能跑通一条命令”那么简单。2. 网卡选型是第一道门槛为什么内置网卡总让人白忙一场2.1 “监听模式”才是真正的及格线很多人拿着一台自带无线网卡的笔记本就开始折腾结果一开监听就报错或者能开启但抓不到包折腾一晚上毫无进展。你以为是操作问题其实是硬件问题。普通电脑内置无线网卡的首要任务是稳定上网驱动层面压根就没打算让你做raw数据帧操作。无线安全测试对网卡的核心要求只有一个支持监听模式monitor mode。在这个模式下网卡不再区分是不是发给自己的数据而是把接收范围内所有无线信号统统交给上层处理。普通网卡出于省电和隐私考虑只接收发往自己的帧这就没法做被动监听。所以判断一块网卡能不能用于安全测试别听商家吹什么“高增益”“穿墙王”先问一句芯片组支不支持monitor modeLinux驱动稳不稳。2.2 芯片组认准了再下单市面上USB无线网卡鱼龙混杂同一个牌子不同批次用的芯片组可能都不一样。我的建议是优先认准社区里被反复验证过的芯片组而不是买网卡的牌子。比较常见的有Atheros AR9271、Realtek RTL8187、Realtek RTL8812AU/RTL8811AU、MediaTek MT7612U等。其中AR9271是经典入门选择很多Live系统自带驱动插上就能用RTL8187是老牌经典信号表现也不错RTL8812AU支持5GHz频段和802.11ac如果你想测家里的双频路由器这个更合适。选卡的时候我还有一个亲测有用的技巧下单前先查一下芯片组在Linux社区里的驱动成熟度别只看电商页面的销量否则到手后你会发现网卡根本不工作。芯片组频段支持Linux驱动成熟度适合场景Atheros AR92712.4GHz很高多数发行版免驱入门学习、基础抓包Realtek RTL81872.4GHz较高老牌方案经典兼容之选Realtek RTL8812AU2.4GHz/5GHz需要安装驱动或使用定制内核双频网络测试MediaTek MT7612U2.4GHz/5GHz较高需要5GHz场景的稳定选择提示如果你不确定手上的网卡是什么芯片插到电脑上先执行lsusb看设备ID再到社区库里查对应型号比看外壳上的Logo靠谱得多。2.3 驱动装不上、网卡频繁掉线怎么排查顺着热搜词里“802.11 usb无线网卡驱动下载”“无线网卡掉”这两个需求说一下。驱动问题最常见的场景是虚拟机宿主机已经识别到网卡但虚拟机里airmon-ng看不到设备。大概率是USB直通没打开或者USB控制器版本不匹配。我的排查思路是固定的先把网卡插到宿主机上确认宿主机的lsusb里能看到设备ID再打开虚拟机设置里的USB控制器改成USB 3.0以上最后在运行时通过“可移动设备”菜单把网卡连接进虚拟机进虚拟机的第一件事就是lsusb确认设备是否还在。如果实体机环境下网卡频繁掉线那多半是供电问题。USB无线网卡的瞬时功耗不低插在台式机前置面板或笔记本扩展坞上容易电压不稳换到主机后置USB口通常能缓解。还有一个很容易忽略的点部分USB 3.0口和某些无线网卡存在兼容性问题表现为传输一阵子后设备直接消失。遇到这种情况换个USB 2.0口反而更稳定。这类排查经验没有捷径就是一层层排除但方向对了就能少折腾好几个小时。3. Kali环境准备虚拟机、实体机还是U盘启动3.1 三种运行方式到底怎么选Kali的安装方式决定了你后续的折腾成本。太多人一上来就double系统装Kali装完发现平时还得用办公软件来回重启苦不堪言最后又把环境卸了。我的建议非常直接日常学习用虚拟机就够了VMware Workstation和VirtualBox都行只有当你需要做长时间稳定抓包、需要网卡在各种模式下频繁切换时实体机才更有优势U盘Live版更适合应急场景比如临时借一台电脑做快速检测数据不保存每次开机都是一张白纸。很多人拿Kali当主力系统用其实没什么必要。安全测试工具的生态在虚拟机里跑起来完全没区别快照功能反而是实体机不具备的巨大优势。我在虚拟机里折腾坏了环境一个快照回滚就完事实体机你试试重装一次系统至少半天没了。3.2 虚拟机把USB网卡直通过去的关键步骤这里重点说VMware下的USB直通VirtualBox的思路是一样的。安装好虚拟机之后先别急着启动系统打开“虚拟机设置”找到“USB控制器”把USB兼容性选成USB 3.1这样能兼容绝大多数无线网卡。如果你漏了这一步后面连上设备也容易出现无法识别的问题。启动Kali虚拟机后把USB无线网卡插到宿主机上然后在VMware菜单栏的“虚拟机”里选择“可移动设备”找到对应的网卡点击“连接”。这一步操作完网卡就从宿主机“断开”挂载到了虚拟机里。进虚拟机终端执行lsusb如果看到了网卡的设备ID就说明直通成功。用这种方法你平时可以在Windows里正常上网需要测试时再把网卡无缝切换给Kali非常顺手。3.3 装好系统后最要紧的三件事换源、中文、快照Kali安装本身没什么难度但装完之后的配置能劝退一批人。首先是换源。Kali官方源在国内网络环境下慢到你怀疑人生更新一个软件包能等半小时。改成国内镜像源之后速度几乎是天壤之别。操作上就是编辑/etc/apt/sources.list把官方地址替换成你所在地区访问速度快的镜像地址然后apt update一下确认没报错。其次是设置中文。Kali默认英文界面对刚接触Linux的人不友好。在终端执行dpkg-reconfigure locales勾选zh_CN.UTF-8 UTF-8再设置默认locale为中文重新登录后界面就是中文了。第三步也是我强烈建议的一步环境刚配好就打个快照。只有你在虚拟机上把系统折腾坏过才会明白快照这个功能有多救命。很多人学Kali半途而废不是内容太难是环境反复装崩了心态崩了。4. 无线安全测试的原理核心监听模式、802.11帧与四次握手4.1 无线信号本身就不是什么“安全边界”有线网络有一条物理边界你得把网线插到交换机上才能收到数据。无线网络完全不同信号以电磁波形式向四周辐射只要在覆盖范围内任何接收设备都能拿到原始数据帧。WPA2/WPA3加密的作用不是阻止别人收到你的信号而是让收到信号的人无法解读内容。想通这一点很重要它决定了整个安全测试的思考方式。攻击者和测试者做的事情本质上都是“被动接收”区别在于后续能不能从截获的数据里还原出有效信息。无线加密的目的就是把这一步做到极难难到对方只能放弃或走更弱的入口。4.2 四次握手整个无线安全测试的咽喉WPA2-PSK模式下客户端连接路由器时双方要通过四次握手来确认彼此都持有正确的预共享密钥PMK。PMK是由密码和SSID经过PBKDF2派生算法计算出来的路由器知道客户端知道而已方攻击者不知道。四次握手过程中客户端和路由器之间会交换随机数等信息这些信息被破解者完整监听下来以后就可以在本地离线计算自己猜一个候选密码生成一个PMK再结合捕获到的握手消息验证这个PMK是否正确。如果匹配密码就被找到了。整个过程不需要再和路由器通信所以叫离线攻击这也是为什么这类测试对网卡几乎没有性能要求的原因——网卡的活只是抓包真正的计算发生在CPU和GPU上。4.3 抓包为什么总失败信道、驱动、信号三座山新手最容易卡住的地方是监听模式开了但抓不到目标AP的包。排查顺序从底层到上层来先确认网卡是否真的进入了监听模式执行iwconfig看模式那一栏再确认监听的信道和目标信道是否一致。无线路由器默认是自动选信道如果网卡在信道6上监听而路由器跳到了信道1那自然什么也抓不到。解决办法是把网卡固定到目标信道或者使用工具里的信道跳跃功能让它跟着目标走。第三座山是信号强度。无线信号太弱时即使抓到了包帧丢失率也非常高四次握手四帧里缺一帧就白搭。我的实测经验是测试时离路由器近一点或者给网卡配一根好点的天线效果立竿见影。另外如果目标网络里暂时没有新设备接入你可能需要发送去认证帧让已连接的客户端断开重连从而在重连过程中捕获到完整的四次握手工。但这里必须再次强调对不属于你的网络执行去认证操作本身就是一种主动干扰行为同样需要授权。5. “跑字典”的真实效率密码强度的攻防账本5.1 离线比对到底在做什么当你拿到握手包之后后续的步骤本质上变成了一个计算问题从候选密码列表里一个个试看哪个能通过校验。这个候选列表可以来自常见密码字典、泄露密码库也可以是根据规则生成的组合。整个过程只跟CPU/GPU算力和你的字典内容有关跟网络带宽、路由器性能毫无关系。所以网上那些号称可以“秒破WiFi”的工具看到就可以划走了WPA2的PBKDF2设计目的就是为了让每秒尝试次数足够低。5.2 密码熵值8位数字和12位混合密码之间隔着多少个数量级我用一个简单计算来说明为什么密码强度是真正的分水岭。WPA2的PMK派生算法是PBKDF2-SHA1迭代次数4096次。假设一块主流显卡每秒能完成数万次候选密码验证8位纯数字密码的组合数只有10的8次方也就是1亿种跑完是分钟级的事。如果换成8位纯小写字母组合数约2000亿种耗时需要大幅上升。再看一组数据12位混合大小写字母加数字的密码每个字符有62种可能组合数大约是62的12次方约等于3.2乘以10的21次方。这个量级意味着即使把所有能调用的显卡都堆上去跑通全部空间的时间也是天文数字现实中根本没有可行性。这就是为什么我一直强调路由器WiFi密码只要足够长、足够随机所谓“破解”就只是个理论概念。密码形式组合数量级暴力测试可行性8位纯数字约1亿很容易8位纯小写字母约2000亿较困难但可行10位混合大小写字母数字约8.4乘10的17次方现实中不可行12位混合大小写字母数字约3.2乘10的21次方基本不可能5.3 真实世界里的攻击主要啃哪些“软柿子”既然强密码算不出来攻击者的精力自然会转向更弱的入口。最常见的就是各种弱密码例如12345678、password、手机号、生日组合。这些密码不是靠暴力算出来的而是直接被字典里的常见条目命中的。所以给路由器设密码的时候别以为自己用了“别人的生日”就算是复杂密码了真正有效的只有随机性和长度。另一个常见的弱入口是WPS功能。WPS的PIN码只有8位数字而且校验机制存在设计缺陷可以分前后4位分别验证实际组合数大幅缩水。攻击者用针对PIN的专用攻击方式在开启WPS的路由器上常常很快就能得手这比硬碰WPA2密码轻松得多。所以无论你密码设得多强只要开着WPS就相当于给后门留了把钥匙。注意关闭路由器的WPS功能强烈建议作为无线安全配置的第一顺位来做优先级甚至高于改个复杂密码。6. 测试完自己的网络之后真正该做的防护动作6.1 路由器端的加固核对清单把时间花在了解攻击原理上的最大好处是你终于知道防守该从哪里下手了。拿我自己给家里网络做完一轮测试后的加固清单举个例子你可以照着核对一遍WiFi密码改成12位以上的随机混合字符且和初始密码完全不同加密方式优先选WPA3如果旧设备不兼容选WPA2/WPA3混合模式过渡关闭WPS功能关闭路由器远程管理管理页面只允许内网访问登录管理后台的密码也别再用admin/admin这种默认组合路由器固件有更新就及时升级很多已知漏洞是固件层面修复的。这六条做完你的无线网络安全性已经超过了绝大多数家庭用户也超过了相当一部分小企业办公室。6.2 隐藏SSID和MAC过滤的真面目很多人觉得把WiFi名称隐藏起来别人就搜不到了这其实是个误会。隐藏SSID只是让路由器不再在信标帧里广播自己的名称但客户端要连接时仍会发出包含SSID的探测请求。附近的人只要用抓包工具扫描一下就能轻松看到你隐藏的网络名称。这个功能的主要作用是让网络列表显得干净而不是提供真正的安全。MAC地址过滤同理。把允许连接的设备MAC地址加进白名单听着很安全但MAC地址在无线空口里是明文传输的攻击者用监听模式就能截获合法设备的MAC地址然后把自己的网卡MAC改成同一个值轻轻松松绕过白名单。真要说这两个功能有什么价值也只是提升了攻击门槛绝不构成安全边界。真正的边界还是认证机制和密码强度。6.3 下一步从无线安全延伸到更完整的学习路径既然你已经对Kali产生了兴趣我建议别把精力全耗在“破解WiFi”这一件事上。无线安全只是整个安全测试领域的一个分支。顺着热搜词里“kali搭建dvwa靶场docker”这条往下走你会发现Web安全测试是更广阔也更有意思的方向。DVWA是一个故意存在漏洞的靶场应用用Docker一条命令就能拉起来在本地练手完全合法能学到SQL注入、XSS、文件上传等经典漏洞的原理。这类实操经验和憋着劲儿想搞别人WiFi比起来含金量根本不在一个量级。再往后可以学Burp Suite配合靶场做流量分析学Linux网络命名空间和iptables理解系统层面怎么控制流量学Python写点自动化脚本解放双手。这些方向串起来之后你回头看无线安全测试才发现它只是整张地图上的一个点。我自己一路从虚拟机里瞎折腾到现在最大的教训是工具用得再熟练也不如把协议和原理吃透。你以为买了块好网卡、装了Kali就能轻松搞定一切实际跑过一遍就会发现最耗时间的根本不是工具而是搞懂每一个环节为什么这么做。把这篇文章里的链路在你自己家和自己的设备上完整走一遍把防护做到位你就会明白所谓“轻松破解”从来都不轻松。真正轻松的是在被攻击之前你已经把该堵的口子都堵上了。
返回列表