護網杯-old Attack題解
經過兩個星期左右的學習,深入了一番IEEE 802.11,終於把護網杯那題0解的無線流量題目做出來了,下面分析一番,稍作擴充套件。
題目:Old Attack The title is hint。:)
題目提示
提示先後給了三個:
1、Evil AKM Fuzz?
2、不規範的802.11 frame
3、malformat RSN
題目附件
分析思路
先來分析下題目的第一個提示,Evil AKM Fuzz?,AKM是啥呢?這裡我網上搜了下,Authentication and Key Management,中文譯為“認證和金鑰管理”,那按照題目提示的意思是”邪惡AKM攻擊”,sorry,這個我真不知道,抱歉啊,學藝不精,找到一個網站介紹 ofollow,noindex" target="_blank">rsn-robust-secure-network ,裡面有提到Authentication and Key Management。不過,隨著解題步驟的展開,好像發現了這個提示的意義,這個後面講。
再看看第二個提示,很明顯,提示我們可能需要著重分析資料包中不規範的802.11 frame的資料分組。
最後一個提示,malformat RSN,先介紹下RSN (Robust Secure Network) ,是通過802.11無線網路建立安全通訊的協議,這個RSN在802.11 frame的資料分組哪個地方顯示呢?翻看我的上一篇文章 一道無線流量題目引發的思考 其中的管理幀中Beacon的具體分析,裡面有個Tag: RSN Information ,然後自己去翻資料分組看看唄。
知道了這些,我們大概有這麼個思路,分析dict.pcapng,找到能夠解密huwang.cap握手包的祕鑰,這個祕鑰對於wireshark解密握手包而言,有三種格式,一種是針對wep的wep格式,另外兩種是針對WPA的wpa-pwd和wpa-psk格式。詳見下圖
關於上述三種祕鑰的填入的Key格式如下:
wep:key的格式是十六進位制ASCII碼的wifi密碼,比如此時wifi密碼為123456,那麼輸入的key應該是31:32:33:34:35。
wpa-pwd:key的格式為“密碼:BSSID”,如:路由器名稱為T35t,密碼為12345678,那麼輸入的key應該是12345678:T35t。
wpa-psk:通過wireshark提供的 轉化網址 ,只需輸入ssid和密碼就能將其轉化為PSK值,將這個psk值即是填入的key值(這個詳細操作也可以檢視我的上一篇文章 一道無線流量題目引發的思考 ,裡面也提到另外一種通過airdecap-ng工具解密的方法)。
額,這裡不妨先透露個題解的步驟,此題就是通過最後一種格式wpa-psk對huwang.cap進行解密的,而在這裡,知道psk值格式是固定的64位是其中解題的關鍵。
解題步驟
非預期解法
開啟資料包dict.pcapng,簡單分析,會發現存在大量的Beacon資料分組,都為畸形資料分組,並且SSID為大量非常見字元。
往下隨意滑動,至中部,會發現依舊為畸形資料分組,但SSID變為了長度均為64位的字串。(到這裡,可能有師傅已經明白解題的關鍵步驟了)
比賽做到這裡,卡住了,因為那時不知道如何過濾不同型別幀的語句。比賽結束後,嘗試了許久,實在沒想通接下去的思路。就試著過濾各種802.11型別幀的資料包。然後,奇蹟來了。當我試著執行過濾語句wlan.fc.type_subtype == 0x0005過濾管理幀中型別為Probe Response的資料分組時,發現了下面兩個分組,這引起了我的注意。
過濾之後,可以看到這兩個畸形幀SSID的值均為e392618fbd761a9467e64f2aaebeb0c40cfad70d1ab323dbe0741bf3fdc475a4。(正好這個時候,出題老哥接受了我的好友申請,我就把自己到這步的思路跟老哥說,老哥有點驚訝”對,就是這個,你是怎麼找到的?” “額,直接執行過濾語句wlan.fc.type_subtype == 0x0005找到的”)。
隨後我認真的分析了下這兩個資料分組,發現並不完全符合題目中兩個提示的要求,這是兩個不規範的802.11 frame,但是並不存在malformat RSN的資料呀。這裡剛開始以為提示錯了,因為按照下圖所顯示的,只是存在ssid的tag標籤Group為Malformed,後面跟著的是正常的Tag:RSN Information的標籤。(後來返回去思考,發現是自己錯了,這個後面再詳細解釋)。額,下面這個圖有個描述有錯,“被”應該改為“並”。
但是這兩個畸形幀中SSID的長度為64,注意是64!,並且整個資料包裡只有這兩條Probe Response此型別 5447565467幀的資料分組,你說可不可疑=
如果懂得wpa-psk解密的key的固定格式為64位,那麼自然而然,就會想著把這個長度64位的字串嘗試地去進行握手包huwang.cap的解密,但是那個時候並不清楚這些。也就是為什麼上面講到“知道psk值格式是固定的64位是其中的關鍵”。(當時的我以為還是在dict.pcapng中找到密碼,然後使用aircrack-ng爆破huwang.cap的密碼,再使用驗證正確的密碼去解密握手包,再接著分析,所以在這裡,你可能不敢相信,我把這64位的字串,按每隔八位拆分,去嘗試爆破出正確的密碼,那時太天真了)
順著剛剛的思路,開啟wireshark,依次按照步驟操作:編輯 -> 首選項 -> Protocols -> IEEE 802.11 ,點選Edit,選填wpa-psk,輸入剛剛得到的PSK值(那個64位的字串),進行解密。(說來你可能不敢相信,那是一個慵懶的早上,我躺在床上情不自禁地想著那串64位長度的字串到底是怎樣能解開握手包時。突然意識到這個64字串有可能是通過wpa-psk解密時所需要的key值,越想越可能,沒想到還真是。這種感覺賊虛服,不知道老哥們有沒有這種感覺,只可意會,不可言傳。)
再次分析huwang.cap,發現上層資料均已顯現出來。分析http,發現一個/djuds8RS/1.txt的訪問路徑
嘗試訪問,開啟http://www.wiattack.net/djuds8RS/1.txt,得到flag
非預期原因
關於此題,可能由於環境部署的難度原因,出題老哥忘記做Probe Response此型別幀的混淆了,使得執行過濾語句wlan.fc.type_subtype == 0x0005就可以過濾出型別為Probe Response,且最為可疑malformat RSN資料分組中存在的畸形字長為64位的字串,然後使用wpa-psk解密方式解密握手包huwang.cap,再分析解密後顯現出的http流,即可得到最終的答案。
非預期原因
關於此題,可能由於環境部署的難度原因,出題老哥忘記做Probe Response此型別幀的混淆了,使得執行過濾語句wlan.fc.type_subtype == 0x0005就可以過濾出型別為Probe Response,且最為可疑malformat RSN資料分組中存在的畸形字長為64位的字串,然後使用wpa-psk解密方式解密握手包huwang.cap,再分析解密後顯現出的http流,即可得到最終的答案。
預期解法
準確地講,題目雖然做出來了,但是這種解法也算是非預期解法。反過來去思考出題的思路,個人猜想出一些可能的預期解法,如下:
根據提示2,我們先過濾出不規範的802.11 frame,過濾語句_ws.expert.group == “Malformed”,這個在資料包裡的過濾後的結果顯示是這樣的
根據提示3,它需要的是malformat RSN的資料分組,那我們先過濾出存在RSN的資料分組,因為如果不存在RSN資訊的資料分組,我們也就不需要去判斷是不是malformat了。但過濾語句怎麼寫呢?
因為Tag:RSN Information中Tag Number為48,所以構造過濾語句wlan.tag.number == 48
結合提示2和3的過濾語句最後構造為_ws.expert.group == “Malformed”&&wlan.tag.number == 48,下圖為過濾結果,過濾出來全都是含有Tag:RSN Information和malformat的幀。
但是提示3說的是malformat RSN,所以我們需要知道Tag:RSN Information為不規範的malformat RSN資料分組。稍微仔細點觀察,翻到過濾後的資料分組末端,就會發現我們所想看到的malformat RSN分組。
上圖就是分組序號112936得資訊,但是解密的wpa-psk的值並不是這個分組長度64位的ssid值,但是它提供了這個異常分組的源mac地址和目的mac地址,嘗試過濾下,頁面如下
不知你有沒有看到那個Tag: RSN Information中包含的子樹所顯示的Auth Key Management (AKM) Suite Count: 65535,當我看到這裡的時候,好像明白了提示一的作用( ̄▽ ̄)/。
而後面的解法,就跟之前提到的非預期解法一樣啦。大家就自己分析去試試吧。其中的許多知識點,比如為啥wpa-psk值一定為64位等等,放了兩個連結,大家隨意啊。
題目總結
仔細分析流量包,你會發現,其中的Type/Subtype: Beacon frame (0x0008)型別資料分組是做了大量混淆工作的,而說起這種混淆技術,運用的是哪種方法實現的那就夠得談了,這不僅涉及到題目的原理,也涉及到測試攻擊的不同手段,下次講咯。下面先放出本題所模擬Beacon大量請求的截圖(本測試為個人裝置演示,T35t為測試AP):
最後,好好學習,天天向上。ヾ(๑╹◡╹)ノ”