目前最耗時的就是算PMK,可謂破解的瓶頸。即使搞定了運算量的問題,海量的密鑰存儲也是個問題(PMK都是64字節長度)!
最近出來的tkiptun-ng只是可以解開使用tkip加密了的數據包,並不是說能夠快速算出PMK或PSK。如果感興趣,可以到書店看看講哈希的書,說不定妳把這些HASH算法都破解出來了。
wpa_supplicant套件中有個小工具,叫做wpa_passphrase,它和airolib-ng的作用差不多,都是用來生成PMK,在backtrack中應該自帶這個工具。比如有個ssid為TP-LINK,PSK是12345678,那麽生成PMK的方法就是wpa_passphrase TP-LINK 12345678,結果應該是這樣:
network={ ssid="TP-LINK"
#psk="12345678"
psk=1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da
psk=1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da其實就是PMK了,壹般在電腦上運行查看無線密碼的軟件就是得到這個,把1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da直接輸入到無線客戶端中就可以連上該ssid,相當於輸入了12345678,生成PMK的過程是不可逆的,即無法通過1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da來逆推得到12345678。可以看到同樣是psk是12345678,如果ssid名字改變,那麽pmk就會發生改變,這就是為什麽用airolib-ng建表是只能按ssid生成。