IT技术互动交流平台

WiFi 万能钥匙原理和危害探究

发布日期:2016-02-29 21:16:33

本文不会从代码角度分析 WiFi 万能钥匙这个软件是如何「破解」密码的,主要从使用这个软件后的感受出发,分析它可能会用到的手段以及可能存在的风险。我要说话

以前因为好奇,安装了 WiFi 万能钥匙,但是从来没有打开过,当时我心里很清楚,蹭网的前提就是自己家被蹭。晚上刷微博看到一张图片,iphone 设备的 WiFi 列表中竟然出现了「??一键免费连接??」相关的提示,我用自己的手机测试了下,果真如此:我要说话

我要说话

 

软件对 WiFi 密码的攫取

获取安装该软件用户连接过的 WiFi 的密码,这是 WiFi 万能钥匙需要攻克的第一个难题,攻克之后,从一个用户身上可以挖到 1-10 个 WiFi id 和 WiFi 密码。攻克的方式嘛,可以去网上搜罗下,很多保存下来的密码都是明文的,或者是只经过了简单的加密操作,如果用户 root 了自己的手机,软件可以随意获取。我要说话

显然,WiFi 万能钥匙有一个自己的云端,储存了大量从用户手机里攫取到的 WiFi 信息,每个储存单元应该包含了如下信息(按照重要性从上往下依次排列):我要说话

  • WiFi 容器的物理地址(MAC 信息)

  • WiFi 的密码

  • WiFi 名称

  • WiFi 容器的区域信息

  • WiFi 容器的 IP 地址

    由于民众对快速上网的极度渴望,偶然听到或者看到有这么个神器,当机立断将其下载到了手机上,在这两年时间间,该软件的用户量达到了 5 亿之多,月活跃用户在 2.3 亿(数据来自网络),其用户量之多、粘性之强,恐怕只有社交类的软件可以比拟了。由此,也可以想象 WiFi 万能钥匙的云端数据库有多么庞大。我要说话

     

    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 万能钥匙,也没有将密码告诉旁边的邻居、路人,结果发现自己的网络还是被蹭到了。为啥呢?回想下,原来上个月你家外甥过来了,然后他手机上有这个软件…我要说话

    防止被蹭的最好的方式就是,密码不告诉任何人,即便是外甥。现在的路由器默认可以设置两个 WiFi,并且可以对 sub-WiFi 进行流量限制。当然,有些 WiFi 做的比较成熟,可以通过自己的手机监控连接的设备,然后设置白名单和黑名单。不过估计用这种 WiFi 的人不会很多,一般的 WiFi 也支持在 Web 界面上控制上网设备。我要说话

    还有一种方式是,在路由器中,将无线设置的 SSID 广播改为「隐藏」,周边设备就没办法找到你家的 WiFi 网络了。我要说话

     

    常规的 WiFi 热点设置原理

    分享一段跑题的内容。我要说话

    以前使用 Window/Linux 系统的时候,尝试过将自己的电脑作为热点把网络分享给其他同学,刚开始使用了叫做 猎豹WiFi 的软件,后来自己也开始敲代码折腾,事实上,在 window 下一行代码就能产生一个无线热点:

    netsh wlan set myWiFi mode=allow ssid=YOUR_WiFi_NAME key=WiFi_PASSWORD

    上述命令会在系统的某个位置生成一个文件,其中 key 是明文保存的,然后通过如下命令就能开启 WiFi:

    # 开启 WiFi

    net wlan start myWiFi

    # 关闭 WiFi

    net wlan stop myWiFi

    Linux 下稍微费劲些,配合 hostpd 和 dnsmasq,不过也是差不多几行代码的事情。我要说话

     

    最后

    本文主要是对 WiFi 万能钥匙这个软件相关功能的一些猜测,具体如何实现,可以去网上观摩下骇客们对软件代码的反编译。

Tag标签: 钥匙   原理  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规