WiFi 萬能鑰匙原理和危害探究

本文不會從代碼角度分析 WiFi 萬能鑰匙這個軟件是如何「破解」密碼的,主要從使用這個軟件后的感受出發,分析它可能會用到的手段以及可能存在的風險。

以前因為好奇,安裝了 WiFi 萬能鑰匙,但是從來沒有打開過,當時我心里很清楚,蹭網的前提就是自己家被蹭。晚上刷微博看到一張圖片,iphone 設備的 WiFi 列表中竟然出現了【一鍵免費連接】?相關的提示,我用自己的手機測試了下,果真如此:

獲取安裝該軟件用戶連接過的 WiFi 的密碼,這是 WiFi 萬能鑰匙需要攻克的第一個難題,攻克之后,從一個用戶身上可以挖到 1-10 個 WiFi id 和 WiFi 密碼。攻克的方式嘛,可以去網上搜羅下,很多保存下來的密碼都是明文的,或者是只經過了簡單的加密操作,如果用戶 root 了自己的手機,軟件可以隨意獲取。

顯然,WiFi 萬能鑰匙有一個自己的云端,儲存了大量從用戶手機里攫取到的 WiFi 信息,每個儲存單元應該包含了如下信息(按照重要性從上往下依次排列):

  • WiFi 容器的物理地址(MAC 信息)
  • WiFi 的密碼
  • WiFi 名稱
  • WiFi 容器的區域信息
  • WiFi 容器的 IP 地址

由于民眾對快速上網的極度渴望,偶然聽到或者看到有這么個神器,當機立斷將其下載到了手機上,在這兩年時間間,該軟件的用戶量達到了 5 億之多,月活躍用戶在 2.3 億(數據來自網絡),其用戶量之多、粘性之強,恐怕只有社交類的軟件可以比擬了。由此,也可以想象 WiFi 萬能鑰匙的云端數據庫有多么龐大。

初次打開軟件的時候,你應該看到了它會向你申請「獲取位置信息」的請求,目的有兩個,第一是獲取你所在區域的大概位置,然后將該位置附近的 WiFi 信息全部緩存到你的客戶端,這樣做可以大大地減少對服務器的壓力,其二,目前 WiFi 萬能鑰匙也會做一些商品/商家的推廣,拿到位置信息方便個性化投放。

1. 密碼匹配

以前手機沒有提供權限給它獲取 WiFi 列表,所以軟件會引導用戶將 WiFi 列表界面截圖,然后通過圖片分析拿到 WiFi 名稱。而如今,iOS 設備不僅提供了獲取周邊 WiFi 列表的權限,而且還允許軟件對每個 WiFi 進行文字備注,如最上面破解效果列表圖所示。

所以我猜測,以前軟件只能通過 WiFi 名稱進行匹配,而現在可以使用 WiFi 的其他信息如(MAC 地址)進行匹配,匹配度更高,因為 WiFi 名稱可能會存在重復問題。

2. 撞庫分析

拿到了幾個億的數據,自然少不了對數據進行統計和分析,拿到一些常用的弱口令,如八個8、四個123、八個0等,了解路由設置和 WiFi 設置的人本來就不多,很多上門服務的師傅一般就將密碼設置成簡單好記的,這也很大程度提高了撞庫的成功率。對于拿不到密碼的 WiFi,軟件毫無疑問會作出這種嘗試,成本低、成功率還高。

3. 暴力破解

暴破應該不會用于實時的密碼獲取,而是會在沉默狀態下,對未知 WiFi 進行暴力破解,破解成功的 WiFi 上傳到云端服務器。這種方式可能在軟件上線的初期使用,只是我的一種猜測。

如果家里的網絡被小白用戶蹭了,無非就是大家同時上網的時候,網速會慢一點,而如果你家網絡被一個具備黑客素質的人蹭上了,這個時候可能需要引起注意了。

如果你家里有 WiFi,那么一定會有一個路由器吧,路由器的密碼還是初始狀態的 guest/admin 么,或者被你設置成了六個8?如果我是這個攻擊者,一定會想各種辦法拿到你們家路由器的密碼,如果運氣好進去了,下一步要做的事情就是把路由器的網關設置成我自己的電腦,然后各種截獲和注入。

如果沒有攻克路由器,也可以利用在一個局域網內的條件,通過共享、網絡廣播等各種欺騙手段忽悠小白用戶上當,方法總是很多的。只要打開一個口子,基本上你的手機/電腦就被控制了,投毒、欺騙、誘騙等,能用上的都會用上。

你手機上沒有安裝 WiFi 萬能鑰匙,也沒有將密碼告訴旁邊的鄰居、路人,結果發現自己的網絡還是被蹭到了。為啥呢?回想下,原來上個月你家外甥過來了,然后他手機上有這個軟件…

防止被蹭的最好的方式就是,密碼不告訴任何人,即便是外甥?,F在的路由器默認可以設置兩個 WiFi,并且可以對 sub-WiFi 進行流量限制。當然,有些 WiFi 做的比較成熟,可以通過自己的手機監控連接的設備,然后設置白名單和黑名單。不過估計用這種 WiFi 的人不會很多,一般的 WiFi 也支持在 Web 界面上控制上網設備。

還有一種方式是,在路由器中,將無線設置的 SSID 廣播改為「隱藏」,周邊設備就沒辦法找到你家的 WiFi 網絡了。

分享一段跑題的內容。

以前使用 Window/Linux 系統的時候,嘗試過將自己的電腦作為熱點把網絡分享給其他同學,剛開始使用了叫做 獵豹WiFi 的軟件,后來自己也開始敲代碼折騰,事實上,在 window 下一行代碼就能產生一個無線熱點:

上述命令會在系統的某個位置生成一個文件,其中 key 是明文保存的,然后通過如下命令就能開啟 WiFi:

 

Linux 下稍微費勁些,不過配合 hostpd 和 dnsmasq,也是差不多幾行代碼的事情。

本文主要是對 WiFi 萬能鑰匙這個軟件相關功能的一些猜測,具體如何實現,可以去網上觀摩下駭客們對軟件代碼的反編譯。

 


 

任 江風

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: