你還在用WiFi萬能鑰匙嗎?探究其原理和危害
以前因為好奇,安裝了WiFi萬能鑰匙,但是從來沒有打開過,當時我心里很清楚,蹭網(wǎng)的前提就是自己家被蹭。晚上刷微博看到一張圖片,iPhone設(shè)備的WiFi列表中竟然出現(xiàn)了「🔑一鍵免費連接🔑」相關(guān)的提示,我用自己的手機測試了下,果真如此:
本文不會從代碼角度分析WiFi萬能鑰匙這個軟件是如何「破解」密碼的,主要從使用這個軟件后的感受出發(fā),分析它可能會用到的手段以及可能存在的風險。
軟件對WiFi密碼的攫取
獲取安裝該軟件用戶連接過的WiFi的密碼,這是WiFi萬能鑰匙需要攻克的第一個難題,攻克之后,從一個用戶身上可以挖到1-10個WiFi id和WiFi密碼。攻克的方式嘛,可以去網(wǎng)上搜羅下,很多保存下來的密碼都是明文的,或者是只經(jīng)過了簡單的加密操作,如果用戶root了自己的手機,軟件可以隨意獲取。
顯然,WiFi萬能鑰匙有一個自己的云端,儲存了大量從用戶手機里攫取到的WiFi信息,每個儲存單元應(yīng)該包含了如下信息(按照重要性從上往下依次排列):
WiFi容器的物理地址(MAC信息)
WiFi的密碼
WiFi名稱
WiFi容器的區(qū)域信息
WiFi容器的IP地址
由于民眾對快速上網(wǎng)的極度渴望,偶然聽到或者看到有這么個神器,當機立斷將其下載到了手機上,在這兩年時間間,該軟件的用戶量達到了5億之多,月活躍用戶在 2.3億(數(shù)據(jù)來自網(wǎng)絡(luò)),其用戶量之多、粘性之強,恐怕只有社交類的軟件可以比擬了。由此,也可以想象WiFi萬能鑰匙的云端數(shù)據(jù)庫有多么龐大。
WiFi的連接
初次打開軟件的時候,你應(yīng)該看到了它會向你申請「獲取位置信息」的請求,目的有兩個,第一是獲取你所在區(qū)域的大概位置,然后將該位置附近的WiFi信息全部緩存到你的客戶端,這樣做可以大大地減少對服務(wù)器的壓力,其二,目前WiFi萬能鑰匙也會做一些商品/商家的推廣,拿到位置信息方便個性化投放。
1.密碼匹配
以前手機沒有提供權(quán)限給它獲取WiFi列表,所以軟件會引導(dǎo)用戶將WiFi列表界面截圖,然后通過圖片分析拿到WiFi名稱。而如今,iOS設(shè)備不僅提供了獲取周邊WiFi列表的權(quán)限,而且還允許軟件對每個WiFi進行文字備注,如最上面破解效果列表圖所示。
所以我猜測,以前軟件只能通過WiFi名稱進行匹配,而現(xiàn)在可以使用WiFi的其他信息如(MAC地址)進行匹配,匹配度更高,因為WiFi名稱可能會存在重復(fù)問題。
2.撞庫分析
拿到了幾個億的數(shù)據(jù),自然少不了對數(shù)據(jù)進行統(tǒng)計和分析,拿到一些常用的弱口令,如八個8、四個123、八個0等,了解路由設(shè)置和WiFi設(shè)置的人本來就不多,很多上門服務(wù)的師傅一般就將密碼設(shè)置成簡單好記的,這也很大程度提高了撞庫的成功率。對于拿不到密碼的WiFi,軟件毫無疑問會作出這種嘗試,成本低、成功率還高。
3.暴力破解
暴破應(yīng)該不會用于實時的密碼獲取,而是會在沉默狀態(tài)下,對未知WiFi進行暴力破解,破解成功的WiFi上傳到云端服務(wù)器。這種方式可能在軟件上線的初期使用,只是我的一種猜測。
被蹭網(wǎng)存在的危害
如果家里的網(wǎng)絡(luò)被小白用戶蹭了,無非就是大家同時上網(wǎng)的時候,網(wǎng)速會慢一點,而如果你家網(wǎng)絡(luò)被一個具備黑客素質(zhì)的人蹭上了,這個時候可能需要引起注意了。
如果你家里有WiFi,那么一定會有一個路由器吧,路由器的密碼還是初始狀態(tài)的guest/admin么,或者被你設(shè)置成了六個8?如果我是這個攻擊者,一定會想各種辦法拿到你們家路由器的密碼,如果運氣好進去了,下一步要做的事情就是把路由器的網(wǎng)關(guān)設(shè)置成我自己的電腦,然后各種截獲和注入。
如果沒有攻克路由器,也可以利用在一個局域網(wǎng)內(nèi)的條件,通過共享、網(wǎng)絡(luò)廣播等各種欺騙手段忽悠小白用戶上當,方法總是很多的。只要打開一個口子,基本上你的手機/電腦就被控制了,投毒、欺騙、誘騙等,能用上的都會用上。
如何防止被蹭
你手機上沒有安裝WiFi萬能鑰匙,也沒有將密碼告訴旁邊的鄰居、路人,結(jié)果發(fā)現(xiàn)自己的網(wǎng)絡(luò)還是被蹭到了。為啥呢?回想下,原來上個月你家外甥過來了,然后他手機上有這個軟件…
防止被蹭的最好的方式就是,密碼不告訴任何人,即便是外甥?,F(xiàn)在的路由器默認可以設(shè)置兩個WiFi,并且可以對sub-WiFi進行流量限制。當然,有些 WiFi做的比較成熟,可以通過自己的手機監(jiān)控連接的設(shè)備,然后設(shè)置白名單和黑名單。不過估計用這種WiFi的人不會很多,一般的WiFi也支持在Web 界面上控制上網(wǎng)設(shè)備。
還有一種方式是,在路由器中,將無線設(shè)置的SSID廣播改為「隱藏」,周邊設(shè)備就沒辦法找到你家的WiFi網(wǎng)絡(luò)了。
常規(guī)的WiFi熱點設(shè)置原理
分享一段跑題的內(nèi)容。
以前使用Windows/Linux系統(tǒng)的時候,嘗試過將自己的電腦作為熱點把網(wǎng)絡(luò)分享給其他同學,剛開始使用了叫做軟媒魔方【IT之家編輯注:軟媒魔方中的WiFi共享功能即可一鍵共享網(wǎng)絡(luò)】的軟件,后來自己也開始敲代碼折騰,事實上,在Windows下一行代碼就能產(chǎn)生一個無線熱點:
netsh wlan set myWiFi mode=allow ssid=YOUR_WiFi_NAME key=WiFi_PASSWORD
上述命令會在系統(tǒng)的某個位置生成一個文件,其中key是明文保存的,然后通過如下命令就能開啟WiFi:
#開啟WiFi
net wlan start myWiFi
#關(guān)閉WiFi
net wlan stop myWiFi
Linux下稍微費勁些,配合hostpd和dnsmasq,不過也是差不多幾行代碼的事情。
最后
本文主要是對WiFi萬能鑰匙這個軟件相關(guān)功能的一些猜測,具體如何實現(xiàn),可以去網(wǎng)上觀摩下駭客們對軟件代碼的反編譯。