|
QQ截圖20160526102506.png (79.94 KB, 下載次數(shù): 2)
下載附件
保存到相冊(cè)
2016-5-26 10:24 上傳
首先大家要明白一種數(shù)學(xué)運(yùn)算,它叫做哈希算法(hash)。哈希算法將任意長度的二進(jìn)制值映射為較短的固定長度的二進(jìn)制值,這個(gè)小的二進(jìn)制值稱為哈希值。哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式。如果散列一段明文而且哪怕只更改該段落的一個(gè)字母,隨后的哈希都將產(chǎn)生不同的值。要找到散列為同一個(gè)值的兩個(gè)不同的輸入,在計(jì)算上是不可能的,所以數(shù)據(jù)的哈希值可以檢驗(yàn)數(shù)據(jù)的完整性。一般用于快速查找和加密算法。
QQ截圖20160526102517.png (168.76 KB, 下載次數(shù): 2)
下載附件
保存到相冊(cè)
2016-5-26 10:24 上傳
這是一種不可逆運(yùn)算,你不能通過運(yùn)算結(jié)果來求解出原來的未知數(shù)是多少,有時(shí)我們還需要不同的未知數(shù)通過該算法計(jì)算后得到的結(jié)果不能相同,即你不太可能找到兩個(gè)不同的值通過哈希得到同一個(gè)結(jié)果。哈希是一類算法的統(tǒng)稱,通常哈希算法都是公開的,比如MD5,SHA-1等等。; 我們平時(shí)說的WPA密碼其實(shí)叫PSK(pre-shared key),長度一般是8-63字節(jié),它加上SSID通過一定的算法可以得到PMK(pairwise master key)。PMK=SHA-1(ssid,psk) ,PMK的長度是定長的,都是64字節(jié)。由于計(jì)算PMK的過程開銷比較大,是我們破解花費(fèi)時(shí)間長的關(guān)鍵,所以采用以空間換時(shí)間的原則把PMK事先生成好,這個(gè)事先生成好的表就是常說的HASH表(生成PMK的算法是一種哈希),這個(gè)工作就是用airlib-ng這個(gè)工具來完成的,我們的快速破解就是這么來的。
認(rèn)證的時(shí)候會(huì)生成一個(gè)PTK(pairwise temporary),這是一組密鑰,具體細(xì)節(jié)不詳細(xì)說了,它的生成方法也是采用的哈希,參數(shù)是連接的客戶端MAC地址、AP的BSSID、A-NONCE、S-NONCE、PMK,其中A-NONCE和S-NONCE是兩個(gè)隨機(jī)數(shù),確保每次連接都會(huì)生成不同的PTK。PTK的計(jì)算消耗很小。PTK加上報(bào)文數(shù)據(jù)采用一定的算法(AES或TKIP),得到密文,同時(shí)會(huì)得到一個(gè)簽名,叫做MIC(message integrality check),tkip之所以被破解和這個(gè)mic有很大關(guān)系。四次握手包中含有以上的哪些東西呢?客戶端的MAC地址,AP的BSSID,A-NONCE,S-NONE,MIC,最關(guān)鍵的PMK和PTK是不包含在握手包里的!
認(rèn)證的原理是在獲得以上的所有參數(shù)后,客戶端算出一個(gè)MIC,把原文連同MIC一起發(fā)給AP,AP采用相同的參數(shù)與算法計(jì)算出MIC,并與客戶端發(fā)過來的比較,如果一致,則認(rèn)證通過,否則失敗。目前的破解方法是我們獲得握手包后,用我們字典中的PSK+ssid先生成PMK(如果有HASH表則略過),然后結(jié)合握手包中的(客戶端MAC,AP的BSSID,A-NONCE,S-NONCE)計(jì)算PTK,再加上原始的報(bào)文數(shù)據(jù)算出MIC并與AP發(fā)送的MIC比較,如果一致,那么該P(yáng)SK就是密鑰。
目前最耗時(shí)的就是算PMK,可謂破解的瓶頸。即使搞定了運(yùn)算量的問題,海量的密鑰存儲(chǔ)也是個(gè)問題(PMK都是64字節(jié)長度)! 最近出來的tkiptun-ng只是可以解開使用tkip加密了的數(shù)據(jù)包,并不是說能夠快速算出PMK或PSK。如果感興趣,可以到書店看看講哈希的書,說不定你把這些HASH算法都破解出來了。
QQ截圖20160526102523.png (124.05 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
2016-5-26 10:24 上傳
wpa_supplicant套件中有個(gè)小工具,叫做wpa_passphrase,它和airolib-ng的作用差不多,都是用來生成PMK,在backtrack中應(yīng)該自帶這個(gè)工具。比如有個(gè)ssid為TP-LINK,PSK是12345678,那么生成PMK的方法就是wpa_passphrase TP-LINK 12345678,結(jié)果應(yīng)該是這樣:
network={ ssid="TP-LINK"
#psk="12345678"
psk=1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da 其實(shí)就是PMK了,一般在電腦上運(yùn)行查看無線密碼的軟件就是得到這個(gè),把后面的直接輸入到無線客戶端中就可以連上該ssid,相當(dāng)于輸入了12345678,生成PMK的過程是不可逆的,即無法通過這段代碼來逆推得到12345678??梢钥吹酵瑯邮莗sk是12345678,如果ssid名字改變,那么pmk就會(huì)發(fā)生改變,這就是為什么用airolib-ng建表是只能按ssid生成。
|
上一篇: 那年青春正好網(wǎng)盤高清全集資源下一篇: 沒有WIFI怎么辦?5大妙招教你搞定!
|