日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

wep破解——模拟chopchop攻击

發布時間:2023/12/16 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wep破解——模拟chopchop攻击 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在本文中,主要講解了chopchop攻擊的思想,用一道題目來感受chopchop攻擊,該題目不是在于破解實際場景中的wep,而是感受chop的思想,畢竟現在攻擊wep的網上腳本比比皆是,比較著名的就是Aircrack-ng無線破解工具套件。

WEP(Wired EquiValent PriVacy),有線等效加密。其破解為利用加密體制缺陷,通過收集足夠的數據包,使用分析密算法還原出密碼。
協議要求首先為明文計算一段checksum,方式是循環冗余校驗CRC32
然后呢,將這個校驗值以little-endian的方式接在明文之后得到新的明文,將這段新明文用一個key通過RC4加密就得到密文數據包了
M(密文) = RC4( (data+CRC32) ,key) (實際場景中的WEP機制會復雜些,這里只做簡單闡述)
接收方用KEY解密密文,對明文再做一次RC4,算出CRC32’,與接受的CRC32比較,不同則拒絕,相同接受

破解歷程:
95 9 月RC4 潛在的威脅性(wanger)
00 10 月通過分析wpe包獲取密碼(walker)
01 5 月針對于明文攻擊的一個推論(Arbaugh)
01 7 月針對于CRC32的攻擊
01 8 月針對于RC4的攻擊
01 8 月airosnort發布
02 2 月改進的攻擊算法(h1kari)
04 8 月chopchop攻擊出現
04 7/8 月aircrack出現(Devine,Sanchez )

題目:
給你一個加密后的數據包和可接受數據的接入點 要求還原出明文,為了簡便,這里的加密用簡單的異或實現

def CRC32(s): # 計算 crc32crc = 0for i in range(len(s)):crc = crc_tbl[(crc ^ ord(s[i])) & 0xFF] ^ (crc >> 8)return crcdef xor(text,key): # RC4加密/解密s = ""for i in range(len(text)):s += chr(ord(key[i%len(key)])^ord(text[i]))return s

思路:參考
大致上是針對接受到的密文,分成加密后的明文(DATA)+加密后的CRC32(ICV)兩部分,對明文那個部分刪去最后一個字節,推導出一系列性質,讓我們來看看例子

Frame 1: 刪去明文的最后一個字節之后 _____ DATA ___ ____ICV ___ D0 D1 D2 D3 D4 I3 I2 I1 I0 ^ ^ ^ ^ ^ ^ ^ ^ ^ K0 K1 K2 K3 K4 K5 K6 K7 K8 = = = = = = = = = R0 R1 R2 R3 R4 R5 R6 R7 R8 2e c0 b6 69 b9 2f 65 f0 4b Where D is data, I is ICV, K is keystream and R is what you get. If we add a data byte we get Frame 2: 刪去之前 _____ DATA ______ ____ICV ___ D0 D1 D2 D3 D4 D5 J3 J2 J1 J0^ ^ ^ ^ ^ ^ ^ ^ ^ ^ K0 K1 K2 K3 K4 K5 K6 K7 K8 K9= = = = = = = = = = S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 2e c0 b6 69 b9 54 d1 58 9c 3c 根據對應關系可以得出 令 X = I3^D5 R5 = I3 ^ K5 = I3 ^ (D5^D5) ^ K5 = (I3^D5) ^ (D5^K5) = X ^ S5 R6 = I2 ^ K6 = I2 ^ (J3^J3) ^ K6 = (I2^J3) ^ S6 = SOME[6:8] ^ S6 最后一步推導放在后面 R7 = I1 ^ K7 = I1 ^ (J2^J2) ^ K7 = (I1^J2) ^ S7 = SOME[4:6] ^ S74 R8 = I0 ^ K8 = I0 ^ (J1^J1) ^ K8 = (I0^J1) ^ S8 = SOME[2:4] ^ S8 we also should know in this problem I3I2I1I0 crc_tbl[(I0I1I2I3 ^ ord(s[i])) & 0xFF] ^ (I0I1I2I3 >> 8) = J0J1J2J3 I0I1I2I3 = J1J2J300 ^ CONST J0=SOME[0:2] I0=J1^SOME[2:4] I1=J2^SOME[4:6] I2=J3^SOME[6:8] SOME = crc_tbl[((I0I1I2I3 ^ ord(D5) )& 0xFF] = crc_tbl[X] 最后 K9=S9^J0

我們發現,每次計算,我們都可以暴力設X的值(0-255),構造新的數據包,發給接入點(AP),看返回是否成功,成功則用這個新的數據做下一次運算,每次運算都可以跑出一字節的KEY,跑完所有KEY之后可以和加密的數據異或回去得到明文。
復雜度:O(字節*256)

總結

以上是生活随笔為你收集整理的wep破解——模拟chopchop攻击的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。