freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

路由器漏洞复现分析第四弹:CVE-2018-7034
2018-03-26 10:00:39

漏洞信息

路由器漏洞复现分析第4弹:CVE-2018-7034

本系列中的前三篇文章参考如下:

通过CVE-2017-17215学习路由器漏洞分析,从入坑到放弃

路由器漏洞复现分析第二弹:CNVD-2018-01084

路由器漏洞复现分析第三弹:DVRF INTRO题目分析

TrendNET路由器权限绕过漏洞,攻击者通过设置$AUTHORIZED_GROUP >= 1绕过权限验证

漏洞参考信息:https://blogs.securiteam.com/index.php/archives/3627

受影响的路由器版本

TEW-751DR – v1.03B03

TEW-752DRU – v1.03B01

通过zoomeye搜索,能找到508台设备,主要用户分布于美国和马其顿.

路由器漏洞复现分析第4弹:CVE-2018-7034

使用curl -d "SERVICES=DEVICE.ACCOUNT%0aAUTHORIZED_GROUP=1" http://[IP]/getcfg.php 命令可以直接获取到路由器的用户名和密码

路由器漏洞复现分析第4弹:CVE-2018-7034

漏洞分析

本次分析使用固件的是TEW751DR_FW103B03.

Binwalk解包后找到getcfg.php,位置如图

当AUTHORIZED_GROUP>=0的时候,getcfg就正常执行代码功能.

路由器漏洞复现分析第4弹:CVE-2018-7034

POC中传入的参数为SERVICES=DEVICE.ACCOUNT

$file最后可以拼接为/htdocs/webinc/getcfg/DEVICE.ACCOUNT.xml.php

打开这个文件,可以看到它能读取设备的各种信息包括用户名和密码 

路由器漏洞复现分析第4弹:CVE-2018-7034

造成验证漏洞的函数在htdoc/cgibin的 phpcgi_main函数,当cgibin_parse_request函数处理http请求的时候,sub_405AC0函数会获取AUTHORIZED_GROUP并存下来, 之后再调用sess_validate()作验证,因此可以非授权用户可以直接给AUTHORIZED_GROUP赋值来绕过验证

路由器漏洞复现分析第4弹:CVE-2018-7034

路由器漏洞复现分析第4弹:CVE-2018-7034

使用如下脚本调试存在漏洞的cgibin:

chroot . ./qemu  -0"phpcgi" -E REQUEST_METHOD="POST"  -EREQUEST_URI="getcfg?AUTHORIZED_GROUP=1" -E CONTENT_LENGTH=18 -ECONTENT_TYPE="application/x-www-form-urlencoded" -g $PORT -EREMOTE_ADDR="127.0.0.1"   -strace ./htdocs/cgibin "kkkkkkkkkkkk"

cgibin_parse_request中的parse_uri函数会调用sub_405AC0,此处从request_uri中取”?”后的字符,作为参数传入sub_403864

路由器漏洞复现分析第4弹:CVE-2018-7034

sub_405AC0调用后可以看已经把”AUTHORIZED_GROUP=1”存入全局变量

路由器漏洞复现分析第4弹:CVE-2018-7034

再继续执行到sess_validate()执行完毕

路由器漏洞复现分析第4弹:CVE-2018-7034

后面再将得到的这个值写入/var/run/xmldb_sock

路由器漏洞复现分析第4弹:CVE-2018-7034

*本文作者:kczwa1,转载请注明来自FreeBuf.COM

# 路由器漏洞 # CVE-2018-7034
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者