怎么可以知道别人家的WiFi密?没有连接过的WiFi,用万能钥匙试过不行,可能复杂的密

  你有没有过和我类似的疑问,为什么我们的手机在输入过一次WiFi密码后,之后再次遇到该热点时,手机会自动连接而无需再次输入密码呢?原因很简单,我们所输入的WiFi密码都被系统存储起来了,这样再遇到相同的WiFi热点时,系统只需要取出这些密码就行了,免去了用户重复手动输入的繁琐。

  拿Android举例,WiFi的密码被存储在data/misc/wifi/wpa_supplicant.conf文件里(如图所示),其中通过ssid保存了你所有连结过的WiFi热点名称,而psk后面的内容就是该热点的密码,而最后的key_mgmt是网络加密类型。

  这个文件是系统级文件,在手机没有获取root权限的时候,是无法查看的,这也是谷歌确保用户隐私所做的安排。但如果你root了手机,这些隐私文件将为任何软件敞开大门,这其中就包括了Wi-Fi 万能钥匙。

  使用过Wi-Fi万能钥匙的用户都知道,当你的手机root了之后,Wi-Fi万能钥匙会主动向用户索要root权限。知乎上的一位用户对Wi-Fi万能钥匙1.0版本进行了反编汇,发现在软件代码里有一行写着const-string v3, "cat

  换而言之WiFi万能钥匙的收集密码的工作是靠窃取“Android系统文件”的方法来完成的,请原谅我用窃取这个词,但是事实的确如此。同时更大的隐患来自于传输阶段,很明显,这些WiFi密码从手机端回传服务器以及分享密码的过程,都是明码传输,软件方没有对WiFi密码进行任何的加密,这是潜在隐患,如果这些传输数据被不法分子截获,将造成不可估量的损失。

  2014年12月18日,WiFi万能钥匙官方分项数据,截止到12月18日,WiFi万能钥匙有5亿用户数,2.3亿月活跃用户,超过17亿的日均热点连线数。这不难看出这款软件的装机量是巨大的。试想一下,如果你的亲戚朋友来你家做客,将你的WiFi密码上传,这悄无声息的威胁可能在不经意间就来到你的身边。

  是不是一直都在好奇WiFi是怎么知道你家(别人家)WiFi密码的?有人说是直接破解,但对于WiFi万能钥匙的能力来说,穷举法是很消耗时间的,事实上WiFi万能钥匙所用的是被偷偷上传的WiFi数据存入服务器,然后再提供给下一个使用该网络的用户的。

  WiFi万能钥匙是怎么知道你家(别人家)WiFi密码的?

  WiFi万能钥匙的基础功能并不是采用某些答案所述“密码库穷举(逐个尝试)暴力破解”的方式获得正确密码,而是通过用户上传分享的热点(主动或“被动”)到后台服务器的方式收集、积累数据。后台服务器维护者一份热点数据库,其中包含着热点名称(或者用来唯一标识的MAC地址)以及与其对应的密码字符串。查询密码时,用户将周围扫描到的陌生热点信息上传,服务器后台查询到相对应的密码(如果分享过的话)后返回给APP供用户选择使用。不过WiFi共享钥匙有一个“深度解锁”的功能与“暴力破解”沾点边,但它也仅仅是使用几个常见的较为简单的密码来尝试连接热点,不能称得上算“密码库穷举”。

  现在WiFi万能钥匙充实密码库的方式主要是用户主动分享,毕竟用户基数变大了,但在以前可不是这样。早期的WiFi万能钥匙得到热点密码数据的手段并不高明,甚至可以说是不光彩的。

  此文件只有当获得root权限后才能访问。

  图上显示有两个WiFi热点“network”,ssid是热点名称,psk是密码。上面那个是我的私人热点,另一个“Bjume”则是某商家提供的免费热点。请注意,其中的密码是明文显示的“bjume2013”。

  得到了这个文件,或者能看到这个文件的内容,就意味着能得到这台手机登录过的所有WiFi热点,以及它们的明文密码!

  早期版本的WiFi万能钥匙会向用户申请root权限:

  虽然我不是专职的Android开发者,但我毕竟也开发过一些自用的小工具,对系统提供的接口和权限还是略知一二的。WiFi万能钥匙的所有业务功能,包括扫描周边的WiFi信号、通过网络查询对应WiFi信号的密码、输入密码登录WiFi、通过网络将用户在应用中输入的密码上传到服务器,这些都可以使用基本的系统API实现,不知道它为甚麽要申请root权限。难道是为了访问wpa_supplicant.conf文件?单从这一点上作恶意揣测似乎不太妥当,毕竟在Android上很多别的行为也需要root(虽然我实在不知道WiFi万能钥匙哪个功能有这个需求),那么接下来的证据就无法回避了。

  通过对com.snda.wifilocating.apk文件(WiFi万能钥匙)进行反编译之后,得到的很多smali脚本,有这么一个很有意思:

  1051行,WiFi万能钥匙不仅访问了wpa_supplicant.conf这个文件,还把其中的内容复制了出来,放到了自己的缓存文件夹里。

  上面的数据表示WiFi万能钥匙有一项功能会默认上传所有用户登录过的所有热点密码(注意1.0这个版本还没有热点备份功能),因此唯一合理的推测便产生了!当然这种推测仍然没有十足的依据~

  以上内容便是关于WiFi万能钥匙是怎么知道你家(别人家)WiFi密码的一些分析,只是一个论证,并没有十足的依据,但笔者依然想告诉各位,在享受免费午餐的时候,请多多在意自身的信息安全,避免使用WiFi热点支付。

我要回帖

更多关于 怎么连接别人家的wifi 的文章

 

随机推荐