作者 | vulture

责编 | 薄荷茶

微信公众号ID | csdn_iot

路由器是家庭网络的入口,在IoT浪潮下,路由器也起到了网络守护者的角色。正因为如此,这几年针对路由器的攻击也越来越多,本文就带大家细数这些年针对路由器的攻击。

1

无线协议漏洞

早些年对路由器的攻击方式大多基于无线协议中的漏洞。早些年无线路由使用的是WEP加密系统,也就是“有线等效加密”,但是与很多存在问题的加密算法一样,WEP加密也是用了RC4的加密方式。2001年8月,Fluhrer等人发表了针对WEP的密码分析,利用RC4加解密和IV的使用方式的特性,结果在网络上偷听几个小时之后,就可以把RC4的钥匙破解出来。这个攻击方式很快就实作出来了,而自动化的工具也释出了,只要用个人电脑、现成的硬件和免费可得的软件就能进行这种攻击。因此WEP在2003年被实现大部分IEEE 802.11i标准的WPA(Wi-Fi Protected Access)淘汰。

WPA相比WEP提升了部分安全性,WPA 的设计中要用到一个 802.1X 认证服务器来散布不同的钥匙给各个用户;不过它也可以用在较不保险的 ”pre-shared key” (PSK) 模式。Wi-Fi 联盟把这个使用 pre-shared key 的版本叫做 WPA 个人版或 WPA2 个人版,用 802.1X 认证的版本叫做 WPA 企业版或 WPA2 企业版。

WPA 的数据会以一个 128 位元的钥匙和一个 48 位元的初向量 (IV) 的 RC4 stream cipher 来加密。WPA 超越 WEP 的主要改进就是在使用中可以动态改变钥匙的“临时钥匙完整性协定”(Temporal Key Integrity Protocol,TKIP),加上更长的初向量,这可以击败知名的针对 WEP 的金钥撷取攻击。

除了认证和加密外,WPA 对于数据的完整性也提供了巨大的改进。WEP 所使用的 CRC(循环冗余校验)先天就不安全,在不知道 WEP 钥匙的情况下,要篡改所载资料和对应的 CRC 是可能的,而 WPA 使用了称为 ”Michael” 的更安全的讯息认证码(在 WPA 中叫做讯息完整性查核,MIC)。

2004年,WPA由实现完整IEEE 802.11i标准的WPA2所取代。WPA2相比WPA比较重要的安全改进是使用了AES而非原来的RC4加密方式。

事实上,无论是WPA还是WPA2都有相应的破解方法,具体就是使用DEAUTH攻击使已经连接的客户端断开并重新连接,以产生握手包,之后再用字典进行破解,但是既然使用到了字典,成功率就相当不确定了。

2011年12月28日,安全专家Stefan Viehbock曝出WPS(Wi-Fi保护设置)功能的一个重大安全漏洞,此漏洞允许远程攻击者使用暴力攻击在几小时内就能获取WPS的PIN码和WPA/WPA2的PSK码。pin码是一个8位的整数,破解过程时间比较短。WPS PIN码的第8位数是一个校验和,因此黑客只需计算前7位数。另外前7位中的前四位和后三位分开认证。所以破解pin码最多只需要1.1万次尝试,顺利的情况下在3小时左右。WPS认证流程如下图:

然而,现实情况是很多路由器会对穷举PIN进行限制,每次猜解的间隔时间会越来越长,因此小编之前做过多次尝试从未成功。

由于攻击方式的局限性,以上所述的漏洞大都已经成为历史,现如今对路由器的攻击大多转为针对特定路由器漏洞的攻击,并且从对无线协议弱点的攻击转向对路由器固件、Web界面的攻击。

2

针对路由器固件的攻击

近年来有不少针对路由器的攻击,很多知名厂商纷纷中招,并且往往连累的是一个系列的产品,这些路由器爆出的漏洞中很多是厂商因维护需要而开设的后门,有一些则是验证机制存在问题,被轻易绕过:

2016年10月,华硕路由器被P2P僵尸网络程序TheMoon感染。华硕旗下RT-AC66U、RT-N66U等多款路由器中使用的ASUS WRT的infosvr中的common.c文件中存在安全漏洞,该漏洞源于程序没有正确检查请求的MAC地址。远程攻击者可通过向UDP 9999端口发送NET_CMD_ID_MANU_CMD数据包利用该漏洞绕过身份验证,执行任意命令。

同月,D-Link DWR-932B LTE路由器中发现多个后门。研究人员发现了D-Link无线路由器会默认使用两个硬编码的秘密账户(admin:admin and root:1234)运行Telnet和SSH服务。攻击者可以轻松地用shell命令行接入这些脆弱的路由器,然后就可以进行中间人攻击,监控网络流量,运行恶意脚本更改路由器设置。而如果将字符串”HELODBG”作为硬编码命令发送到UDP端口39889就可以利用这个后门,就可以在不经过任何验证的情况下在路由器上启动一个root权限的Telnet。

2016年12月,Netgear多个型号路由器曝远程任意命令注入漏洞,攻击者只需要构造网站,在网址结尾加上命令,在未授权得情况下就能以Root权限执行任意命令。

今年2月,大量Netgear路由器被曝存在密码绕过漏洞。用户试图访问路由器的web控制界面时,需要进行身份验证;如果身份验证被取消,同时密码恢复功能被禁用了,用户就会被重定向到一个页面,而这个页面会暴露密码恢复的token。用户提供了这个token就能获取到路由器管理员密码。

今年4月,数十款Linksys路由器曝高危漏洞,可致远程命令执行及敏感信息泄露。攻击者就可以在路由器操作系统上以root权限注入执行命令。黑客可能会创建后门账号以长期控制路由器。后门账号不会在web管理界面显示,并且不能被管理员账号删除。

TheMoon僵尸程序的攻击流量

尽管以上提到的案例不多,但这些厂商在路由器市场占到了半壁江山,尤其是Netgear与Linksys,根据NPD Monthly的数据显示,NETGEAR与LINKSYS这两家美国老牌路由器厂商成为了该市场的第一与第二名,并且市场份额超过了60%。而来自亚太地区的D-LINK等厂商则分别领导美国市场的40%份额。

入侵路由器后,黑客便控制了受害者的上网入口,之后能够进行的攻击超乎想象。有些黑客会修改DNS,将它改为恶意DNS,从而可以监控流量,植入广告,或者进行恶意重定向,诱导用户下载恶意软件;而有一些黑客则会利用路由器进行更大规模的DDoS攻击,比如TheMoon僵尸程序、针对IoT设备的僵尸网络Mirai。但实际上,黑客能做的远不止这些,如果要进行针对性的攻击,黑客在内网中进一步进行渗透。

Mirai僵尸网络影响了全球范围内的大量主机

而直到现在,仍然有大量的路由器尚未修复漏洞,小编简单用shodan的搜索结果进行测试,在20个搜索结果中就找到了一台存在漏洞的Netgear R7000路由器,要注意这是前两页的搜索结果,可想而知肯定有大量黑客都已经进行过对这些结果的检查。

之所以网络中仍然存在大量漏洞的路由原因就是厂商无法进行及时的推送,路由器虽然是网络的入口,却没有一种完善的固件更新机制能让用户一直使用到最新的固件,这可能是厂商亟需解决的问题。

3

攻击路由新思路

虽然上面提到的漏洞危害巨大,但有一个必要的条件是,路由器端口必须暴露在公网,或者攻击者需要身处同一网络环境中,也就是说,黑客需要通过一些方法进入相同的无线网络,要达到这一目的,除了寄希望于前文提到的无线协议漏洞,还有一些新奇的思路:

3.1

WiFi万能钥匙

前几年比较火的WiFi万能钥匙就可以用来进行攻击,这款应用会上传你所输入的路由器密码,开放给他人使用。如果密码未知,万能钥匙还会提供一个弱口令字典,收录了比较常用的密码,帮助用户破解无线网络。虽然工具的原本的目的是让大家能够共享网络,但攻击者可以利用这款应用成功进入他人网络进行进一步攻击,针对不同的路由器黑客可以使用不同的攻击方法,甚至借用前文所说的一些针对特定路由器的漏洞展开攻击。

3.2

Switcher病毒

去年12月,曾有一款劫持路由器DNS设置的“Switcher”病毒,也是选择了新的感染途径,它会先感染手机,然后利用软件中内置的弱口令字典爆破路由器web界面,成功后,它会设置恶意DNS作为主DNS服务器,从而劫持用户的整个网络。

3.3

Fluxion

去年年底我们还曾介绍过一款名为Fluxion的工具,它的入侵途径不是网线,而是使用路由器的用户。

Fluxion使用WPA握手功能来控制登录页面的行为和控制整个脚本的行为。它会阻塞原始网络并创建一个具有相同名称的克隆网络,引起断开连接后的用户加入,并且提供了一个虚假的路由器重新启动或加载固件,并请求网络密码继续登录的页面。当用户提供密码后,攻击者就可以借用密码入侵网络,同样的,攻击者在进入网络后可以使用各种针对路由器的漏洞展开进一步的攻击。

用户看到的假页面

4

防范

对于针对无线协议漏洞的防范,相信大家都比较熟悉:在设置路由器时应该选择WPA/WPA2的加密方式,还要选取足够复杂的无限密码;为了防止PIN攻击,还需要关闭路由中的WPS功能。

而对于那些利用路由器后门的攻击,可以从几方面防范:

一是检查路由端口转发配置。因为事实上家用路由很少会暴露在公网环境下,尤其是国内的运营商还会封锁部分端口。因此,如果黑客想要从路由器的Web管理页面入侵,那路由器得要已经暴露在公网上。

二是对路由器的安全功能进行配置,比如为路由器的Web管理页面设置密码,另外就是绑定MAC地址。如果没有进行端口转发的配置,黑客则需要进入Wifi网络进行入侵,无论是上面提到的WiFi万能钥匙还是其他入侵手法都无法避开MAC地址的检查。

文章转载自FreeBuf.COM,转载已经授权

浅谈家用路由器安全变迁相关推荐

  1. 浅谈 MVC、MVP 和 MVVM 架构模式

    2019独角兽企业重金招聘Python工程师标准>>> 谈谈 MVX 中的 Model 谈谈 MVX 中的 View 谈谈 MVX 中的 Controller 浅谈 MVC.MVP ...

  2. 【转载】浅谈思维教育 朱云龙

    浅谈今日学堂的思维教育(上):思维是什么? 思维教育一直是今日学堂的教学重点.也是我们区别于一般学校的关键所在.很多家长和教育界人士想把这块"宝藏"挖到手.但无论是研究山长的教育理 ...

  3. 论文《浅谈中国古代建筑艺术》

    论文<浅谈中国古代建筑艺术> 2010年06月06日 中国古代建筑是中华民族优秀文化传统的重要组成部分.在中国社会发展的每个时期的建筑风格,都与其时代特点和文化科学技术的革新与进步密切相关 ...

  4. 浅谈语意网Semantic Web词网与知识本体

    http://www.bipaq.com/news/newsDetail.asp?id=942 语意网,词网与知识本体: 浅谈未来网路上的知识运筹 中央研究院语言学研究所研究员 黄居仁 [摘要]:本文 ...

  5. 浅谈MySQL存储引擎-InnoDBMyISAM

    浅谈MySQL存储引擎-InnoDB&MyISAM 存储引擎在MySQL的逻辑架构中位于第三层,负责MySQL中的数据的存储和提取.MySQL存储引擎有很多,不同的存储引擎保存数据和索引的方式 ...

  6. 【大话设计模式】——浅谈设计模式基础

    初学设计模式给我最大的感受是:人类真是伟大啊!单单是设计模式的基础课程就让我感受到了强烈的生活气息. 个人感觉<大话设计模式>这本书写的真好.让貌似非常晦涩难懂的设计模式变的生活化.趣味化 ...

  7. 学校计算机机房好处,浅谈学校计算机机房维护

    浅谈学校计算机机房维护    现在的学校机房都配置了数量较多的计算机,而且机房的使用非常频繁.对于怎样维护好计算机,特别是计算机软件系统,对广大计算机教师来说是一个很重要且非常现实的问题.下面就本人在 ...

  8. java 中的单元测试_浅谈Java 中的单元测试

    单元测试编写 Junit 单元测试框架 对于Java语言而言,其单元测试框架,有Junit和TestNG这两种, 下面是一个典型的JUnit测试类的结构 package com.example.dem ...

  9. mybatis与php,浅谈mybatis中的#和$的区别

    浅谈mybatis中的#和$的区别 发布于 2016-07-30 11:14:47 | 236 次阅读 | 评论: 0 | 来源: 网友投递 MyBatis 基于Java的持久层框架MyBatis 本 ...

最新文章

  1. 11旋转编码器原理_科普小知识:八分钟了解电机编码器!
  2. 造一个鸿蒙,仅有华为还不够
  3. asp.net mvc 身份验证中返回绝对路径的ReturnUrl
  4. PPT 下载 | 神策数据张涛:企业服务客户全生命周期运营三步曲客情诊断 解决方案库...
  5. framework调试
  6. sitecore系列教程之目标功能有什么新意?
  7. 7-20 表达式转换 (25 分)(代码详解+题目分析)
  8. 【SDOI2017】硬币游戏【KMP】【概率期望】【高斯消元】
  9. oracle system用户创建job 其他用户,oracle创建表空间、用户和表以及sys和system的区别...
  10. mysql java文件导入导出_MySQL文件导出和导入
  11. Linux下搭建DHCP服务器 【2020.12.01】
  12. Git版本管理工具常用命令整理和说明
  13. 李彦宏被泼水,是“多数人的暴力”还是“群众的宣泄”
  14. 小马哥linux网络培训,linux基础入门
  15. 文献翻译——基于关联规则挖掘识别的鸡源大肠杆菌共有多重耐药模式(上)
  16. NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
  17. 星起航:短视频营销之场景化
  18. 哈佛架构、冯诺依曼架构、指令集
  19. RK3399平台开发系列讲解(高速设备驱动篇)6.45、蓝牙系统架构
  20. AD PCB设计笔记

热门文章

  1. MAC上搭建Windows Phone 8 开发环境——VMware Fusion下Win8 “无法安装Hyper-V, 某个虚拟机监控程序正在运行”问题解决的办法
  2. 将一段压缩后的字符串解压,并且顺序输出
  3. 查看docker 版本号
  4. 查看sqlserver数据库中IO执行情况
  5. vue 变量定义 对象_详解Vue 全局变量,局部变量
  6. 【转】HP大中华区总裁孙振耀退休十五天后九大感言
  7. [英语阅读]巨星迈克尔·杰克逊睡梦中辞世终年50岁
  8. 连接上CMCC但打不开网页||连接上路由打不开网页||IE左下角显示[正在连接站点127.0.0.0]的解决方法
  9. 成大事业、大学问者三境界
  10. Java实现QQ仿写(一)