因此,我一直在研究 WPA 和 4 次握手机制,试图集思广益创建具有 WPA 加密的假 AP 的可能性,airbase-ng 似乎缺少一个选项。到目前为止,这是我的想法:我创建了一个带有 WPA-PSK 加密标志的假 AP,并将其 ESSID 设置为目标 AP 的 ESSID。通过取消对连接到目标 AP 的客户端的身份验证,正常的反应是在 WiFi 列表中搜索他们的 AP。他们会尝试使用我要检索的密码连接到假 AP。
根据此 Wikipedia 演示的 4 次握手:https ://en.wikipedia.org/wiki/IEEE_802.11i-2004#Protocol_operation 在 AP 和站点(客户端)之间永远不会动态共享 PTK;相反,比较 MIC。在数据包 2/4 中,站发送其 SNonce 用 MIC 签名。收到此数据包后,假 AP 将跳过构建 PTK 并仅发送带有随机分配的 GTK 和 MIC 的数据包 3/4(我不确定此 MIC 是否经过客户端验证)。
所以我的问题是:客户端是否从握手的第三个数据包中验证 MIC?如果没有,这是否意味着客户端已成功通过身份验证并连接到 AP?
进一步思考:在没有 AP 端 PTK 的情况下,我是否可以将原始未加密数据包发送到客户端以进行 DNS 欺骗?在客户端不接受原始数据包的情况下,Hole196 漏洞(记录在此:http ://www.airtightnetworks.com/WPA2-Hole196 )是否可以用于 DNS 欺骗,因为 GTK 是已知的假AP?
我希望你能理解我的问题;如果您需要任何进一步的澄清,我很乐意回复。