Kali实战:利用Fluxion打造钓鱼热点获取WI-FI密码
1. 环境准备双网卡与Kali系统大家好我是老K一个在安全圈里摸爬滚打了十来年的老家伙。今天咱们不聊那些虚头巴脑的理论直接上手干点“实在”的。很多朋友可能都听说过或者自己尝试过用Kali Linux里的工具来研究无线网络的安全性但往往卡在第一步环境配置。今天我要分享的就是如何用Fluxion这个“钓鱼”神器通过创建一个伪装热点来验证WI-FI密码的强度。注意所有操作请在你自己拥有完全控制权的网络和设备上进行用于学习和提升自身网络防护意识。首先你得有个Kali Linux。我个人的经验是别在虚拟机上折腾无线攻击尤其是用笔记本自带的无线网卡。我踩过这个坑。早年我也图方便在VMware里装Kali结果死活加载不了笔记本内置的Intel无线网卡驱动。网上教程试了一圈什么加载服务、改配置最后发现是虚拟机对某些特定型号的无线网卡支持就是不行。所以我后来干脆把Kali装到了一个移动硬盘里通过USB 3.0接口启动。这么做的好处是系统运行飞快跟装在本机硬盘上几乎没区别而且所有硬件驱动都是原生支持的无线网卡想怎么用就怎么用。缺点嘛就是你得牺牲一个移动硬盘并且测试时需要额外的客户端设备比如手机、平板不如虚拟机开几个系统镜像那么灵活。最关键的一环你需要两块无线网卡。这是Fluxion这类“邪恶双胞胎”攻击的物理基础。一块网卡我们叫它“攻击卡”负责持续干扰目标无线网络让连接在上面的设备掉线另一块网卡“钓鱼卡”则负责建立一个和原网络名字ESSID一模一样的、但没有密码的开放热点。为什么必须两块我试过只用一块结果就是只能建热点没法同时发起攻击。对于客户端设备来说原来的网络好好的它凭什么去连你这个没密码的“山寨货”呢所以双卡是成功的前提。我的配置是笔记本自带的Intel® Dual Band Wireless-AC 3165作为钓鱼卡外加一个老旧的TP-Link TL-WN722N芯片是Atheros AR9271兼容性很好作为攻击卡。市面上很多便宜的USB网卡比如RTL8812AU芯片的也支持监听模式是性价比之选。工具方面我们今天的主角是Fluxion。它不是一个独立的工具而是一个自动化攻击框架把aircrack-ng套件、hostapd、dnsmasq等一堆工具集成起来用图形化菜单引导你一步步操作大大降低了上手门槛。你可以把它理解为一个“向导脚本”帮你省去了记忆大量命令和参数的麻烦。接下来我们就从零开始把它跑起来。2. 安装与配置Fluxion万事开头难先把工具准备好。打开你的Kali Linux终端我们开始干活。第一步获取Fluxion的源码。因为它更新比较活跃直接从GitHub克隆是最好的方式。打开终端输入git clone https://github.com/FluxionNetwork/fluxion.git敲下回车如果网络通畅一会儿就能把项目下载到当前目录下。完成后你会看到一个名为fluxion的文件夹。第二步进入这个文件夹并运行安装脚本。这是很多新手会忽略的关键步骤。cd fluxion ./fluxion.sh如果你是第一次运行大概率会看到满屏的- MISSING提示告诉你缺少这个依赖、那个组件。别慌这很正常。Fluxion会在启动时自检。看到这些错误信息后按CtrlC退出程序。然后运行安装命令./fluxion -i这个-i参数代表“安装”。脚本会自动帮你安装和配置所需的全部依赖比如aircrack-ng,lighttpd,php-cgi,hostapd,dnsmasq等等。这个过程需要联网并且可能会花点时间泡杯茶等着就好。如果中途因为网络问题报错退出再重新运行一次./fluxion -i通常就能解决。依赖装好后我们还需要确保两块无线网卡都进入了“监听模式”。监听模式是无线网卡的一种特殊状态允许它捕获所有经过的无线数据包而不仅仅是发给自己的。这是后续扫描和攻击的基础。在终端里输入ifconfig或ip a找到你的两块无线网卡接口名。通常内置网卡可能是wlan0USB外接网卡是wlan1。记住它们。然后用airmon-ng工具开启监听模式。注意在开启前最好先停止可能干扰的进程sudo airmon-ng check kill这个命令会干掉NetworkManager、wpa_supplicant等可能占用网卡的服务。接着分别开启两块网卡的监听模式sudo airmon-ng start wlan0 sudo airmon-ng start wlan1成功开启后接口名通常会变成wlan0mon和wlan1mon。再用ifconfig确认一下能看到这些以mon结尾的接口就对了。至此我们的“武器”就全部准备就绪了。两块网卡如同猎人的双筒望远镜和猎枪一个负责观察环境一个负责精准出击。3. 扫描目标与捕获握手包环境搞定我们正式进入“狩猎”阶段。首先需要找到我们的目标——那个我们想要测试其密码安全性的无线网络AP。在终端里确保你在fluxion目录下然后运行主程序sudo ./fluxion.sh第一次运行它会让你选择语言。往下翻找到中文Chinese输入对应的数字比如17回车。这里我多说一句Fluxion的汉化有些地方是机翻有点生硬比如把“Evil Twin”翻译成“邪恶的双胞胎接入点”第一次看确实有点唬人理解意思就行。进入主菜单后你会看到两个主要选项邪恶的双胞胎接入点建立钓鱼热点检索WPA/WPA2扫描目标并抓包我们现在还没有目标AP的任何信息所以得先选第2项去扫描和抓取关键的“握手包”。什么是握手包简单来说当一个新的设备比如手机尝试连接一个WPA/WPA2加密的WI-FI时双方会进行四次“握手”来验证密码。我们如果能捕获到这个握手过程的数据包就相当于拿到了一个用目标密码加密过的“锁头”。Fluxion后续的钓鱼过程本质上就是在本地用用户输入的密码尝试打开这个“锁头”。选择2之后Fluxion会列出你所有处于监听模式的无线接口。让你选择一块网卡用于扫描。这里我们选择攻击卡比如wlan1mon来扫描把钓鱼卡留到后面用。输入对应序号回车。接下来选择扫描信道。如果你知道目标WI-FI工作在哪个信道比如你家路由器的信道可以直接选择“指定信道”并输入信道号这样扫描更快更精准。如果不知道就选“扫描所有信道”。我通常习惯先用airodump-ng wlan1mon快速扫一下记下目标的信道CH和BSSIDMAC地址这样在Fluxion里操作更有目的性。确定信道后Fluxion会弹出一个新的终端窗口运行airodump-ng开始扫描。屏幕上会像瀑布一样刷出附近所有的无线网络信息包括它们的BSSID路由器MAC、信号强度PWR、信道CH、加密方式ENC和最重要的——网络名称ESSID。找到你的目标网络比如我测试用的Home-WIFI等它出现在列表里后在这个扫描窗口按CtrlC停止扫描。主程序窗口会列出刚才扫描到的所有网络。找到你的目标输入它前面的序号。Fluxion会把它设为攻击目标。接着它会问你是否需要单独用一个窗口持续监控这个目标AP。这一步不是必须的我们资源有限直接选择跳过。重头戏来了选择攻击方式抓握手包。Fluxion提供了几种方式监听模式守株待兔被动等待有设备连接到目标网络时抓包。效率低不推荐。侵略性攻击主动出击向已连接到目标网络的设备发送“取消认证”数据包把它踢下线。设备会自动尝试重连我们就能在重连过程中抓取握手包。强烈推荐这个。我实测下来侵略性攻击的成功率要高得多。选择后Fluxion会让你选一个攻击工具aireplay-ng是经典选择。之后是关于哈希验证方式和检查间隔的选项我用默认的Pyrit验证和60秒检查间隔比较稳定。然后Fluxion会自动为你打开三个工作窗口监控窗口持续显示目标AP和连接的客户端。验证窗口定时检查是否成功捕获到握手包。攻击窗口持续向目标客户端发送取消认证包。这时候你需要做的就是等待。拿着你的手机或平板正常使用目标WI-FI。攻击窗口会不断“骚扰”你的设备导致网络时断时续。一旦设备尝试重新连接监控窗口就有机会抓到握手包。当握手包被抓到时验证窗口会提示成功然后前两个窗口会自动关闭。这时在主程序窗口按提示继续我们就拿到了进入下一阶段的“钥匙”。4. 构建“邪恶双胞胎”钓鱼热点握手包到手好戏才刚开场。现在我们要搭建那个“李鬼”热点。回到Fluxion的主流程它会提示你开始创建“邪恶双胞胎”接入点。选择继续。接下来是关键的网络接口分配选择干扰/攻击接口这块网卡要继续负责发送取消认证包让客户端无法稳定连接原网络。选择我们之前用作扫描和攻击的那块网卡例如wlan1mon。选择创建热点接口这块网卡将用来创建伪装的热点。务必选择另一块网卡例如wlan0mon。如果两块选成一样的工具会报错因为一块网卡无法同时干两件事。分配好网卡后Fluxion会继续询问攻击工具和创建热点的工具沿用之前的默认选择即可。它会自动识别我们刚才抓到的握手包文件。之后会提示创建SSL证书用于那个假冒的认证门户选择创建。最有趣的一步来了选择钓鱼门户页面。Fluxion内置了数十种不同路由器品牌和通用样式的认证页面模板。有英文的也有中文的。为了更具迷惑性我通常会选择一个中文的通用模板比如模板列表里的“中文通用”或某个国内常见路由器品牌界面。这个页面会模仿网络出现问题要求用户重新输入密码进行“修复”或“认证”。一切就绪Fluxion会一口气弹出5到6个终端窗口各自负责不同的任务窗口A运行hostapd创建了一个与目标WI-FI同名的、开放的无线热点。窗口B运行dnsmasq为连接上钓鱼热点的客户端分配IP地址并处理DNS查询将所有请求导向我们的钓鱼服务器。窗口C运行一个轻量级Web服务器如lighttpd托管我们刚才选择的那个假冒认证页面。窗口D监控是否有设备连接到了我们的钓鱼热点。窗口E继续运行取消认证攻击保持对原网络的干扰。窗口F日志窗口显示认证尝试等信息。看到这一堆窗口别慌这正是Fluxion自动化强大的体现它把底层复杂的命令和交互都封装好了。此时用你的手机打开WI-FI设置你会看到一个和你家WI-FI名字一模一样、但没有锁图标无需密码的网络。而原来的那个真网络因为被持续攻击信号可能时有时无或者连接上几秒就断。5. 钓鱼过程与密码获取当用户或者你自己用测试手机被原网络频繁掉线搞得不胜其烦时很可能就会注意到这个同名的开放网络。很多人会下意识地尝试连接。一旦连接上我们的钓鱼热点神奇的事情就发生了。手机会自动获取到我们钓鱼网络分配的IP地址。然后无论用户打开任何网页浏览器尝试访问任何网站比如www.baidu.com都会被我们的dnsmasq服务重定向到本地搭建的钓鱼门户页面上。页面上通常会显示非常“官方”的提示比如“网络需要重新认证”、“检测到安全风险请输入密码修复”等等界面做得跟真的路由器管理页面或公共热点认证页很像。我实测时用的是一台备用iPhone。当它连上钓鱼热点后Safari浏览器自动弹出了认证页面页面样式看起来就像运营商的热点 portal上面写着“请输入WI-FI密码以保障网络安全”。绝大多数非专业用户甚至一部分IT从业者在紧张的工作或娱乐中都很难立刻意识到这是一个陷阱。他们会习惯性地输入密码并点击“连接”或“修复”。用户输入的密码会通过表单提交到我们本地的钓鱼服务器。Fluxion的核心魔法就在这里它不会把密码明文发送到任何地方而是在本地立即用这个密码去尝试解密我们第一步捕获的那个握手包哈希值。这个过程是离线的、即时的。如果密码错误钓鱼页面会显示“密码错误请重试”。用户可能会怀疑自己记错了密码从而再次输入。这给了我们多次尝试的机会。如果密码正确Fluxion的验证脚本会成功匹配哈希值。一旦匹配成功所有钓鱼相关的进程会立即停止。攻击窗口停止发送干扰包钓鱼热点自动关闭那个假冒的认证页面也会消失。对于用户设备而言就好像“修复”成功了一样——原WI-FI突然就能稳定连接上了而我们的Fluxion主窗口会弹出一个大大的成功提示并告诉你密码已保存同时显示保存密码的文件路径。你只需要在终端里用cat命令查看那个文件正确的WI-FI密码就赫然在目了。整个攻击过程从扫描到获取密码如果目标网络有活跃客户端可能只需要几分钟。它的优势在于避免了传统暴力破解“跑字典”那漫长且不确定的等待利用的是人的心理和行为习惯。但缺点也很明显需要物理距离足够近信号强度够、需要目标网络有活跃客户端、并且需要客户端用户“配合”输入密码。这更像是一次针对性的安全测试而不是无差别的攻击工具。6. 实战经验与避坑指南搞技术不能光看成功的案例踩坑的经历往往更有价值。下面我结合自己多次实战的经验总结几个关键点和常见问题。关于网卡的选择与兼容性这是最大的坑。不是所有无线网卡都支持监听模式和数据包注入发送取消认证包。市面上很多USB网卡为了降低成本使用了驱动不完善的芯片。我强烈推荐以下几款经过社区反复验证、对Kali兼容性极佳的型号Alfa AWUS036ACH双频性能强悍、TP-Link TL-WN722N v1注意是v1版芯片是Atheros AR9271v2/v3版不行、以及采用RTL8812AU芯片的各类网卡。购买前一定要查清芯片型号和Kali下的驱动支持情况。信号强度至关重要你的攻击卡需要能稳定地收到目标AP的信号同时你的钓鱼卡发出的热点信号也要能被目标客户端较好地接收到。如果距离太远或障碍物太多攻击可能无法持续客户端收不到干扰包或者客户端根本搜不到你的钓鱼热点。理想情况是在同一房间或相邻房间进行。处理“双热点同现”问题在测试中我发现不同的客户端设备行为不同。有些安卓手机会同时显示两个同名WI-FI一个有锁一个无锁这其实增加了钓鱼的成功率因为用户会好奇地去连那个没密码的。而有些iOS设备在连接到钓鱼热点后可能会“隐藏”原来的真热点。这没关系只要我们的攻击持续真热点就是不可用的状态。道德与法律的边界必须牢记我反复强调这一切操作只能在你拥有完全授权和所有权的网络与设备上进行。例如测试你自己家的网络或者在公司获得书面授权后对内部网络进行安全审计。未经授权对他人的网络进行此类测试在任何国家和地区都是明确的违法行为。技术是一把双刃剑学习它是为了更好地防御而不是为了侵犯他人。Fluxion的局限性它主要针对WPA/WPA2个人版PSK加密的网络。对于使用WPA3、企业级认证802.1X的网络这种方法无效。此外如果目标网络没有活跃客户端比如深夜没人用网你就无法触发取消认证攻击也就抓不到握手包整个流程无法启动。最后完成测试后别忘了清理现场。关闭Fluxion的所有窗口并停止网卡的监听模式让网卡回归正常状态sudo airmon-ng stop wlan0mon sudo airmon-ng stop wlan1mon sudo systemctl start NetworkManager # 重启网络管理服务安全研究的路很长Fluxion只是一个让我们理解无线网络安全中“社会工程学”与“技术攻击”如何结合的入门工具。真正的安全在于意识到风险的存在并采取诸如使用强密码、启用WPA3、关闭WPS、定期检查连接设备等基础但有效的措施。希望这篇超详细的实战指南能帮你不仅知其然更能知其所以然在安全的道路上走得更稳。