對于無線WPA加密環境,在獲得了WPA握手驗證包后,攻擊者會通過暴力破解模式來進行WPA密碼破解,同時也可以通過事先建立有針對性的字典,然后再進行字典破解(攻擊)。對于大多數無線接入點AP而言,這將會是個行之有效的方法。因為事實證明:絕大部分的管理員、維護人員、家庭用戶的安全意識并沒有他們自己認為的那么高,至少過去的一年多時間里,筆者已經遇到了無數設置為生日或者簡單單詞的WPA-PSK密碼。
那么,是不是可以說,只要有足夠空間、考慮周全的字典,破解WPA實際也就主要是時間的問題了。真的只是這樣么?不知道大家仔細留意過沒有,按照現在主流單機環境配置,在WPA破解速率上也就維持在100~~300k/s(k/s指的是破解時每秒調用的key數量),以這樣的破解速率,要把一個以小寫字母和數字組合的5位WPA密碼破開,我們來以基本的概率論知識估算一下:(圖1所示)
圖1 密碼可能包含的組合內容
(26+10)?= 60466176;
該5位數WPA密碼可能性為:
破解所有花費的時間將會是:
60466176/(3600×300)~~ 60466176/(3600×100),即花費55.987~~167.962小時。
若是換算成天數的話,大概需要2~~7天。這還只是5位數WPA密碼,若是采用WPA密碼為純小寫字母且長度在10位數以上,則最快需要時間是5446261 天,也就是14921年!!真的是天位數字啊!!若是密碼組合采用大小寫字母+數字+特殊字符的話,恐怕連看到這里的你都會說:還是不用考慮破解了吧?
所以,前面講述的獲得到WPA握手后,進行的破解實際上只適用于是在對方采用簡單密碼的情況,也就是說,因為破解速率太慢,所以在對方采用稍微復雜的密碼之后,這個常規方法就沒有太多的實戰能力甚至徹底失去破解意義。
[page]
對于無線WPA加密環境,在獲得了WPA握手驗證包后,攻擊者會通過暴力破解模式來進行WPA密碼破解,同時也可以通過事先建立有針對性的字典,然后再進行字典破解(攻擊)。對于大多數無線接入點AP而言,這將會是個行之有效的方法。
若有人對概率知識稍有欠缺,或者覺得計算破解時間太麻煩的話,可以到下面這個網址上看看,這上面提供一個在線估算密碼破解時間的服務,很方便。網址:http://lastbit.com/pswcalc.asp,可以看到一個明顯的Password Calculator標題,即密碼估算。
在下面的欄目中,可以輸入要計算密碼的可能長度、使用計算機的破解速率、被用于破解的計算機數量、密碼的組合可能(大小寫字母、數字、通配符或全部),填寫完畢,點擊下方的Calculate(計算),在其下方就可以給出暴力破解的估算時間了。如下圖2,可以看到估算出采用小寫字母和數字組成的5位數密碼,在單機以30k/s的速率破解需要時間為24天!!
圖2 密碼估算服務設置內容
看到這里,也許有的讀者會想到:可以升級硬件設備啊,比如CPU、內存之類。不錯,升級硬件確實可以在一定程度上提升破解,但那也是很有限的,比如就目前而言,普通獨立計算機下內存最大也就能升級到4G,CPU無非就是最新的高緩存四核處理器。這樣的配置對于剛才我們舉例的10位WPA密碼,破解時間還是以年來計算的!!
那么,那些高級黑客們又是怎么做的呢?難道只是靠單純地提升硬件么?這里我們在揭開高速破解之前,先講述一些概念:
Tables
可以說長期進行密碼學研究的人很少有不知道這個的。在很多年前,國外的黑客們就發現單純地通過導入字典,采用和目標同等算法破解,其速度其實是非常緩慢的,就效率而言根本不能滿足實戰需要。之后通過大量的嘗試和總結,黑客們發現如果能夠實現直接建立出一個數據文件,里面事先記錄了采用和目標采用同樣算法計算后生成的Hash散列數值,在需要破解的時候直接調用這樣的文件進行比對,破解效率就可以大幅度地,甚至成百近千近萬倍地提高,這樣事先構造的Hash散列數據文件在安全界被稱之為Table表(文件)。
[page]
對于無線WPA加密環境,在獲得了WPA握手驗證包后,攻擊者會通過暴力破解模式來進行WPA密碼破解,同時也可以通過事先建立有針對性的字典,然后再進行字典破解(攻擊)。對于大多數無線接入點AP而言,這將會是個行之有效的方法。
Rainbow Tables
最出名的Tables是Rainbow Tables,即安全界中常提及的彩虹表,它是以Windows的用戶帳戶LM/NTLM散列為破解對象的。簡單說明一下,在 Windows2000/XP/2003系統下,賬戶密碼并不是明文保存的,而是通過微軟所定義的算法,保存為一種無法直接識別的文件,即通常所說的SAM文件,這個文件在系統工作時因為被調用所以不能夠被直接破解。但我們可以將其以Hash即散列的方式提取,以方便導入到專業工具破解,提取出來的密碼散列類似于下面:
Administrator:500:96e95ed6bad37454aad3b435b51404ee:64e2d1e9b06cb8c8b05e42f0e6605c74:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
user1:1001:732b2c9a2934e481cd0a8808b19097ef:778620d5d5de064154e689fa4790129f:::
user2:1002:a042f67a99758fd727b99b2375d829f9:6127ee12a83da34fc19953e538e4d580:::
若是以傳統破解方式而言,無論是本地,還是內網在線破解,效率都不是很高。據實際測試,單機環境下,破解一個14位長包含大小寫字母以及數字的無規律密碼,一般是需要3~~9小時的,這個時間值會隨著密碼的復雜度及計算機性能差異提升到幾天甚至數月不等。雖然說大部分人都不會使用這樣復雜的密碼,但對于目前很多密碼足夠復雜并且長度超過10位的密碼比如“Y1a9n7g9z0h7e”,還是會令黑客們頭痛不已。
2003年7月瑞士洛桑聯邦技術學院Philippe Oechslin公布了一些實驗結果,他及其所屬的安全及密碼學實驗室(LASEC)采用了時間內存替換的方法,使得密碼破解的效率大大提高。作為一個例子,他們將一個常用操作系統的密碼破解速度由1分41秒,提升到13.6秒。這一方法使用了大型查找表對加密的密碼和由人輸入的文本進行匹配,從而加速了解密所需要的計算。這種被稱作“內存-時間平衡”的方法意味著使用大量內存的黑客能夠減少破解密碼所需要的時間。
于是,一些受到啟發的黑客們事先制作出包含幾乎所有可能密碼的字典,然后再將其全部轉換成NTLM Hash文件,這樣,在實際破解的時候,就不需要再進行密碼與Hash之間的轉換,直接就可以通過文件中的Hash散列比對來破解Windows帳戶密碼,節省了大量的系統資源,使得效率能夠大幅度提升。當然,這只是簡單的表述,采用的這個方法在國際上就被稱為Time-Memory Trade-Off ,即剛才所說的“內存-時間平衡”法,有的地方也會翻譯成“時間—內存交替運算法”。其原理可以理解為以內存換取時間,可由下圖3表示:
[page]
這種采用了類似Rainbow Tables原理,通過Pre-Compute即預運算的方式,來進行提前運算以生成WPA-PSK加密Hash,從而建立起來的WPA-PSK Hash Tables,可以如事先設想般有效地大幅度提升破解效率。一般來說,可以將以前的100~~300 key/s的普通單機破解速率,提升到30,000~~100,000 key/s,提升了近300~~1000倍!!!這才是國內外無線黑客目前使用的破解技術,就一些地下組織而言,甚至個別秉持執著、探求本質精神的黑客通過改進優化代碼等方式使得破解速率突破了150,000k/s,而且還有提升空間。這個速度意味著什么,如果再換置成最新的硬件配置呢?聰明的你一定明白。
下圖6即為在cowpatty里對獲取的WPA握手包進行WPA Table破解界面,可以看到在導入Table之后,破解速率達到了6,5228 pass/second。
圖6 在Cowpatty里進行WPA Tables破解界面
我想,對于很多無線用戶來說,這才是真正的噩夢。古希臘哲學家蘇格拉底曾說過這么一句話: “認識你自己。” ,但實際上很多時候都是黑客背地猖獗,而很多網絡及安全管理人員要么對攻擊者的技術僅是略知皮毛,要么就根本一無所知,而且甚至不知道自己在經過所謂安全配置后的網絡架構,將實際面臨什么樣的風險。
雖然說公開一些技術也許反而會引起個別心懷惡意的人注意,不過出于對無線安全理念的普及及深入理解,幫助很多已經完成或者正在進行無線網絡規劃的軍警政機構、大中型企業及特殊部門,更清楚地認識到無線網絡的風險,從而盡可能地完善自身的不足,避免不必要的損失,才是本書的出發點。
當然,要說明的是,Tables的建立并沒有想象的那么容易,就建立本身而言,其效率非常低下,加上需要指定預攻擊AP的SSID,想要建立一套針對所有常見接入點,并采用簡單密碼的WPA-PSK Hash Tables,其生成文件占據的硬盤空間最少也要1~~3G。需要深入了解WPA Table的讀者,可以到這個名為The Church of Wifi的無線黑客組織了解更多內容,該組織官方站點為http://www.churchofwifi.org,該組織在過去的兩年里成功建立了龐大的WPA Table庫,并將其簡化的WPA-PSK Hash Table版本提供免費下載,對很多無線黑客而言,這確實是個福音,但遺憾的是,即便是簡化版本,其大小也已經超過了30G。
感興趣的讀者可以到http://umbra.shmoo.com:6969去下載這個簡化版本的Table種子文件,該Table全部下載回來大小有33.54GB,需要說明的是,生成該Table所依據的字典雖然經過黑客組織的篩選,但是由于國情不同,所以里面部分內容可能并不適合國內情況的使用。比如雖然都會有人使用姓名作為密碼,在國外可能是類似于BruceLee這樣的英文名稱,但是到了國內就可能是Lilianjie這樣的拼音了。
圖7 30G WPA Hash下載頁面
不過,對于無線網絡管理員,并不能因此松一口氣,真正的噩夢才剛剛開始,因為這個方法也同樣適用于破解WPA2加密。而且,國外一些地下高級黑客組織,也已經建立了高達500G的詳盡WPA/WPA2攻擊Table庫,甚至一些基本完善的WPA-PSK Hash Tables已經在黑客網站上開始公開出售,只需要支付120美金左右,就會有8張包含WPA-PSK Hash Tables 的DVD光盤通過Fedex直接送到你的手上。