芯机智

 找回密码
 立即注册

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
查看: 1455|回复: 0

[转载]破解了十款路由器之后,我们有话要说

[复制链接]

534

主题

624

帖子

6282

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6282
发表于 2017-10-18 09:31:02 | 显示全部楼层 |阅读模式
中国海洋大学信息安全实验室团队在 2017 极棒年中赛上一举攻破十款知名路由器,斩获十万元奖金,并成功入选极棒名人堂。
作为一个国内高校信息安全领域的年轻团队、后起之秀,他们出战极棒的团队由信息科学与工程学院计算机科学与技术系的曲海鹏老师、2013 级计算机信息保密专业赵汉青同学与 2014 级计算机科学与技术专业的孙磊同学共同组成。
为了备战极棒,在两个月内他们陆续研究发现了市面上的十几款路由器的安全问题。比赛现场演示了通过 DNS 劫持让访问的指定网站跳转称其他地址,并进行了 DoS 攻击让网站无法访问。
现场视频


十款路由器安全研究展示(中国海洋大学团队)_腾讯视频
视频







本文由中国海洋大学信息安全实验室的孙磊同学所写,欢迎大家在评论区留言、交流。
路由器作为家庭网络的中心,对家庭网络整体的作用不言而喻。如果路由器被攻击者攻击,拿到路由器的 root 权限,则对家庭网络的安全产生巨大影响。
这次比赛选择路由器作为研究对象首先是考虑的路由器在家庭网络中的巨大作用,发现路由器中的未知漏洞以帮助广大的用户在更加安全的网络中上网,提示广大网民注意路由器的安全,防止被攻击者攻击。
路由器产生了几十年,其代码的安全性并没有像 PC 机,安卓手机发展的那么迅速,一些漏洞利用缓解机制比如 NX,alsr,stackcanary 都没有在路由器中大范围启用,路由器中如果存在漏洞的话,利用将变的十分简单。
这次比赛选择路由器作为研究对象的原因也包括提醒众多的路由器厂商注意路由器的安全性问题,开启路由器中的一些 mitigation 机制以增加恶意攻击者的攻击难度。
比赛前期大致用了两个多月搞定这些路由器。主要的工作包括选购设备,提取固件或从路由器官网上下载固件,解包固件,分析其中的程序,查找程序的漏洞,编写漏洞利用程序。在做这些工作的同时也要记录好各个品牌型号的具体进展。
1)固件获取的姿势包括从路由器的官网下载,用 uart 连接到路由器单独下载某个文件。比如网件的路由器官网提供固件下载,华硕的官网也提供下载固件,也提供源码下载。
2)攻击面最主要的是路由器端口提供的服务。包括 web 服务,dns 服务,dlna,telnet 服务,还有路由器厂商自己实现的服务等等。
Web 服务(80 端口)出现的问题:web server 由厂商自己写,不使用开源稳定的 server,厂商自己编写的 server 最容易出现的问题包括:认证绕过,缓冲区溢出,命令注入,后门等等。比如 tenda 路由器 80 端口的 web 服务器是 tenda 自己写的,其中就包含缓冲区溢出。
其他端口提供的服务漏洞也与 80 端口类似。
3)路由器漏洞挖掘大致分为几个层面。
第一,看看开启的服务程序是不是开源软件,如果是开源软件,并且版本不是最新版本,那么看看当前的版本是不是有 cve 漏洞。
第二,路由器的配置是不是有漏洞,包括 telnetd 是不是开机默认关闭,root 用户是否存在弱口令。
第三,逆向路由器的服务程序,使用 IDA 分析。快速寻找漏洞的方法是定位一些容易出现问题的函数,包括 system,strcpy,sprintf,strncpy,memcpy,然后看一看哪里引用了这些函数,看看这些地方是不是有命令注入,栈溢出。
4)漏洞利用相比 CTF 中的 pwn 题的利用比较简单,因为路由器的缓解机制大部分没有开启,部分开启,alsr 大部分只是开到了 1,这样堆地址是不变的。
路由器中的漏洞基本上是栈溢出,只要覆盖返回地址,与其不同的是堆喷射是一个比较好用的技巧,只需要在堆上布满大量的 shellcode,然后覆盖返回地址到堆的位置即可。其他高级的利用技巧就是Return Oriented Programming。tenda 路由器漏洞利用程序的使用是 ROP 技术。
四 安全建议
厂商:
1. 不要把服务端口开放在公网,如果服务有漏洞,那么将给攻击者带来攻击面
2. 尽量使用开源稳定的软件,不要自己实现软件,因为很有可能出现问题,并且如果使用开源软件,一定要更新到最新版本
3. 使用多用户,web 服务程序使用一个用户,dns 使用一个用户,不要都使用 root 用户运行所有的程序,这样如果攻击者攻进了路由器,最多只是获得某一个用户的权限,不会对路由器的整体安全带来危害
4. 路由器上开启缓解机制,比如 NX,ALSR,stack canary
5. 为路由器 root 用户设置一个难以破解密码
用户:
1. 尽量买价格高,品牌比较著名的路由器
2. 路由器的默认密码不要设置的太简单
3. 经常更新路由器的固件
极棒嘉年华选手招募现已启动
在终极的分析中,一切知识都是历史;在抽象的意义下,一切科学都是数学;在理性的基础上,所有的判断都是统计。——C.R. Rao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|芯机智 ( 京ICP备18048803号 )

GMT+8, 2019-10-15 07:06 , Processed in 0.177717 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表