如何使用CCM在Python中计算WPA MIC

时间:2017-05-08 19:26:17

标签: python cryptography passwords wifi wpa

我试图在过去一周左右的时候在python中创建一个4向握手破解脚本(比如coWPatty或Aircrack)。

我有一个用于计算PMK(成对主密钥)的工作PBKDF2功能和用于计算PTK(成对瞬态密钥)的工作PRF512功能。我现在需要计算MIC并将其与我在WireShark中捕获的MIC进行比较,但我在网上找到的用于计算MIC的所有功能仅适用于TKIP,而我需要CCMP(我的路由器使用WPA2)与CCMP)。我后来发现CCMP MIC是使用一种称为CCM(具有CBC-MAC的计数器模式)的东西来计算的。我找到了一个名为PyCrypto的模块,它有CCM,但我不知道如何使用它。 这就是我到目前为止所做的:

def get_mic(key, iv, data):
    k = AES.new(key, AES.MODE_CBC, iv)
    return k.encrypt(data)

据我所知,密钥必须是PTK的前16个字节,数据必须是捕获的分组数据,MIC参数替换为16 *" \ x00"。我也不知道iv必须是什么。

提前致谢!

0 个答案:

没有答案