WEP加密的無(wú)線(xiàn)網(wǎng)絡(luò)相關(guān)知識(shí)點(diǎn)——關(guān)于WEP、RC4伴找、CRC32及具體實(shí)現(xiàn)

WEP & MAC

目錄

  1. 安裝libpcap
  2. 安裝aircrak-ng
  3. 安裝wireshark
  4. 802.11管理幀格式
  5. WEP加密原理
  6. WEP中RC4加密算法
  7. WEP中CRC32校驗(yàn)
  8. 抓取包并分析

運(yùn)行環(huán)境

操作系統(tǒng):Ubuntu 16.04 64

無(wú)線(xiàn)網(wǎng)卡:Netgear NETGEAR wg111 v2 RTL8187


1.安裝libpcap

libpcap是unix/linux平臺(tái)下的網(wǎng)絡(luò)數(shù)據(jù)包捕獲函數(shù)包,大多數(shù)網(wǎng)絡(luò)監(jiān)控軟件都以它為基礎(chǔ)废菱。Windows平臺(tái)對(duì)應(yīng)的為winpcap

安裝libpcap后技矮,我們可以自己寫(xiě)一個(gè)網(wǎng)絡(luò)嗅探器。

<<libpcap使用>> CSDN BLOG
[更詳細(xì)的介紹及C語(yǔ)言例程]

    $ wget http://www.tcpdump.org/release/libpcap-1.8.1.tar.gz
    $ tar xzvf libpcap-1.8.1.tar.gz
    $ cd libpcap-1.8.1
    $ ./configure
    $ make
    $ sudo make install

# 如果執(zhí)行 ./configure 報(bào)錯(cuò):
# configure: error: Neither flex nor lex was found.
# configure: error: yacc is insufficient to compile libpcap.
# 執(zhí)行 $ sudo apt-get install flex bison 繼續(xù)操作 

2.安裝aircrack-ng

aircrack-ng是一套完整的跨平臺(tái)WiFI網(wǎng)絡(luò)安全評(píng)估工具殊轴,能夠進(jìn)行
監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)包衰倦、網(wǎng)絡(luò)攻擊、
測(cè)試和破解WEP與WPA-PSK加密等旁理。

套件中包含:

  • airodump-ng 用于捕獲破解WEP密鑰的802.11幀
  • aircrack-ng 用于破解基于802.11協(xié)議的WEP以及WPA-PSK密鑰
  • aireplay-ng 用于強(qiáng)行向目標(biāo)AP發(fā)送數(shù)據(jù)包
  • airmon-ng 用于為整個(gè)套件配置一個(gè)網(wǎng)卡樊零,開(kāi)啟無(wú)線(xiàn)網(wǎng)卡的monitor mode
  • airbase-ng 用于建立Soft AP

我們需要使用其中的airmon-ng、airbase-ng兩個(gè)工具

如何使用 Airbase-ng

    $ sudo apt-get install aircrack-ng

3.安裝wireshark

Wireshark(前稱(chēng)Ethereal)是一款跨平臺(tái)的網(wǎng)絡(luò)封包分析軟件孽文。網(wǎng)絡(luò)
封包分析軟件的功能是抓取網(wǎng)絡(luò)封包驻襟,并盡可能顯示出最為詳細(xì)的網(wǎng)絡(luò)
封包資料。在分析802.11無(wú)線(xiàn)數(shù)據(jù)格式及編寫(xiě)相關(guān)程序時(shí)需要利用到
wireshark軟件

    $ sudo apt-get install wireshark

#在使用wireshark抓包時(shí)建議使用 sudo wireshark

4. 802.11管理幀格式

推薦書(shū)目

  • 《深入理解Android:Wi-Fi芋哭、NFC和GPS卷》(鄧凡平,機(jī)械工業(yè)出版社)

    管理幀格式部分教程
  • 《802.11無(wú)線(xiàn)網(wǎng)絡(luò)權(quán)威指南(第二版)》(Matthew S.Gast,O’Reilly)

5. WEP加密原理

《How 802.11 Wireless Works》
[一篇非常詳細(xì)地解釋了802.11無(wú)線(xiàn)網(wǎng)絡(luò)工作原理的文章沉衣,涉及到WEP的加密解密介紹]

基礎(chǔ)的密碼學(xué)

    一串隨機(jī)的文本[RandomText] xor 等長(zhǎng)的明文[PlainText] ==> 密文[CipherText]
    同一串隨機(jī)的文本[RandomText] xor 密文[CipherText] ==> 明文[PlainText]

    eg:
        01100011 ^ 01010101 = 00110110
        01100011 ^ 00110110 = 01010101

在802.11 無(wú)線(xiàn)網(wǎng)絡(luò)中,WEP加密最重要的一點(diǎn)就是利用了該原理减牺,但是其漏洞也是因?yàn)镽andomText的生成
并不能保證一直不重復(fù)豌习,并且采用的是偽隨機(jī)方式生成存谎。

5.1 WEP密碼設(shè)定:

支持WEP加密的設(shè)備通常支持多種長(zhǎng)度的密鑰,常見(jiàn)的有64bit,偽128bit,128bit甚至256bit斑鸦。

不過(guò)愕贡,本項(xiàng)目中我們采用的為airbase-ng 創(chuàng)建共享密鑰方式下(shared key mode)默認(rèn)的64位密鑰。

WepWorkImg
WepWorkImg

注意:

  • 1 當(dāng)我們?cè)诖四J较略O(shè)置密碼時(shí),比如設(shè)定密鑰為:1112223334
    則對(duì)應(yīng)的64位"WEP seed"為:

    24bit IV(初始化向量) + 0x11 + 0x12 + 0x22 + 0x33 + 0x34

    IV(24bit)+0001 0001 0001 0010 0010 0010 0011 0011 0011 0100

  • 2 WEP seed 通過(guò)RC4算法計(jì)算得出RC4 Key

    <1>. RC4 key 的產(chǎn)生過(guò)程則是WEP加密中偽隨機(jī)數(shù)產(chǎn)生器工作的過(guò)程

    <2>. 由于 IV 由AP產(chǎn)生巷屿,并且不同的廠(chǎng)家生成方式不一致,但是IV僅有24bit墩虹,在復(fù)雜并且流量大的網(wǎng)絡(luò)環(huán)境下很容易在短時(shí)間內(nèi)使用重復(fù)的
    IV進(jìn)行生成WEP seed

  • 3 Payload為要發(fā)送的數(shù)據(jù)嘱巾,Payload與Header共同經(jīng)過(guò)CRC32循環(huán)校驗(yàn)得到32bit ICV

    Payload + ICV 用RC4加密算法進(jìn)行加密處理

6. WEP中RC4加密算法

RC4(來(lái)自Rivest Cipher 4的縮寫(xiě))是一種流加密算法,密鑰長(zhǎng)度可變诫钓。它加解密使用相同的密鑰旬昭,因此也屬于對(duì)稱(chēng)加密算法。
RC4是有線(xiàn)等效加密(WEP)中采用的加密算法菌湃,也曾經(jīng)是TLS可采用的算法之一问拘。 ——wikipedia

本項(xiàng)目中采用的RC4加密算法使用的一份開(kāi)源的代碼,需要注意的是在有的平臺(tái)上面RC4代碼中的char型數(shù)據(jù)需要更改為unsigned char

7. WEP中CRC32校驗(yàn)

循環(huán)冗余校驗(yàn)(英語(yǔ):Cyclic redundancy check惧所,通稱(chēng)“CRC”)是一種根據(jù)網(wǎng)絡(luò)數(shù)據(jù)包或電腦文件等數(shù)據(jù)產(chǎn)生簡(jiǎn)短
固定位數(shù)校驗(yàn)碼的一種散列函數(shù)骤坐,主要用來(lái)檢測(cè)或校驗(yàn)數(shù)據(jù)傳輸或者保存后可能出現(xiàn)的錯(cuò)誤。生成的數(shù)字在傳輸或者存
儲(chǔ)之前計(jì)算出來(lái)并且附加到數(shù)據(jù)后面下愈,然后接收方進(jìn)行檢驗(yàn)確定數(shù)據(jù)是否發(fā)生變化纽绍。一般來(lái)說(shuō),循環(huán)冗余校驗(yàn)的值都是32位的整數(shù)势似。
——wikipedia

本項(xiàng)目中采用的CRC32校驗(yàn)程序使用的一份開(kāi)源的代碼拌夏。

注意:

  • 1 在WEP中CRC計(jì)算的是Header + 初始Payload

    eg:在WEP共享密鑰認(rèn)證方式(shared key mode)的過(guò)程中會(huì)向客戶(hù)端發(fā)送一份ChallengeText(假設(shè)為128位明文)。

           Payload (140bytes)= header (8bytes) + ChallengeText (128bytes) + ICV[CRC32] (4bytes)
    ```<br>
    此140Bytes數(shù)據(jù)將會(huì)被RC4加密算法進(jìn)行加密履因,而密鑰則是64bit WEP seed 產(chǎn)生的RC4 key障簿。<br>
    最后,該數(shù)據(jù)包將發(fā)給AP進(jìn)行驗(yàn)證栅迄。
    
    
  • 2 當(dāng)AP收到發(fā)來(lái)的數(shù)據(jù)包時(shí)站故,會(huì)將數(shù)據(jù)包中明文的IV與自己存儲(chǔ)的Key結(jié)合作為WEP seed 對(duì)140bytes 的數(shù)據(jù)進(jìn)行解密

    解密之后有 140bytes 數(shù)據(jù),僅需要對(duì)1-136bytes 的數(shù)據(jù)進(jìn)行循環(huán)校驗(yàn)霞篡,得出的校驗(yàn)值與 137-140bytes 的ICV進(jìn)行對(duì)比世蔗,若相同,則該數(shù)據(jù)包是正確的朗兵。

  • 3 正因?yàn)槿绱宋哿埽覀兛梢岳抿?yàn)證的這個(gè)過(guò)程,額外的傳遞一些信息余掖。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末寸爆,一起剝皮案震驚了整個(gè)濱河市礁鲁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赁豆,老刑警劉巖仅醇,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異魔种,居然都是意外死亡析二,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)节预,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)叶摄,“玉大人,你說(shuō)我怎么就攤上這事安拟「蛳牛” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵糠赦,是天一觀的道長(zhǎng)会傲。 經(jīng)常有香客問(wèn)我,道長(zhǎng)拙泽,這世上最難降的妖魔是什么淌山? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮奔滑,結(jié)果婚禮上艾岂,老公的妹妹穿的比我還像新娘。我一直安慰自己朋其,他們只是感情好王浴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著梅猿,像睡著了一般氓辣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上袱蚓,一...
    開(kāi)封第一講書(shū)人閱讀 51,521評(píng)論 1 304
  • 那天钞啸,我揣著相機(jī)與錄音,去河邊找鬼喇潘。 笑死体斩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的颖低。 我是一名探鬼主播絮吵,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼忱屑!你這毒婦竟也來(lái)了蹬敲?” 一聲冷哼從身側(cè)響起暇昂,我...
    開(kāi)封第一講書(shū)人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎伴嗡,沒(méi)想到半個(gè)月后急波,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瘪校,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年澄暮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片阱扬。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡赏寇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出价认,到底是詐尸還是另有隱情,我是刑警寧澤自娩,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布用踩,位于F島的核電站,受9級(jí)特大地震影響忙迁,放射性物質(zhì)發(fā)生泄漏脐彩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一姊扔、第九天 我趴在偏房一處隱蔽的房頂上張望惠奸。 院中可真熱鬧,春花似錦恰梢、人聲如沸佛南。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)嗅回。三九已至,卻和暖如春摧茴,著一層夾襖步出監(jiān)牢的瞬間绵载,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工苛白, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留娃豹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓购裙,卻偏偏與公主長(zhǎng)得像懂版,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子缓窜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容