解密古老又通杀的路由器攻击手法:从嗅探PPPoE到隐蔽性后门

随着宽带用户爆发性增长,PPPoE被带进了各家各户,而它的安全缺陷却一直没有受到足够关注,直至今日成为了一种低成本的通杀型路由器攻击手段。

PPPoE(Point-to-Point Protocol Over Ethernet),是将点对点协议(PPP)封装在以太网(Ethernet)框架中的一种网络隧道协议。其由UUNET、Redback Networks和RouterWare所开发的,并于1999年发表于RFC 2516说明中。

近二十年过去了,PPPoE被广泛应用在网络接入场景,较为有名的ADSL便使用了PPPoE协议,其成为了几乎所有家用路由器的默认功能之一。随着宽带用户爆发性增长,PPPoE被带进了各家各户,然而它所存在的安全缺陷却一直没受到足够的关注,直达今日成为了一种对路由器攻击成本极低、效果极好的攻击方式。

以下是本文讨论的重点——“古老的漏洞、上亿级受影响设备、极低的攻击门槛、没有完善的修复方案,危害极大的攻击场景—从获取宽带密码到隐蔽性后门”

极低的攻击门槛

我们可以轻易的在互联网上搜索到各种使用Linux、Windows平台上的工具来捕获PPPoE密码的文章,按照描述相信各位都可以在短时间内复现。

由于这些文章多是用于验证性质的,在考虑实际的攻击场景时往往会陷入误区认为需要物理接触的同时动静很大。于是我在自己的Android手机上移植了一个PPPoE嗅探器,在开启程序后几秒钟内便可以获得账号信息,参见以下demo:

PPPoE工作原理及缺陷

PPPoE协议的工作流程包含两个阶段—发现阶段和会话阶段,见以下两图。

在发现阶段,Client通过发送广播PADI寻找PPPoE Server。攻击者可通过自建PPPoE Server来接收PADI请求并与Client建立会话。进入会话阶段后,通过在LCP协商时要求使用PAP(一种明文传输的认证方式),随后利用Wireshark等工具就能嗅探到明文传输的PAP账号及密码,如下图所示。

没有完善的修复方案

缺陷的关键在于Client广播寻找Server时遭受钓鱼,并被要求通过明文认证方式传递账号密码。

协议中的Client与Server分别对应到用户得路由器设备和运营商的认证设备。很容易想到,只要路由器阉割掉PAP认证便能抵御该攻击。不过任何一个商业产品都是以保障可用性为首要条件,目前还有许多的使用场景(如小运营商或校园宽带)只能使用PAP认证,所以要求商业产品减少其使用范围的方案是不可能的。

宽带账号一键学习功能

相比于对安全缺陷的无奈,路由器厂商们反而借此解决了一个痛点——“路由器一键换机功能”。在更换新路由器时,许多用户会经历“找回密码”的流程,需要呼叫运营商进行重置或者上门帮助,这带来许多不变。而利用PPPoE的缺陷正好就能解决“找回宽带账号”这一问题。他们通过在路由器中内置嗅探器,只需将旧路由器与之连接就能自动学习,非常方便。

危险的攻击场景

通过前面的内容,我们大致了解该攻击的原理及攻击条件。该攻击需要与目标设备保持二层网络可达(如通过网线直接连接)。当你在朋友家可以接触到路由器时,你可以像演示demo中那样直接进行连接捕获账号(好吧,这好像只有娱乐性没有其他价值)。另外呢,在小运营商或校园网络这样的大型二层网络里边,可以进行批量的钓鱼。有些意思,但还有其他危害大些的攻击场景吗?

前些年,许多家庭无线路由器都因为默认密码的问题可以被轻易黑掉。比如到别人家串门,我往往会跑到路由器旁按WPS按钮来自助连上无线网,接着通常默认密码就能进后台了。如今的路由器都做了改进,初始化时就要求设置具有一定强度的密码,这样看上去只要密码不被泄露就很安全了。

不久前一次出差的经历,让突然我发现了一个有趣的攻击场景。

为了节省经费我们选择了一家民宿就住。当晚的无线网络不太好,自然就想进后台查看一番而后台密码拦住了我。我想到要是知道宽带账号不就可以无所顾虑的重置路由器。我跑到路由器旁,嗅探到了PPPoE账号,重置路由器并迅速将原有配置进行还原(宽带、无线热点等),整个过程大概用了大概2分钟。值得注意的是,由于还原后的网络通讯、无线热点配置都与之前无异,我的几位同事甚至没有发现明显异常,但我已经可以进入路由器后台啦!

我把这种方式称之为“路由器无感知重置绕过法”,通杀所有家用路由器。拿到后台权限后,我除了可以篡改DNS外,还可以开启远程Web管理、绑定动态域名解析弄成一个的远控后门。

我查阅了《2017年民宿产业发展研究报告》,报告指出2017年民宿客栈总量已达20万。对于规模较小的民宿而言,价格低廉实施容易的家庭宽带几乎是最主流的入网方式,同时路由器会被放置在客人可接触的区域。这几乎完美匹配了PPPoE嗅探的攻击场景,每一位入住用户都有潜在可能对路由器实施无感知重置绕过攻击植入后门,也都有潜在可能被之前用户植入的后门所监听流量。我将整个攻击流程总结为下图:

缓解方案

完善的修复办法其实是禁用PAP认证或更新替换PPPoE,这种涉及到产业上下游不同行业的方案按照惯例是行不通的。在过去几个月,我以“利用Android手机窃取路由器宽带账号”为题做了几次演讲(如FIT HackDemo),希望有一点对该问题的关注,但效果不是很好。

后来,我想到一个混淆方案来缓解这种重置绕过攻击:宽带密码的格式常见有身份证末几位、固定数字编号或者其他乱码。在用户填写账号后,我们可以据此生成一批相似度高的字串,加上内置常见格式字串构成混淆字典。在PAP认证时,随机发送混淆字串进行迷惑。从理论上讲,在可接受等待时间内尽可能多的发送出混淆账号可以很大程度上缓解该重置绕过攻击。(未实际测试,厂商的朋友请参考、指点可行性)

后记

虽然该漏洞的发现与利用都很“陈旧”,但希望能通过一些小小的推动来帮助早日达到“解决”的状态。

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-03-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

关于企业员工存在的安全风险的一些看法

人是安全管理中最大的安全隐患。不记得这句话从哪里看到的了。不过我们经常会看到类似于从一个司机邮箱渗透到企业重要系统的案例(参考资料1),越来越热的apt攻击也...

221100
来自专栏程序人生

为什么你要懂点信息安全(续一)

昨天的文章可能让很多新读者读得莫名其妙,程序君在此抱歉。我应该使用这样的标题:『[连载] 途客们的旅行梦 - 创新工场初印象』,就不会让你看得摸不着头脑了,下次...

36470
来自专栏安智客

物联网设备六种攻击面及其应对

Gartner的最新报告指出,近20%的企业机构在过去三年内至少观察到一次基于物联网的攻击。为了应对这些威胁,Gartner预测全球物联网安全支出将在2018年...

16520
来自专栏FreeBuf

百度软件中心版putty被曝恶意捆绑软件

近日,微步社区出现一则新情报,名为RTFM的用户发表文章《被污染的百度下载,被捆绑的Putty,为什么受伤的总是程序员?!》,引来网友热议。

15740
来自专栏大数据文摘

深度解析12306数据泄露之谜

32420
来自专栏SAP最佳业务实践

SAP最佳业务实践:FI–现金管理(160)-27现金集中-FF.D生成付款请求

4.8.2 FF.D生成付款请求 通过集中建议创建付款通知后,需要从付款通知中创建相应付款请求。付款请求在下一步通过付款程序读取并用于执行付款和创建付款文件。 ...

31470
来自专栏小石不识月

做这 12 件简单的小事,能让你更安全地上网

勒索软件(Ransomware)攻击、身份盗窃,以及在线信用卡欺诈,这些都可能是具有毁灭性的,然而它们只是众多类型的恶意软件与网络攻击中的冰山一角。如果你从来没...

24110
来自专栏工科狗和生物喵

总算搞定了域名(好吧,我一开始忘了)

正文之前 我是从大二下学期开始入程序员这个坑的。那个时候恰逢遇到了我计算机方面的启蒙学长,然后他带着我走了一段很长的路,其中就包括网站建设这个方面。我前端后端都...

754130
来自专栏小文博客

https站点无法接入百度联盟?—— 附解决方案

做网站这么久,从一开始的兴趣,到现在网站越来越大,流量越来越多,服务器开销也是越来越大。在不影响用户体验的情况下,适当的将流量变现,不仅可以节省服务器费用,有时...

515130
来自专栏漏斗社区

看!我手里有个Email收集神器

众所周知,在工作中,大家用到最多的便是Email来传输工作内容,因此,像一些VPN信息、服务器账号密码、公司人员清单等敏感数据,均会通过Email进行传输,并且...

21430

扫码关注云+社区

领取腾讯云代金券