我们知道WPA/WPA2-PSK对每个客户端使用一个PTK (成对瞬态密钥)来加密通信。这个PTK是通过4路握手的过程产生的.正如维基百科相关网页中所说的:
PTK是通过连接以下属性来生成的: PMK、AP nonce (ANonce)、STA nonce (SNonce)、AP地址和STA MAC地址。然后,将产品放入加密哈希函数。
因此,如果攻击者有能力设置一个流氓AP (接入点),并使某些客户端自动地与his的流氓AP (特别是移动客户端)连接,那么他是否可以通过引入一些特殊生成的输入(例如ANonce、AP MAC -the变量,他可以控制这些输入)来加速破解PSK的计算?
我们可以假设他有机会这样做一些合理的时间,例如10,所以他将获得这个数字的4路握手,他使用一些特别选择的输入(类似于选择的明文攻击)。我想知道,在设计中是否有一些组件,可以防止他通过使用流氓AP而不是简单地捕捉4路握手而获得一些速度优势?
发布于 2011-10-31 17:00:18
IEEE 802.11-2007的8.5.1.2节定义了PTK的关键派生,图8-20 (PDF文件中的第247页,第198页):
PRF-X(PMK,“成对键扩展”,Min(AA,SPA) \X(AA,SPA) x(AA,SPA)\X(ANonce,SNonce)双键扩展(ANonce,SNonce))
AA和SPA是通信伙伴的地址,ANonce和SNonce是它们发送的地址。
X是所需的位数,根据使用情况,X在这里要么是384,要么是512。
在前一节8.5.1.1中,定义了伪随机函数( PRF ),并对其进行了有效的定义。
PRF-X(K, A, B) = HMAC-SHA-1(K, A || 0 || B || 1) ||
HMAC-SHA-1(K, A || 0 || B || 2) ||
...(需要尽可能多的重复来填充所需的位数,丢弃剩下的位。)
因此,有效的问题是:一个攻击HMAC-SHA-1的方式可以是,知道一些输入,选择输入的其他部分,但不知道键,可以(a)导出部分输出,或者(b)获取密钥?
据所知,HMAC结构和沙-1散列函数在这方面都没有弱点。
因此,目前已知的唯一打破这种情况的方法是强行使用PSK (或其派生的密码),它只需要多听一次握手,但需要大量的计算才能找到密钥。
没有实际的机会打破256位的密钥,但人们可能会找到一个密码,它是从它得到相当容易。所以使用一个好的密码。
发布于 2011-10-28 14:15:29
如果用户以前连接过,他们的客户端应该抱怨AP的MAC地址已经改变,并警告用户连接。在windows下,它将强制将"2“附加到ap名称中。这将减少成功的可能性。但是,如果MAC地址相同,客户端将无法知道AP是否为胭脂。这意味着您可以有一个硬编码的ANonce值,这将减少必须搜索的键空间。如果你在哪里蛮力的偏置,一次握手会减少排列的数量,以大小的SNonce。
发布于 2017-03-10 14:39:42
虽然很困难,但从理论上讲,通过流氓AP获得WPA2密码是可能的。
一个人会创建一个带有不同MAC的AP,这样你就不会沾沾自喜,而是同一个ESSID。
在此AP上运行的web服务器结合一些iptables规则将将所有http流量重新路由到本地服务的网页,该页面允许用户输入他们的密码。
由于路由器的供应商和模型通常可以使用网络嗅探器(如wireshark )找到,因此可以创建一个相当有说服力的“固件更新”页面。
该网页可以将密码发布到mysql数据库。
只剩下一件事,那就是与他自己的AP同名,去连接一个奇怪的开放AP。使用另一个无线接口,可以对连接到原始AP的所有客户端使用deauth攻击。
客户将感到沮丧,并希望他们的互联网回来,这可能导致他们检查可用的网络,并看到流氓的一个。
它们有很多变数:
但这并非不可能。
https://security.stackexchange.com/questions/8452
复制相似问题