拿到關閉SSID無線網絡的鑰匙
不知道大家有沒有注意到,現在之所以能夠在打開無線網卡後,搜索到周圍的無線信號, 主要的原因就是對方的無線路由器開啟了SSID廣播。
SSID全稱為Service Set Identifier,也可以寫為ESSID,它是用來區分不同的無線網絡, 簡單地說,SSID便是你給自己的無線網絡所取的名字,其長度最多可以有32個字符,無線 網卡上設置不同的SSID就可以進入不同的網絡。
目前絕大多數的公司及家用無線網絡都設置為使用開放式WEP加密的環境,即允許他 人可以搜索到該無線接入患公布的SSID標識,也就是常說的OPEN模式,這是由無線路由 器進行SSID廣播實現的。但針對WEP加密而言,因為其非常容易被坡解的特點,所以目 前WEP已經被公認為是非常危險甚至毫無意義的加密,已遠遠不能滿足較高的安全環境。 那麼一些稍有安全意識的人都會想:既然如此,還是關閉SSID廣播好了,或者把AP的SSID 名稱取得奇怪一點,不容易猜到,是不是就沒人能坡解無線網絡,也就進不到內網來呢?真 的是這樣簡單就能解決嗎?先來看看如何禁止SSID廣播。
如圖6-20所示,在BUFFALO無線路由器設置頁面中將Broadcast SSID(即允許SSID 廣播)取消勾選即可關閉SSID廣播。
對於Linksys品牌無線路由器或者其他一些無線廠商而言,則可以在無線設置主配置頁 上將對應的Wireless SSID Broadcast設置為Disable(禁止)即可,如圖6-21所示。
圖6-20 圖6-21
在成功修改了無線路由器上的關閉SSID設置後,也將需要對所有的合法無線客戶 端進行設置,才能夠使用戶正常訪問。設置方法如圖6-22所示,先打開“無線網絡連 接屬性”對話框,選擇“無線網絡配置”選項卡,單擊“添加”按鈕,婦圖6-23所示, 在彈出的對話框的“網絡名”( SSID)文本框中輸入要連接的無線路由器SSID名稱, 需要注意的是,要勾選“即使此網絡未廣播,也進行連接”復選框,然後設置對應的加 密方式及密碼即可。這樣,在不廣播SSID的情況下,合法用戶也可以訪問到該無線網 絡了。
圖6-22 圖6-23
若不屬於合法客戶端,使用正常的搜索工具將無法探測到這個已經隱藏的無線SSID, 同樣,也就無法連接此關閉SSID廣播的無線路由器。當然,這也是國內大多數無線安全類 文章或書籍中所認為的。但是可惜的是,辦法總是有的,而且不止一種。
作為無線黑客多采用被動探測方式的無線探測工具Kismet,作為被動探測不僅隱蔽性 好,而且更加可靠。因為如果選用主動探測,可以配置AP使它不回復將SSID設置為“任 何”的探測請求幀。然而,如果選用被動探測工具來檢測AP的SSID,也可能由於AP被配 置為不在廣播信標幀中傳輸其SSID而延遲。無線網絡的發現之所以是被延遲而不是完全阻 止,是因為當合法用戶試圖和AP進行連接時,SSID將會以明文的方式傳輸。
不過,無線黑客發現這種等待很令人厭煩,於是設計出了被稱之為Essid-Jack的工具來 解決等待問題。這款在2005年拉斯維加斯BlackHat全球黑帽子大會上公開的工具在當時轟 動一時,不過有些遺惚的是該工具只支持802.llb,被主要用於無線釣魚攻擊。
那麼對於當前流行的802.llb/g,惡意的攻擊者也想到很多辦法來對付SSID廣播關閉。 最常用的方法有3種,分別是Deauth攻擊法、抓包分析法及暴力坡解法。先來看看Deauth 攻擊法。
1 Deauth攻擊法
在無線D.O.S攻擊中,Deauth攻擊是其中主要的攻擊方式之一。簡單來說,通過發送 Deauth攻擊數據包,可以迫使無線接入點與合法客戶端之間斷開。對於已關閉SSID廣播的 AP,由於原本連接的合法無線客戶端會嘗試與AP再次建立連接,此時無線探測即可截獲重 新連接時無線數據包中的SSID標識,換句話說,也就使得禁用廣播的SSID重現原型,具 體步驟如下:
@打開Airodump-ng進行無線探測,可以看到,對於關閉SSID的AP只能顯示出其SSID的長度,圖6-24中的ESSID處顯示為<length:7>。
圖6-24
@通過發送Deauth數據包,迫使AP與已連接無線客戶端斷開連接,也就是所說的將
無線客戶端“踢下線”,效果如圖6-25所示。
圖6-25
@此時,回到Airodump-ng界面上,即可看到原本無法顯示的SSID的位置已經顯示
為7位的TP-LINK。同時,提示為SKA算法。這樣,就看到了隱藏的SSID,接下
來,即可進行坡解WEP或者坡解WPA的內容,如圖6-26所示。
圖6-26
2抓包分析法
顧名思義,抓包分析法指的就是可以通過抓取一定數量的無線網絡數據包,進行簡單分 析就可以得到對方的SSID。比如工作在Windows下的OmniPeek或者科來網絡分析工具, 在抓取一部分無線數據包後,即可分析出SSID(見圖6-27)。當然,使用Ethereal或者Wireshark 也可以達到同樣的效果。
在Linux下,除了同樣可以使用Wireshark 、Ethereal抓取數據包外,也可以通過tcpdump實現,具體命令如下:
參數解釋:
tcpdump是在Linux Shell下進行抓包的,只要耐心等待片刻,即可看到SSID 出現,如圖6-28所示。類似地,Kismet的效果也非常不錯。在如圖本中Beacon後發現的ESSID有My及TP-LINK。
3暴力坡解法
除了被動地監聽和等待,無線黑客也可以通過在線暴力坡解的方式來猜測ESSID,該攻 擊模式支持字典攻擊和純暴力坡解兩種方式。
如圖6-29所示,首先在Charonl.l(此工具為MDK3的GUI版本,Java編譯,具體安 裝及使用請參考第8章)上設置為Brute Force Mode(集力坡解模式),可以在下拉列表中選 擇目標SSID可能采用的組合方式,這裡選擇LCase&UCase,這個詞組實際上是Lowercase 和Upcase的縮寫,即小寫字母和大寫字母。
接下來,在下方VICTIM SPECS處設定預攻擊的無線接入點MAC地址及工作頻道,這 些信息可以通過使用Airodump-ng簡單地掃描來獲得,如圖6-29所示。
設置完畢後,就可以進行在線攻擊了,如圖6-30所示,可以看到嘗試坡解SSID的 速度為124個數據包/秒,在左下角Packets sent後面還可以看到當前發送的數據包的速率 統計。
圖6-29 圖6-30
在經過短短十余秒後,就可以看到目標無線接入點的SSID已經被坡解開,如圖6-31所 示。提示Got response from AP's MAC,SSID:”True”,即成功坡解出目標SSID為True。為方 便大家查看,放大如圖6-32所示。