导语:2018/04/30,vpnMentor公布了 GPON 路由器的高危漏洞:验证绕过漏洞(CVE-2018-10561)和命令注入漏洞(CVE-2018-10562)。将这两个漏洞结合,只需要发送一个请求,就可以在 GPON路由器 上执行任意命令。

0x00 前言

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

0x01 漏洞文件定位

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

0505-1.png

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

0x02 漏洞分析

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

2.1 分析前

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

0505-2.png

根据 Server字段判断,该web服务器的版本 <= GoAhead 2.5.0(GoAhead 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

0505-3.png

0505-4.png

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

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

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

0505-5.png

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() 执行命令。

0505-6.png

按照流程分析入下图:

0505-7.png

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

0505-8.png

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

0505-9.png

0x03 影响范围

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

0505-10.png

相关国家分布如图所示:

0505-11.png

0x04 结语

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

0505-12.png

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

0x05 参考链接

1.vpnMentor公布的 GPON 路由器的漏洞
https://www.vpnmentor.com/blog/critical-vulnerability-gpon-router/

2.Seebug漏洞平台 收录该漏洞
https://www.seebug.org/vuldb/ssvid-97258

3.ZoomEye网络空间搜索引擎 搜索结果
https://www.zoomeye.org/searchResult?q=%22GPON%20Home%20Gateway%22

源链接

Hacking more

...