专栏首页Seebug漏洞平台GPON Home Gateway 远程命令执行漏洞分析
原创

GPON Home Gateway 远程命令执行漏洞分析

作者:dawu@知道创宇404实验室

日期:2018/05/04

0x00 前言

2018/04/30,V**Mentor公布了 GPON 路由器的高危漏洞:验证绕过漏洞(CVE-2018-10561)和命令注入漏洞(CVE-2018-10562)。将这两个漏洞结合,只需要发送一个请求,就可以在 GPON路由器 上执行任意命令。本文在复现该漏洞的基础上,分析了相关漏洞形成的原因。

0x01 漏洞文件定位

在有回显的远程命令执行漏洞中,使用 ps 命令往往能够很好地定位到漏洞点。

可以很明显地看到,进程14650执行了我们的命令,找到上一个进程14649 root /bin/WebMgr -p 20 -s 0。因为 pid 是递增的,所以很可能是 /bin/WebMgr 这个文件存在漏洞。

0x02 漏洞分析

在获取到某设备的 /bin/WebMgr/lib/ 文件后,我们开始分析。

2.1 分析前

分析前研究了这个漏洞的利用,发现了该web服务器是 GoAhead-webs

根据 Server字段判断,该web服务器的版本 <= GoAhead 2.5.0GoAhead 3.x 版本的 Server 默认为 GoAhead-http

在尝试 https://www.seebug.org/search/?keywords=goahead&page=2已有的 GoAhead 2.x 系列的漏洞无果,推测该web服务器可能基于 GoAhead2.5.0版本进行了二次开发。

2.2 验证绕过漏洞

ida 打开 WebMgr 后发现函数流程并不完整,所以使用了简单粗暴的方式,直接搜索 images/,定位到函数 webLoginCheck

但是该函数在 WebMgr 中并没有被调用,故这里我们结合漏洞作出合理猜测:

当该函数 return 0时表示不需要验证

结合函数逻辑,我们可以知道:当 url 中含有 style/,script/时也可以绕过验证。

2.3 命令执行漏洞

由于之前读过 GoAhead 2.1.8的源码,所以知道 WebMgr 中定义 cgi 的逻辑为:

先通过 websFormDefine 定义不同的cgi接口要调用的函数,然后再通过 websUrlHandlerDefine 加载 websFormHandler

举个例子:

websFormDefine((int)"FLoidForm", (int)sub_1C918);
websUrlHandlerDefine("/GponForm", 0, 0, &websFormHandler, 0);

这意味着当 url 中的 path/GponForm 开头时,会使用 websFormHandler 去处理,然后 websFormHandler 会寻找通过 websFormDefine() 定义的各种路径,然后调用对应的函数。 在这里,就是访问 /GponForm/FloidForm 时会调用 sub_1C918 完成相关操作。

exp 中,通过对 /GponForm/diag_Form 发送请求最终实现了命令执行。根据上文,可以找到 /GponForm/diag_Form 调用了函数 sub_1A390,结合 system() 的调用流程,我们可以知道 sub_1A390 调用了 sub_1A684,最终通过 system() 执行命令。

按照流程分析入下图:

sub_1A684中, 主要还是判断传入的 dest_host 是否合法。如果不合法或者无法解析,将会进行如下处理:

这也可以从我们第一张图:执行 ps 命令的结果中得到验证。

0x03 影响范围

根据 ZoomEye网络空间搜索引擎 的探测结果,一共有 2141183 台路由器可能受该漏洞影响。

相关国家分布如图所示:

0x04 结语

在分析漏洞后,我们尝试寻找该类路由器所属的厂商。在 /web/images/下,我们找到了多个国内外厂商的 logo,但是未有其它证据证明这些路由器属于这些厂商。

在查阅其它资料后,我们更倾向于这些路由器是 OEM 或者 ODM 出来的产品。因为很难找到生产厂商,所以修复工作将会更加困难。由于该漏洞影响范围广,利用简单,危害巨大,各大僵尸网络家族很可能会将该漏洞列入其利用库,需要警惕。

0x05 参考链接

  1. V**Mentor公布的 GPON 路由器的漏洞undefinedhttps://www.V**mentor.com/blog/critical-vulnerability-gpon-router/
  2. Seebug漏洞平台 收录该漏洞undefinedhttps://www.seebug.org/vuldb/ssvid-97258
  3. ZoomEye网络空间搜索引擎 搜索结果undefinedhttps://www.zoomeye.org/searchResult?q=%22GPON%20Home%20Gateway%22

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Discuz!X 3.4 任意文件删除漏洞分析

    作者:LoRexxar'@知道创宇404实验室 日期:2017年9月30日 0x01 简 述 Discuz!X 社区软件,是一个采用 PHP 和 MySQL...

    Seebug漏洞平台
  • Sebug 大牛支招之我是如何在Sebug中杀入前10的?

    大家好我是koshell,ID:k0sh1, 在之前的文章中我分享了在web漏洞挖掘中的一些小技巧,这里要补充一下。 注入其实只是众多web入侵手段中的一种,脱...

    Seebug漏洞平台
  • Discuz!X ≤3.4 任意文件删除漏洞分析

    Discuz!X社区软件,是一个采用 PHP 和 MySQL 等其他多种数据库构建的性能优异、功能全面、安全稳定的社区论坛平台。

    Seebug漏洞平台
  • CVE-2019-11815:Linux内核竞争条件漏洞导致远程代码执行

    运行了Linux发行版的计算机设备,如果内核版本小于5.0.8的话,将有可能受到一个内核竞争条件漏洞的影响,并导致系统无法抵御远程网络攻击。

    FB客服
  • 一个漏洞能潜伏多少年?细数那些有名的高龄安全漏洞

    在评估漏洞影响时,人们关注的往往是漏洞风险,而实际上,漏洞潜伏的时间也是一个非常重要的因素。时间跨度大,也就意味着在此期间使用这些含有漏洞的软件的设备更多,影响...

    FB客服
  • 企业安全建设之漏洞管理与运营

    对于企业内部的安全工程师来说,对漏洞一直又爱又怕,爱在,漏洞的发现与验证实现的过程,充满满满的成就感;怕在,不断的新系统上线,老系统版本更新迭代,造就一批批的漏...

    FB客服
  • 针对《网络安全漏洞管理规定(征求意见稿)》的一些看法:利大于弊

    6月18日晚间,工信部一纸《网络安全漏洞管理规定 (征求意见稿)》(以下简称规定)很快引爆了安全圈……FreeBuf上一位作者及时发布了一篇针对该意见稿的解读文...

    FB客服
  • Discuz!X ≤3.4 任意文件删除漏洞分析

    Discuz!X社区软件,是一个采用 PHP 和 MySQL 等其他多种数据库构建的性能优异、功能全面、安全稳定的社区论坛平台。

    Seebug漏洞平台
  • 个人渗透测试思路(cheatsheets)及技巧全汇总

    大多数渗透人员在对一个系统做渗透测试的时候,最大的痛点是无法获得一个全面的测试思路和流程,以至于遗漏真正存在的漏洞或在不存在漏洞的点上浪费太多时间。

    Jayway
  • 四种简单的漏洞获取webshell解析

        很多新手对一些漏洞还有很多不懂,什么情况下用什么漏洞,什么情况下不能用这个漏洞,我自己的见解也不太深。正因如此,我才会想到一些菜鸟才会想到的问题,然后去...

    phith0n

扫码关注云+社区

领取腾讯云代金券