声明:这是一虚构的故事,因此对图片均进行了模糊化处理。
故事的主人公小黑是一名从事IT相关工作的技术宅男。春节长假来临,宅在家中的他相当无聊,打开手机上的Wi-Fi模块,发现附近有将近10个无线连接点,有几个信号强度还相当不错。心想何不尝试看看能否攻破邻居家的网络呢?说干就干,他决定利用自己的知识储备进行一番尝试,于是故事就这样开始了。
小黑用自己运行Android系统的手机,搜索了附近广播了SSID的Wi-Fi连接点,计划选取了一个合适的攻击目标。通过一款Wi-Fi信号分析软件,他发现邻居小白家的Tenda_XXXXX无线连接是一个理想的攻击对象:这个Wi-Fi连接的信号非常好,而且常年处于开机状态,显然是最优选之一。
一般为了防止被蹭网,个人用户都会给Wi-Fi设置一个连接密码。常用的两种加密方式又分为WEP加密与WPA加密两种。WEP 加密由于是一种静态加密方式,收发的包中就含有密码信息,因此可以非常容易地就直接破解密码,目前已经很少被使用。而WPA加密相比之下则更为安全一些,由于采用了动态加密的方式,因此只能使用暴力破解的方式来攻克。
小黑这次遇到的SSID是Tenda_XXXXX的Wi-Fi就是采用比较难以破解的WPA加密,虽然相比WEP,破解难度高了不少,但是小黑并没有彻底绝望,因为对于 WPA加密方式的Wi-Fi连接,破解的成功率取决于密码的复杂度与黑客手中的字典大小。
小黑熟练地打开一款名为WiFi万能钥匙的应用,尝试对这个无线网络的密码进行简单的破解,想不到竟然一下子就成功了。小黑迫不及待地进入相关文件查看,发现密码是:111111。
WiFi万能钥匙这款应用的优点在于操作简便,需要的技术知识门槛低,但是缺点也十分明显:由于字典的容量非常有限,只能破解非常简单的一些密码。而小白使用的密码为11111111,是一个非常简单的弱密码,因此使用手机软件就破解成功了,对此小黑也感到非常庆幸。
其实,原本小黑还准备了一台笔记本电脑,安装了Ubuntu系统和Minidwep-gtk和aircrack-ng等软件。这台才是破解Wi-Fi密码的“重型装备”。使用这个软件,可以不间断地发起连接申请,尝试不同的密码组合。由于这次小白设置的密码过于简单,都没有轮到它出场的机会。
1、强大的密码是Wi-Fi安全最重要的基石
所谓强密码,是指同时包含了大小写字母、数字和符号的8位数以上复杂密码,如Gt/eB7@2。只要对Wi-Fi采用WPA/WPA2加密,并且设置强密码,就几乎不可能被攻破。
密码是黑客攻防中很重要的一环。相关的原理较为复杂,涉及高深的数学知识,甚至有专门研究加密解密的学科。不过,生活中其实存在不少简单的实例,比如常用的U盾,就是基于RSA加密算法。其原理是基于两个大素数相乘生成的动态密钥,而即使以当今最先进的计算机来分解出这两个素数,也需要相当长的时间。要知道,U盾上动态密钥的更新速度一般是1分钟。想在短短的1分钟内将这个大素数的乘机分解开来是不可能的,因此这个加密方法相对是非常安全的。
Wi-Fi加密的原理与U盾非常类似。前面提到过,WPA也是采用动态加密传输的,因此如同RSA算法,只能采用枚举法来进行暴力破解。但是只要密码的强度能够保证,暴力破解需要花费相当长的时间。即使以Minidwep来破解,一个密码一般至少需要使用3秒钟来尝试,如果是一个同时包含了大小写字母,数字和符号的8位的强密码,理论上需要破解的时间大约是5亿年,可见其强度已经足够。如果个人用户每隔几个月更改一次密码,那想要破解这个Wi-Fi密码就有如大海捞针了。对于这样拥有良好安全习惯的用户,往往不会成为黑客的目标。
2、隐藏SSID
隐藏SSID就是指在路由器管理界面进行相关的设置,使得无线网络的SSID不再广播出来,成为一个“隐形网络”,这样同样可以大大降低被黑客攻击的概率。
目前主流的系统,包含Windows XP/Vista/7/8/10,还有Mac OS,各个发行版的Linux系统,如Ubuntu,Redhat。主流的智能手机操作系统,如iOS,Android,Windows Phone都对隐藏SSID的Wi-Fi网络连接提供了很好的支持,只需要第一次连接网络时手工添加网络的SSID,后续系统便能自动记住这个无线网络连接的相关信息,进行自动连接。
你可能会问,既然我已经隐身了,那是否能够保证绝对的安全呢?答案是否定的。因为只要你的无线网络存在路由器和客户端之间的通讯,SSID仍然是可以被嗅探到的,只不过这样的操作会增加黑客操作的复杂度,考虑到时间成本,黑客往往会绕过这样的对象。
3、MAC绑定
MAC绑定是指在路由器中进行相关的设置,开启MAC地址黑名单或白名单功能。当然,此处更建议使用的是白名单的方式。用户只需将需要连接到网络的设备的物理地址(MAC Address)添加到白名单列表中,那么只有这些添加过的设备可以连接到这个无线网络。
你可能会好奇,既然我已经设置过滤了,那么是否不再可能会被其他机器入侵呢?答案仍然是否定的。因为只要黑客成功破解了你的无线网络密码,并且此时有活动的客户端在网络中,黑客同样可以设法通过抓取网络中传输的封包,来获得那台进入白名单的客户端的MAC地址。接下来,黑客要做的就是将自己的设备的MAC地址修改为和被攻击者的设备相同的MAC地址,这样黑客的设备就可以成功地连接到无线网络中了。
如同隐藏SSID的方法一样,MAC绑定同样可以大大增加黑客破解网络的困难度,额外增加的操作复杂度会让大部分黑客知难而退。
4、关闭无线路由器的QSS、WDS功能
QSS/WDS功能会大大降低无线路由器的安全性,因此如非必须,应将这两个功能关闭。
注意:第2条和第3条防护措施建议同时使用,可以大大强化Wi-Fi的安全性。但是非常偶发的情况是,对于一些设备,例如在一些Linux发行版中,某些无线网卡的驱动对于隐藏SSID的网络的支持并不完善,可能造成无法连接到无线网络。也发现过一些基于ARM平台的电视盒子的自带系统对于MAC绑定的支持不完善,会造成打开MAC白名单功能后无法连接。此时,用户考虑自身使用的便利性,可以只选择其中一种,或者不得已的情况下也可以只采用第1条防护措施。毕竟一个强大的密码才是重中之重,第2条和第3条措施只不过是进一步加强防护的辅助措施而已。
实现“蹭网”的初级目标后,小黑并没有就此罢手,而是尝试进行进一步的深入攻击:攻陷路由器,获得路由器的管理权。
他首先尝试通过浏览器,进入了小白使用的腾达路由器的后台管理界面地址:192.168.0.1。
不料小白竟然很机智地修改了默认的密码。不过,这怎么可能会难倒小黑呢?小黑早已知道了关于路由器的一些秘密:其实,不少国内路由器厂家,为了后期维护管理方便,都在管理固件中留下了后门。这虽然方便了管理,却留下了安全隐患。这不有国外安全专家总结了一下,在这里可以找到:链接
通过路由器厂家自己留的后门,小黑顺利地进入了路由器的管理界面。
但是在这个界面下,需要输入指令进行操作,毕竟是不太方便的。于是,小黑尝试着用Wi-Fi连接密码直接输入到管理界面中,发现后台管理界面的密码竟然和Wi-Fi密码是同一个!这真是:踏破铁鞋无觅处,得来全不费功夫!
进入路由器管理界面后,小白使用的电信上网账号和口令瞬间暴露在小黑的面前:
那么,攻陷路由器后,小黑可以进行哪些操作呢?首先,小黑可以获知小白的上网账号和密码。接着,他还可以偷偷地限制小白的上网速度,将大部分速度空出来让给自己使用。小黑甚至可以将小白的设备加入MAC黑名单,使其不能再上网,并且继续修改路由器后台管理界面的密码,使得小白无法用任何设备进入路由器管理界面。最终小白不得不硬件重设路由器,才能恢复上网。当然,如果这样操作的话,小白势必会重新设定新的Wi-Fi密码,小黑之前第一步的行动也就白费了。
其实,从攻击的角度来说,第二步攻陷路由器并不是必须的,但却也是非常重要的一步。
为何说不必须呢?因为即使没有拿到路由器的管理权限,仍然不妨碍后续对路由器和客户端的封包进行嗅探和攻击的操作。
那为何说很重要呢?首先,获得路由管理界面之后,可以非常方便地看到路由器开机之后,每一个曾经联网过的设备,以及这些设备的实时网速,这对于进一步的攻击能够提供一些非常重要的信息。其次,在路由器管理界面中监控客户端的实时流量等数据,对于小白等被攻击者来说,是完全无法感觉到。而如果直接采取嗅探或劫持的操作,被攻击者会察觉到网速明显变慢。因此攻陷路由器后,对小黑来说,更有利于下一步的操作。
路由器管理界面中可以反映每个设备的实时网速:
路由器管理界面中可以查看连接过的设备,以小白的设备为例:
从主机名就可以大致地判断,小白有一只iPhone,一台安装了Windows 7或以上操作系统的x86计算机。另有一个没有主机名的设备,这个还待确认。至于最下方的Android设备,则是入侵者小黑的手机。
另外,在获得路由器管理权限之后,想要进行DNS劫持就变得非常容易了:
进行DNS劫持后,被劫持者的上网记录和登陆过的账号以及明文传输的密码都很容易获得。当然,现在很多社交工具的密码已经不再通过明文传输,而且自行搭建DNS服务器的操作较为复杂,因此小黑并没有进行这步操作,而是考虑下一步直接进行会话劫持。
作为一个“有追求”的黑客,小黑又岂会在此时就收手呢?如同很多“菜鸟黑客”一样,小黑想要挖掘出小白更多的秘密。
这时,他使用了一款强大的网络渗透软件:dSploit。dSploit是一款基于Android系统的功能十分全面强大的网络渗透工具,可以提供给网络安全工作人员检查网络的安全性。小黑这次主要使用了其中的“简易嗅探”“会话劫持”“脚本注入”这三个功能。
连接进入网络之后,使用dSploit扫描到的设备列表与路由器管理界面中的一模一样:
前面提到过,在路由器管理界面中,可以大致判断出设备的生产商和类型。而采用dSploit来进行“简易嗅探”之后,可以进一步判明设备的类型和使用的操作系统和浏览器版本。
所谓“简易嗅探”,就是指dSploit这个软件可以嗅探到被监控的设备收到和发出的所有网络封包,并将封包以pcap格式保存到Android手机中。这样,后续只需要用文本编辑器查看这些pcap文件,就能得到相关的信息。
比如上图中,小黑用于入侵的安卓手机,IP地址为192.168.0.103。MAC地址前三位是:90:18:7C。
IP地址为192.168.0.100的设备是小白的iPhone5,系统版本号iOS 7.0.6。
IP地址为192.168.0.101的设备显然是小白的台式机了,操作系统版本号为NT6.1,即Windows 7系统:
之前在路由器管理界面中,没有主机号,无法确认的一台设备的IP地址为192.168.0.104。dSploit显示这台设备的Wi-Fi模块的制造商是太阳诱电(Taiyo Yuden CO.)。而我们通过在IEEE网站上搜索MAC地址前三位的OUI(OUI即为Organizationally Unique Identifier,是MAC地址的前三位,代表厂家编码,可以在MAC地址的分发机构国际电气工程师IEEE的网站查到相应的厂商名称),也可以确认这个设备来自太阳诱电:
太阳诱电是一家知名的日本被动电子元件制造商,其产品一般用于日本本土品牌的设备中。经过数据抓包分析,终于确定了设备是采用3.01版系统的台版PS Vita:
确定设备之后,就可以依据路由器管理界面上的实时流量数据,对当时正在进行通讯的设备进行目的明确的“简易嗅探”操作了。
经过对台式电脑的“简易嗅探”,小黑很轻松地得到了小白的QQ号:
既然得到了QQ号,也就很轻松地依据QQ号,搜索到了小白的微信号。
通过“简易嗅探”这个功能,小黑不仅掌握了小白的很多社交网站的账号,并且熟悉了小白经常浏览的一些网站,对于其使用电脑的习惯有了一个大致的轮廓:小白是一名沉迷于大菠萝3等网游中的单身青年,如同中国绝大多数网民一样,小白使用腾讯的社交软件和360的安全软件。偶尔喜欢用淘宝和京东购物,喜欢购买各种手办和模型,最近希望给自己添置一台笔记本电脑。并且由于小白是单身,因此频繁浏览某相亲网站,积极寻找对象。
经过几天的观察,小黑发现小白会在回家后先在台式机上处理当天的邮件,于是他尝试使用了dSploit另一个异常强大的功能模块:会话劫持。对小白的邮箱进行了劫持:
“会话劫持”功能,顾名思义,就是可以将小白电脑上正在进行的操作劫持到自己的设备中,使得小黑在自己的手机上远程控制着小黑的台式机上的应用,而小白对这一切毫不知情。以邮箱为例,小黑可以在小白的邮箱中做任意的操作,如收发邮件等等。而且,由于小白的邮箱中存有之前找工作时投递的简历,因此小白的姓名,住址,生日,职业,手机号,身份证号,银行卡号,收入等敏感信息也都尽收小黑眼底了。
同样的道理,小白登陆过的微博、人人、淘宝等帐号也都全部可以劫持,通过劫持后的帐号又能看到许多表面看不到的东西。
如果要进一步攻击,小黑完全可以在小白电脑中再植入一个木马,通过键盘记录,可以很轻松地得到小白的很多账号密码甚至网银信息。不过,此时的小黑异常冷静,他知道自己的攻击目标已经达成,因此决定金盆洗手,并且决定通过一个善意的提醒,建议小白修改Wi-Fi密码,给这次渗透攻击的行动,划上一个完美的句号。
这是通过dSploit的 “脚本注入”功能来实现的:小黑将事先编辑好的一段文字,通过JavaScript脚本的形式,推送到小白的台式电脑上:
此时的小白,正在淘宝上兴致勃勃地翻看手办模型,当他正准备打开一张商品大图详细观摩时,突然发现了这段文字:
小白看到后,觉得很是奇怪,误以为是常见的网页弹窗广告。没有予以理会。小黑一看小白不为所动,于是灵机一动,他想到把小白简历上的照片推送给了他:
当小白看到这个之后,才认识到问题的严重性,按照提示迅速修改了密码。大大强化了Wi-Fi的安全性。由于小白这次修改的密码达到了10位以上,并且是同时包含了大小写字母和数字符号的异常强大的密码,以至于小黑也无法再次攻破了,此时的小黑露出了欣慰的笑容。
好了,小白和小黑的故事就说到这里,接下来是相关产品的介绍。
市面上有不少相关的安全路由产品,但其实质其实是将路由器的管理界面做得更易于操作。当然,这些路由器在固件的更新上,相比传统的路由器厂商,会更频繁一些。
京东
netcore 磊科 360安全P1 C403 无线路由器89元实时价格2小时前已更新去购买
小米的路由器同样对于WiFi蹭网行为有专门的操作选项。
天猫精选
小米路由器青春版正品智能无线网络路由器穿墙王家用小米wifi路由79元去购买
这些产品的优势在于,将安全操作的难度降低了,易于用户操作。因为,众所周知的,安全会提高操作的复杂度。例如,二次验证,定时更换的复杂密码,这些都需要用户在操作时付出更多的时间。而这些产品的设计思路就是在制作时,为用户将这些环节做最大程度的简化。
安全,其实是一个非常宽泛的话题。几天几夜也扯不完。安全狭义来说,可以概括为没有漏洞,难以被攻破。但这样说又不完全正确,正如前段时间一部非常不错的德国黑客电影《我是谁:没有绝对安全的系统》中所呈现的,凡是人类创造的事物,必然会有漏洞,即使没有漏洞,还有我们未知的领域。
当然,这扯得有点远了,在现阶段,安全的攻防其实就是一场资源战。世界上首屈一指的安全实验室卡巴斯基都被植入了APT(Advanced Persistent Threat,即高级持续性威胁),更是说明了这个问题。
其实,笔者前面列举的使用手机进行攻击嗅探只是一种方式,使用电脑同样可以完成这些操作,例如下图,笔者搭建了一个环境,可以嗅探出同一个Wi-Fi网络下,另外一台手机使用“大智慧”软件炒股时选择的股票代码:
手机是汇聚了大量数据的生活助手,其安全性自然十分重要。然而,由于其集合了多种模块和功能的软硬件一体的平台的属性,导致了其脆弱性也同样突出。良好的使用习惯可以使得手机更安全,例如二次验证。但是这会增加复杂度。
对于公共Wi-Fi的安全性,笔者的建议是对于那些没有统一管理界面,只需要问询密码就能直接连接的无线网络,尽量不要使用。如果实在需要使用,也不要开启任何和隐私有关的应用,如QQ,微博等。笔者的习惯是,在外全部使用移动运营商提供的3G/4G网络。